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 CodeForge widget.
final lspConfig = LspSocketConfig(
workspacePath: "/home/athul/Projects/lsp",
languageId: "python",
serverUrl: "ws://localhost:5656"
),
Then pass the lspConfig instance to the CodeForge widget:
CodeForge(
controller: controller,
theme: anOldHopeTheme,
lspConfig: lspConfig, // Pass the LSP config here
),
Constructors
Properties
- disableError → bool
-
Whether to disable errors from the LSP server.
finalinherited
- disableWarning → bool
-
Whether to disable warnings from the LSP server.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isIntialized ↔ bool
-
getter/setter pairinherited
- 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(
String filePath) → Future< void> -
Updates the document in the LSP server if there is any change.
///
This method is used internally by the CodeForge 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
CodeCrafterwidget. Calling it directly is not recommended and may crash the LSP server if called multiple times. -
dispose(
) → void -
override
-
executeCommand(
String command, List? arguments) → Future< void> -
Execute a workspace command on the server
Wrapper around the 'workspace/executeCommand' request.
inherited
-
exitServer(
) → Future< void> -
Exits the LSP server process.
inherited
-
formatDocument(
String filePath) → Future< List> -
Formats the entire document according to server rules.
inherited
-
formatRange(
{required String filePath, required int startLine, required int startCharacter, required int endLine, required int endCharacter}) → Future< List> -
Formats a specific range in the document.
inherited
-
getCodeActions(
{required String filePath, required int startLine, required int startCharacter, required int endLine, required int endCharacter, List< Map< diagnostics = const []}) → Future<String, dynamic> >List> -
Retrieves available code actions at a given range.
inherited
-
getCompletions(
String filePath, int line, int character) → Future< List< LspCompletion> > -
This method is used to get completions at a specific position in the document.
inherited
-
getDeclaration(
String filePath, int line, int character) → Future< Map< String, dynamic> > -
Gets the declaration for a symbol at the specified position.
inherited
-
getDefinition(
String filePath, int line, int character) → Future< Map< String, dynamic> > -
Gets the definition location for a symbol at the specified position.
inherited
-
getDocumentLinks(
String filePath) → Future< List> -
Retrieves document links such as import paths and URLs.
inherited
-
getDocumentSymbols(
String filePath) → Future< List> -
Retrieves all symbols defined in the current document.
inherited
-
getHover(
String filePath, int line, int character) → Future< String> -
This method is used to get details at a specific position in the document.
inherited
-
getImplementation(
String filePath, int line, int character) → Future< Map< String, dynamic> > -
Gets the implementation locations for a symbol at the specified position.
inherited
-
getIncomingCalls(
Map< String, dynamic> item) → Future<List> -
Retrieves incoming calls for a call hierarchy item.
inherited
-
getOutgoingCalls(
Map< String, dynamic> item) → Future<List> -
Retrieves outgoing calls for a call hierarchy item.
inherited
-
getReferences(
String filePath, int line, int character) → Future< List> -
Gets all references to a symbol at the specified position.
inherited
-
getSemanticTokensFull(
String filePath) → Future< List< LspSemanticToken> > -
Gets all semantic tokens for the document.
inherited
-
getSignatureHelp(
String filePath, int line, int character) → Future< Map< String, dynamic> > -
Retrieves signature help at the given position.
inherited
-
getSubtypes(
Map< String, dynamic> item) → Future<List> -
Retrieves subtypes (derived classes / implementations).
inherited
-
getSupertypes(
Map< String, dynamic> item) → Future<List> -
Retrieves supertypes (base classes / interfaces).
inherited
-
getTypeDefinition(
String filePath, int line, int character) → Future< Map< String, dynamic> > -
Jumps to the location where the data type of a symbol is defined.
inherited
-
getWorkspaceSymbols(
String query) → Future< List> -
Searches for symbols across the entire workspace.
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 filePath) → Future< void> -
Opens the document in the LSP server.
inherited
-
prepareCallHierarchy(
String filePath, int line, int character) → Future< Map< String, dynamic> ?> -
Prepares a call hierarchy item at the given position.
inherited
-
prepareRename(
String filePath, int line, int character) → Future< Map< String, dynamic> ?> -
Checks whether a symbol can be renamed at the given position.
inherited
-
prepareTypeHierarchy(
String filePath, int line, int character) → Future< Map< String, dynamic> ?> -
Prepares a type hierarchy item at the given position.
inherited
-
renameSymbol(
String filePath, int line, int character, String newName) → Future< Map< String, dynamic> > -
Renames a symbol at the given position across the workspace.
inherited
-
resolveCompletionItem(
Map< String, dynamic> item) → Future<Map< String, dynamic> > -
Resolves and retrieves additional details for the given LSP completion item.
inherited
-
saveDocument(
String filePath, 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 filePath, String content) → Future< void> -
Updates the document content in the LSP server.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited