Skip to content

Commit

Permalink
Fixes #350
Browse files Browse the repository at this point in the history
  • Loading branch information
isc-bsaviano committed Oct 3, 2024
1 parent e5fbbc4 commit 6d6bf49
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 18 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- Fix issue [#347](https://github.com/intersystems/language-server/issues/347): Setting a variable's subscript should not affect the type of that variable
- Fix issue [#348](https://github.com/intersystems/language-server/issues/348): Support intellisense for method arguments that don't have a declared type
- Fix issue [#349](https://github.com/intersystems/language-server/issues/349): Automatically provide intellisense for `%sqlcontext` variable
- Fix issue [#350](https://github.com/intersystems/language-server/issues/350): Use more granular symbols for class members in Outline

## [2.6.1] - 2024-08-30
- Fix issue [#343](https://github.com/intersystems/language-server/issues/343): foldingRange fails on some C-style block comments
Expand Down
32 changes: 14 additions & 18 deletions server/src/providers/documentSymbol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,25 +93,21 @@ export async function onDocumentSymbol(params: DocumentSymbolParams) {
}
}

var kind: SymbolKind = SymbolKind.Property;
if (keywordtextlower.indexOf("method") !== -1 || keywordtextlower === "query") {
kind = SymbolKind.Method;
}
else if (keywordtextlower === "parameter") {
kind = SymbolKind.Constant;
}
else if (keywordtextlower === "index") {
kind = SymbolKind.Key;
}
else if (keywordtextlower === "xdata" || keywordtextlower === "storage") {
kind = SymbolKind.Struct;
}

members.push({
name: doc.getText(Range.create(Position.create(line,parsed[line][1].p),Position.create(line,parsed[line][1].p+parsed[line][1].c))),
kind: kind,
range: Range.create(Position.create(firstnondoc+1,0),Position.create(lastnonempty,parsed[lastnonempty][parsed[lastnonempty].length-1].p+parsed[lastnonempty][parsed[lastnonempty].length-1].c)),
selectionRange: Range.create(Position.create(line,parsed[line][1].p),Position.create(line,parsed[line][1].p+parsed[line][1].c)),
name: doc.getText(Range.create(line,parsed[line][1].p,line,parsed[line][1].p+parsed[line][1].c)),
kind:
["method","classmethod","clientmethod"].includes(keywordtextlower) ? SymbolKind.Method :
keywordtextlower == "query" ? SymbolKind.Function :
keywordtextlower == "trigger" ? SymbolKind.Event :
keywordtextlower == "parameter" ? SymbolKind.Constant :
keywordtextlower == "index" ? SymbolKind.Array :
keywordtextlower == "foreignkey" ? SymbolKind.Key :
keywordtextlower == "xdata" ? SymbolKind.Struct :
keywordtextlower == "storage" ? SymbolKind.Object :
keywordtextlower == "projection" ? SymbolKind.Interface :
SymbolKind.Property, // Property and Relationship
range: Range.create(firstnondoc+1,0,lastnonempty,parsed[lastnonempty][parsed[lastnonempty].length-1].p+parsed[lastnonempty][parsed[lastnonempty].length-1].c),
selectionRange: Range.create(line,parsed[line][1].p,line,parsed[line][1].p+parsed[line][1].c),
detail: keywordtext
});
}
Expand Down

0 comments on commit 6d6bf49

Please sign in to comment.