LspSocketConfig class

A configuration class for Language Server Protocol (LSP) using WebSocket communication.

Documenation available here.

Example: create a LspSocketConfig object and pass it to the CodeCrafter widget.

final lspConfig = LspSocketConfig(
   filePath: '/home/athul/Projects/lsp/example.py',
   workspacePath: "/home/athul/Projects/lsp",
   languageId: "python",
   serverUrl: "ws://localhost:5656"
),

Then pass the lspConfig instance to the CodeCrafter widget:

CodeCrafter(
   controller: controller,
   theme: anOldHopeTheme,
   lspConfig: lspConfig, // Pass the LSP config here
),
Inheritance

Constructors

LspSocketConfig({required String filePath, required String workspacePath, required String languageId, required String serverUrl, bool disableWarning = false, bool disableError = false})

Properties

disableError bool
Whether to disable errors from the LSP server.
finalinherited
disableWarning bool
Whether to disable warnings from the LSP server.
finalinherited
filePath String
The file path of the document to be processed by the LSP.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
languageId String
The language ID of the language.
finalinherited
responses Stream<Map<String, dynamic>>
Stream of responses from the LSP server. Use this to listen for notifications like diagnostics.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serverTokenModifiers List<String>?
The server's semantic token modifiers legend. Returns null if not yet initialized.
no setterinherited
serverTokenTypes List<String>?
The server's semantic token types legend. Returns null if not yet initialized.
no setterinherited
serverUrl String
The URL of the LSP server to connect to via WebSocket.
final
workspacePath String
The workspace path of the document to be processed by the LSP.
finalinherited

Methods

closeDocument() Future<void>
Updates the document in the LSP server if there is any change. /// This method is used internally by the CodeCrafter widget and calling it directly is not recommended.
inherited
connect() Future<void>
This method is used to initialize the LSP server. and it's used internally by the CodeCrafter widget. Calling it directly is not recommended and may crash the LSP server if called multiple times.
dispose() → void
override
exitServer() Future<void>
Exits the LSP server process.
inherited
getCompletions(int line, int character) Future<List<LspCompletion>>
This method is used to get completions at a specific position in the document.
inherited
getDefinition(int line, int character) Future<Map<String, dynamic>>
Gets the definition location for a symbol at the specified position.
inherited
getHover(int line, int character) Future<String>
This method is used to get details at a specific position in the document.
inherited
getReferences(int line, int character) Future<List>
Gets all references to a symbol at the specified position.
inherited
getSemanticTokensFull() Future<List<LspSemanticToken>>
Gets all semantic tokens for the document.
inherited
initialize() Future<void>
This method is used to initialize the LSP server.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openDocument({String? initialContent}) Future<void>
Opens the document in the LSP server.
inherited
saveDocument(String content) Future<void>
Saves the document in the LSP server.
inherited
shutdown() Future<void>
Shuts down the LSP server gracefully.
inherited
toString() String
A string representation of this object.
inherited
updateDocument(String content) Future<void>
Updates the document content in the LSP server.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited