Merge pull request #50914 from Razoric480/3x-lsp-symbolkind-fix

[3.x] Fix LSP reporting wrong types
This commit is contained in:
Rémi Verschelde 2021-07-27 13:32:46 +02:00 committed by GitHub
commit bcc5250cde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 28 deletions

View file

@ -163,7 +163,7 @@ void ExtendGDScriptParser::parse_class_symbol(const GDScriptParser::ClassNode *p
lsp::DocumentSymbol symbol; lsp::DocumentSymbol symbol;
symbol.name = m.identifier; symbol.name = m.identifier;
symbol.kind = lsp::SymbolKind::Variable; symbol.kind = m.setter == "" && m.getter == "" ? lsp::SymbolKind::Variable : lsp::SymbolKind::Property;
symbol.deprecated = false; symbol.deprecated = false;
const int line = LINE_NUMBER_TO_INDEX(m.line); const int line = LINE_NUMBER_TO_INDEX(m.line);
symbol.range.start.line = line; symbol.range.start.line = line;
@ -289,7 +289,7 @@ void ExtendGDScriptParser::parse_function_symbol(const GDScriptParser::FunctionN
const String uri = get_uri(); const String uri = get_uri();
r_symbol.name = p_func->name; r_symbol.name = p_func->name;
r_symbol.kind = lsp::SymbolKind::Function; r_symbol.kind = p_func->_static ? lsp::SymbolKind::Function : lsp::SymbolKind::Method;
r_symbol.detail = "func " + p_func->name + "("; r_symbol.detail = "func " + p_func->name + "(";
r_symbol.deprecated = false; r_symbol.deprecated = false;
const int line = LINE_NUMBER_TO_INDEX(p_func->line); const int line = LINE_NUMBER_TO_INDEX(p_func->line);

View file

@ -1018,32 +1018,32 @@ struct CompletionList {
* A symbol kind. * A symbol kind.
*/ */
namespace SymbolKind { namespace SymbolKind {
static const int File = 0; static const int File = 1;
static const int Module = 1; static const int Module = 2;
static const int Namespace = 2; static const int Namespace = 3;
static const int Package = 3; static const int Package = 4;
static const int Class = 4; static const int Class = 5;
static const int Method = 5; static const int Method = 6;
static const int Property = 6; static const int Property = 7;
static const int Field = 7; static const int Field = 8;
static const int Constructor = 8; static const int Constructor = 9;
static const int Enum = 9; static const int Enum = 10;
static const int Interface = 10; static const int Interface = 11;
static const int Function = 11; static const int Function = 12;
static const int Variable = 12; static const int Variable = 13;
static const int Constant = 13; static const int Constant = 14;
static const int String = 14; static const int String = 15;
static const int Number = 15; static const int Number = 16;
static const int Boolean = 16; static const int Boolean = 17;
static const int Array = 17; static const int Array = 18;
static const int Object = 18; static const int Object = 19;
static const int Key = 19; static const int Key = 20;
static const int Null = 20; static const int Null = 21;
static const int EnumMember = 21; static const int EnumMember = 22;
static const int Struct = 22; static const int Struct = 23;
static const int Event = 23; static const int Event = 24;
static const int Operator = 24; static const int Operator = 25;
static const int TypeParameter = 25; static const int TypeParameter = 26;
}; // namespace SymbolKind }; // namespace SymbolKind
/** /**