Comments (9)
Not sure why nvim is sending method window/progress
, I'll try to stub it out, and see if that fixes it for you.
from ols.
perfect everything is good now, ill be closing this.
and yeah it's the reason why i want to learn it, feels super nice for just quickly building graphic tools, and unlike rust it feels a lot more simpler for building those tools.
from ols.
I opened an issue in neovim neovim/neovim#23511
from ols.
That is the return message for methods ols
do not support/disabled. What message is the client sending that is giving that response by ols
? I use nvim lsp without issue.
You can disable some features in ols.json
and that might be the features nvim expects.
from ols.
Not using any settings everything is default.
basically it's an empty project with a single hellope.odin
using mason and nvim-lspconfig.
from ols.
I can't reproduce it. You need to give me the log of the lsp client on debug level.
from ols.
Here is a log bellow.
[INFO][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:662 "Starting RPC client" { args = {}, cmd = "C:\\Users\\Lamia\\AppData\\Local\\nvim-data\\mason\\packages\\ols/ols-x86_64-pc-windows-msvc.exe", extra = { cwd = "X:/Projects/Odin/test" }}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 1, jsonrpc = "2.0", method = "initialize", params = { capabilities = { textDocument = { callHierarchy = { dynamicRegistration = false }, codeAction = { codeActionLiteralSupport = { codeActionKind = { valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" } } }, dataSupport = true, dynamicRegistration = false, isPreferredSupport = true, resolveSupport = { properties = { "edit" } } }, completion = { completionItem = { commitCharactersSupport = true, deprecatedSupport = true, documentationFormat = { "markdown", "plaintext" }, insertReplaceSupport = true, labelDetailsSupport = true, preselectSupport = true, resolveSupport = { properties = { "documentation", "detail", "additionalTextEdits" } }, snippetSupport = true, tagSupport = { valueSet = { 1 } } }, completionItemKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 } }, contextSupport = false, dynamicRegistration = false }, declaration = { linkSupport = true }, definition = { linkSupport = true }, documentHighlight = { dynamicRegistration = false }, documentSymbol = { dynamicRegistration = false, hierarchicalDocumentSymbolSupport = true, symbolKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } } }, foldingRange = { dynamicRegistration = false, lineFoldingOnly = true }, hover = { contentFormat = { "markdown", "plaintext" }, dynamicRegistration = false }, implementation = { linkSupport = true }, publishDiagnostics = { relatedInformation = true, tagSupport = { valueSet = { 1, 2 } } }, references = { dynamicRegistration = false }, rename = { dynamicRegistration = false, prepareSupport = true }, semanticTokens = { augmentsSyntaxTokens = true, dynamicRegistration = false, formats = { "relative" }, multilineTokenSupport = false, overlappingTokenSupport = true, requests = { full = { delta = true }, range = false }, serverCancelSupport = false, tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" }, tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" } }, signatureHelp = { dynamicRegistration = false, signatureInformation = { activeParameterSupport = true, documentationFormat = { "markdown", "plaintext" }, parameterInformation = { labelOffsetSupport = true } } }, synchronization = { didSave = true, dynamicRegistration = false, willSave = true, willSaveWaitUntil = true }, typeDefinition = { linkSupport = true } }, window = { showDocument = { support = true }, showMessage = { messageActionItem = { additionalPropertiesSupport = false } }, workDoneProgress = true }, workspace = { applyEdit = true, configuration = true, didChangeWatchedFiles = { dynamicRegistration = true, relativePatternSupport = true }, semanticTokens = { refreshSupport = true }, symbol = { dynamicRegistration = false, hierarchicalWorkspaceSymbolSupport = true, symbolKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } } }, workspaceEdit = { resourceOperations = { "rename", "create", "delete" } }, workspaceFolders = true } }, clientInfo = { name = "Neovim", version = "0.10.0" }, initializationOptions = vim.empty_dict(), processId = 21972, rootPath = "X:\\Projects\\Odin\\test", rootUri = "file:///X:/Projects/Odin/test", trace = "off", workspaceFolders = { { name = "X:/Projects/Odin/test", uri = "file:///X:/Projects/Odin/test" } } }}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 1, jsonrpc = "2.0", result = { capabilities = { completionProvider = { completionItem = { labelDetailsSupport = true }, resolveProvider = false, triggerCharacters = { ".", ">", "#", '"', "/", ":" } }, definitionProvider = true, documentFormattingProvider = true, documentLinkProvider = { resolveProvider = false }, documentSymbolProvider = true, hoverProvider = true, inlayHintProvider = false, referencesProvider = false, renameProvider = false, semanticTokensProvider = { full = false, legend = { tokenModifiers = { "none", "declaration", "definition", "deprecated", "readonly" }, tokenTypes = { "namespace", "type", "enum", "struct", "parameter", "variable", "enumMember", "function", "member", "keyword", "modifier", "comment", "string", "number", "operator", "property", "method" } }, range = false }, signatureHelpProvider = { retriggerCharacters = { "," }, triggerCharacters = { "(", "," } }, textDocumentSync = { change = 2, openClose = true, save = { includeText = true } } } }}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "initialized", params = vim.empty_dict()}
[INFO][2023-05-07 01:46:39] .../lua/vim/lsp.lua:1345 "LSP[ols]" "server_capabilities" { server_capabilities = { completionProvider = { completionItem = { labelDetailsSupport = true }, resolveProvider = false, triggerCharacters = { ".", ">", "#", '"', "/", ":" } }, definitionProvider = true, documentFormattingProvider = true, documentLinkProvider = { resolveProvider = false }, documentSymbolProvider = true, hoverProvider = true, inlayHintProvider = false, referencesProvider = false, renameProvider = false, semanticTokensProvider = { full = false, legend = { tokenModifiers = { "none", "declaration", "definition", "deprecated", "readonly" }, tokenTypes = { "namespace", "type", "enum", "struct", "parameter", "variable", "enumMember", "function", "member", "keyword", "modifier", "comment", "string", "number", "operator", "property", "method" } }, range = false }, signatureHelpProvider = { retriggerCharacters = { "," }, triggerCharacters = { "(", "," } }, textDocumentSync = { change = 2, openClose = true, save = { includeText = true } } }}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didOpen", params = { textDocument = { languageId = "odin", text = 'package main \r\n\r\nimport "core:fmt"\r\n\r\nmain :: proc() {\r\n fmt.println("hellope!")\r\n}\r\n', uri = "file:///X:/Projects/Odin/test/hellope.odin", version = 0 } }}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "window/progress", params = {}}
[DEBUG][2023-05-07 01:46:39] .../vim/lsp/rpc.lua:387 "rpc.receive" { error = { code = -32601, message = "" }, jsonrpc = "2.0"}
[ERROR][2023-05-07 01:46:39] .../lua/vim/lsp.lua:1086 "LSP[ols]" "on_error" { code = "INVALID_SERVER_MESSAGE", err = { error = { code = -32601, message = "" }, jsonrpc = "2.0" }}
[DEBUG][2023-05-07 01:46:42] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 1, line = 6 }, start = { character = 1, line = 6 } }, rangeLength = 0, text = " " } }, textDocument = { uri = "file:///X:/Projects/Odin/test/hellope.odin", version = 5 } }}
[DEBUG][2023-05-07 01:46:42] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "window/progress", params = {}}
[DEBUG][2023-05-07 01:46:42] .../vim/lsp/rpc.lua:387 "rpc.receive" { error = { code = -32601, message = "" }, jsonrpc = "2.0"}
[ERROR][2023-05-07 01:46:42] .../lua/vim/lsp.lua:1086 "LSP[ols]" "on_error" { code = "INVALID_SERVER_MESSAGE", err = { error = { code = -32601, message = "" }, jsonrpc = "2.0" }}
[DEBUG][2023-05-07 01:46:45] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "window/progress", params = {}}
[DEBUG][2023-05-07 01:46:45] .../vim/lsp/rpc.lua:387 "rpc.receive" { error = { code = -32601, message = "" }, jsonrpc = "2.0"}
from ols.
thanks 👌, looking forward to playing around with odin seems like a fun language.
from ols.
Pushed the change.
Yeah the language is nice and simple, which is the reason I like it. Also nice for graphics development, since they have all the APIs available.
from ols.
Related Issues (20)
- Bug with nested declaration symbol shadowing
- Cannot use "go to definition" on implicit enum member selector HOT 2
- Odinfmt: Breaks code on long "If-statements with initialization"
- Rename feature HOT 2
- Parse statements with `or_continue` and `or_break` HOT 3
- Didn't compile HOT 1
- Items involving generic functions fail to return results depending on package scope. HOT 4
- Unable to find x library. HOT 1
- Constant timeouts HOT 9
- [odinfmt] Struct formatting is broken when there are many `where` cases HOT 1
- OLS timesout on format HOT 1
- New directive #hash isn't properly parsed by OLS HOT 1
- Stroustrup brace style inserting extra space in front of else HOT 1
- formatter only allows two values in for loop HOT 1
- OLS Build Failed HOT 1
- `foreign import` library path corrupted after code format HOT 3
- Build failure on Windows HOT 2
- Unhandled specialization `&Pointer_Type` HOT 2
- Crash on shadowing proc name in it's body HOT 6
- Comp literal disables completion when not using them as key value assignments
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ols.