Browse Source

Enhance codelen detect.

pull/252/head
cweijan 4 years ago
parent
commit
61296d0e7c
  1. 5
      package.json
  2. 4
      src/provider/sqlCodeLensProvider.ts
  3. 5
      src/service/serviceManager.ts
  4. 39
      syntaxes/language-configuration.json

5
package.json

@ -45,6 +45,11 @@
"es"
],
"configuration": "./syntaxes/es.configuration.json"
},{
"id": "sql",
"extensions": [ ".sql", ".dsql" ],
"aliases": [ "SQL" ],
"configuration": "./syntaxes/language-configuration.json"
}
],
"snippets": [

4
src/provider/sqlCodeLensProvider.ts

@ -31,7 +31,7 @@ export class SqlCodeLensProvider implements vscode.CodeLensProvider {
for (var i = 0; i < lineCount; i++) {
let col = 0;
var line = document.lineAt(i)
var text = line.text?.replace(/(--|#).+/, '');
var text = line.text?.replace(/(--|#).+/, '')?.replace(/(\/\*).*?(\*\/)/g,'');
if (inBlockComment) {
const blockEndMatch = text.match(/.*?(\*\/)/)
if (!blockEndMatch) {
@ -41,7 +41,7 @@ export class SqlCodeLensProvider implements vscode.CodeLensProvider {
text = text.replace(/.*?(\*\/)/, '')
col = blockEndMatch[0].length
} else {
const blockComment = text.match(/(\/\*).*?(\*\/)?/)
const blockComment = text.match(/(\/\*)/)
inBlockComment = blockComment && blockComment[2] == null;
if (inBlockComment) {
continue;

5
src/service/serviceManager.ts

@ -47,6 +47,7 @@ export class ServiceManager {
public nosqlProvider: DbTreeDataProvider;
public settingService: SettingService;
public statusService: StatusService;
public codeLenProvider: SqlCodeLensProvider;
public dumpService: DumpService;
private isInit = false;
@ -61,9 +62,11 @@ export class ServiceManager {
public init(): vscode.Disposable[] {
if (this.isInit) { return [] }
const codeLenProvider = new SqlCodeLensProvider();
this.codeLenProvider=codeLenProvider;
const res: vscode.Disposable[] = [
vscode.languages.registerDocumentRangeFormattingEditProvider('sql', new SqlFormattingProvider()),
vscode.languages.registerCodeLensProvider('sql', new SqlCodeLensProvider()),
vscode.languages.registerCodeLensProvider('sql', codeLenProvider),
vscode.languages.registerHoverProvider('sql', new TableInfoHoverProvider()),
vscode.languages.registerCompletionItemProvider('sql', new CompletionProvider(), ' ', '.', ">", "<", "=", "(")
]

39
syntaxes/language-configuration.json

@ -0,0 +1,39 @@
{
"comments": {
"lineComment": "--",
"blockComment": [ "/*", "*/" ]
},
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
{ "open": "\"", "close": "\"", "notIn": ["string"] },
{ "open": "N'", "close": "'", "notIn": ["string", "comment"] },
{ "open": "'", "close": "'", "notIn": ["string", "comment"] }
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"],
["`", "`"]
],
"folding": {
"markers": {
"start": "\\/\\*",
"end": "\\*\\/"
}
}
// enhancedBrackets:[
// { openTrigger: 'n', open: /begin$/i, closeComplete: 'end', matchCase: true },
// { openTrigger: 'e', open: /case$/i, closeComplete: 'end', matchCase: true },
// { openTrigger: 'n', open: /when$/i, closeComplete: 'then', matchCase: true }
// ],
// noindentBrackets: '()',
}
Loading…
Cancel
Save