class Crystalline::Workspace
- Crystalline::Workspace
- Reference
- Object
Defined in:
crystalline/workspace.crConstructors
Class Method Summary
-
.compilation_lock
Allow one compilation at a time.
Instance Method Summary
- #close_document(server : LSP::Server, params : LSP::DidCloseTextDocumentParams)
-
#compile(server : LSP::Server, file_uri : URI | Nil = nil, *, in_memory = false, ignore_diagnostics = server.client_capabilities.ignore_diagnostics?, ignore_cached_result = false, do_not_cache_result = false, wants_doc = false, text_overrides = nil, fail_fast = false, top_level = false, discard_nil_cached_result = false)
Use the crystal compiler to typecheck the program.
- #completion(server : LSP::Server, file_uri : URI, position : LSP::Position, trigger_character : String | Nil)
- #definitions(server : LSP::Server, file_uri : URI, position : LSP::Position)
-
#dependencies : Set(String)
The dependencies of the workspace, meaning the list of files required by the compilation target (entry point).
- #document_symbols(server : LSP::Server, file_uri : URI)
-
#entry_point? : URI | Nil
Determines the workspace entry point.
- #format_document(params : LSP::DocumentFormattingParams) : Tuple(String, TextDocument) | Nil
- #format_document(params : LSP::DocumentRangeFormattingParams) : Tuple(String, TextDocument) | Nil
- #hover(server : LSP::Server, file_uri : URI, position : LSP::Position)
- #open_document(params : LSP::DidOpenTextDocumentParams)
-
#opened_documents : Hash(String, Crystalline::TextDocument)
A list of documents that are openened in the text editor.
-
#recalculate_dependencies(server)
Run a top level semantic analysis to compute dependencies.
-
#root_uri : URI | Nil
The workspace filesystem uri.
- #save_document(server : LSP::Server, params : LSP::DidSaveTextDocumentParams)
- #update_document(server : LSP::Server, params : LSP::DidChangeTextDocumentParams)
Constructor Detail
Class Method Detail
Instance Method Detail
def compile(server : LSP::Server, file_uri : URI | Nil = nil, *, in_memory = false, ignore_diagnostics = server.client_capabilities.ignore_diagnostics?, ignore_cached_result = false, do_not_cache_result = false, wants_doc = false, text_overrides = nil, fail_fast = false, top_level = false, discard_nil_cached_result = false)
#
Use the crystal compiler to typecheck the program.
def completion(server : LSP::Server, file_uri : URI, position : LSP::Position, trigger_character : String | Nil)
#
def dependencies : Set(String)
#
The dependencies of the workspace, meaning the list of files required by the compilation target (entry point).
def format_document(params : LSP::DocumentFormattingParams) : Tuple(String, TextDocument) | Nil
#
def format_document(params : LSP::DocumentRangeFormattingParams) : Tuple(String, TextDocument) | Nil
#
def opened_documents : Hash(String, Crystalline::TextDocument)
#
A list of documents that are openened in the text editor.
def update_document(server : LSP::Server, params : LSP::DidChangeTextDocumentParams)
#