1.3.15 Distinct Lines
This commit is contained in:
@ -9,7 +9,7 @@ import * as promiseLinesHelper from './promiseLinesHelper';
|
||||
// your extension is activated the very first time the command is executed
|
||||
export function activate(context: vscode.ExtensionContext) {
|
||||
|
||||
const openCommand = 'open-in-new-window.open';
|
||||
const openCommand = 'open-in-new-window.open';
|
||||
|
||||
// Use the console to output diagnostic information (console.log) and errors (console.error)
|
||||
// This line of code will only be executed once when your extension is activated
|
||||
@ -43,6 +43,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
vscode.commands.registerCommand('replaceLinesHelper.addVBComment', replaceLinesHelper.addVBComment),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.convertToRegularExpression', replaceLinesHelper.convertToRegularExpression),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.cutEachLine', replaceLinesHelper.cutEachLine),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.distinctLines', replaceLinesHelper.distinctLines),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.expandSql', replaceLinesHelper.expandSql),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.listToListFamily', replaceLinesHelper.listToListFamily),
|
||||
vscode.commands.registerCommand('replaceLinesHelper.listToListWrappedComma', replaceLinesHelper.listToListWrappedComma),
|
||||
|
@ -8,6 +8,7 @@ enum LinesAction {
|
||||
addVBComment,
|
||||
convertToRegularExpression,
|
||||
cutEachLine,
|
||||
distinctLines,
|
||||
expandSql,
|
||||
listToListFamily,
|
||||
listToListWrappedComma,
|
||||
@ -365,6 +366,15 @@ function cutEachLineLogic(lines: string[]): void {
|
||||
removeBlanks(lines);
|
||||
}
|
||||
|
||||
function distinctLinesLogic(lines: string[]): void {
|
||||
for (let i = 0; i < lines.length; ++i) {
|
||||
if (lines[i].trim() === '' || lines.indexOf(lines[i]) !== lines.lastIndexOf(lines[i])) {
|
||||
lines.splice(i, 1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function returnLines(textEditor: vscode.TextEditor, startLine: number, endLine: number, lines: string[]) {
|
||||
return textEditor.edit(editBuilder => {
|
||||
const range = new vscode.Range(startLine, 0, endLine, textEditor.document.lineAt(endLine).text.length);
|
||||
@ -390,6 +400,7 @@ function linesFunction(linesAction: LinesAction): Thenable<boolean> | undefined
|
||||
case LinesAction.addVBComment: { addVBCommentLogic(lines); break; }
|
||||
case LinesAction.convertToRegularExpression: { lines = convertToRegularExpressionLogic(lines); break; }
|
||||
case LinesAction.cutEachLine: { cutEachLineLogic(lines); break; }
|
||||
case LinesAction.distinctLines: { distinctLinesLogic(lines); break; }
|
||||
case LinesAction.expandSql: { expandSqlLogic(lines); break; }
|
||||
case LinesAction.listToListFamily: { listToListFamilyLogic(lines); break; }
|
||||
case LinesAction.listToListWrappedComma: { listToListWrappedCommaLogic(lines); break; }
|
||||
@ -415,6 +426,7 @@ export const addCSharpComment = () => linesFunction(LinesAction.addCSharpComment
|
||||
export const addVBComment = () => linesFunction(LinesAction.addVBComment);
|
||||
export const convertToRegularExpression = () => linesFunction(LinesAction.convertToRegularExpression);
|
||||
export const cutEachLine = () => linesFunction(LinesAction.cutEachLine);
|
||||
export const distinctLines = () => linesFunction(LinesAction.distinctLines);
|
||||
export const expandSql = () => linesFunction(LinesAction.expandSql);
|
||||
export const listToListFamily = () => linesFunction(LinesAction.listToListFamily);
|
||||
export const listToListWrappedComma = () => linesFunction(LinesAction.listToListWrappedComma);
|
||||
|
Reference in New Issue
Block a user