-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement onWorkspaceSymbol, onSignatureHelp, onDocumentSymbol, onReferences, improve onDefinition #191
Implement onWorkspaceSymbol, onSignatureHelp, onDocumentSymbol, onReferences, improve onDefinition #191
Conversation
…tion, spelling corrections
…orRange helpers, fix getFullyQualifiedClassName misspelling,
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition # Conflicts: # src/interfaces.ts # src/util.ts
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition # Conflicts: # src/files/BrsFile.ts # src/parser/ClassStatement.ts
…moving, fix warnings for sourcemaps by excluding typescript and vscode-languageserver node modules
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition # Conflicts: # src/LanguageServer.ts # src/Scope.ts # src/validators/ClassValidator.ts
…n't any documentation above
… of onSignatureHelp
@triwav I pinged you on slack; but a cursory read, and my trial with your vsix gives me the impression that brighterscript is not supported at all by this. I've got code in maestro's binding plugin that looks up methods. I proprose in the short term, seeing as we don't have type support, and to save you a ton of work, that we merely dump all classes, and class members into the symbols repo, maybe in As it stands, this totally regresses bs support.; hopefully it will not be too much work to add brighterscript namespace and class support; fwiw - Bron makes me support brs projects whenever I do bs changes, too :) |
one odd thing.. I noticed that callfunc |
@georgejecook, you say " gives me the impression that brighterscript is not supported at all by this.". What specifically makes you think that? Do you have any reproducible steps to show that classes/methods/fields, etc, are not showing up in some situation? I know that I worked with @triwav specifically to get brighterscript support in this effort, so while it's possible we missed something, it would be helpful to know what exactly is missing and how to reproduce it. |
I only had a cursory look at the pr, and didn't see anything in the code that seemed to look up class functions, in the way I've been doing over the last 2 weeks; but, like I say; I only skimmed it; so apologies for wrongly assuming this isn't accounted for. Clearly a bug then. |
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition # Conflicts: # src/LanguageServer.spec.ts # src/LanguageServer.ts # src/files/BrsFile.ts # src/files/XmlFile.ts # src/interfaces.ts
…ol, improve onSignatureHelp and onReferences unit tests
…ightscript classes by traversing children, fix race conditions by waiting on keyedThrottler
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition # Conflicts: # .vscode/launch.json # src/Program.ts # src/files/BrsFile.ts # src/interfaces.ts
…tion and onSignatureHelp didn't work for class methods
…ceSymbol_and_onDocumentSymbol_and_improve_onDefinition
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey. I have requested a few changes. I haven't finished reviewing, but figured I should get these to you sooner rather than later.
//get the token at the position | ||
const token = this.getTokenAt(position); | ||
|
||
let definitionTokenTypes = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certain keywords are allowed to be used as local variable names, so we should probably include those in this list.
Also, I'm not overly familiar with the full reach of this function, but some keywords are allowed to be object property names, so you might want to include these as well:
…plitIntoLines, remove TokenKind limitations for onReferences
…Symbol_and_improve_onDefinition
Looks great. Thanks for addressing all of the concerns. |
This PR covers moving onSignatureHelp, onWorkspaceSymbol, onDocumentSymbol support in. It also adds a much larger support for onDefinition as well.