Class: Mui::Lsp::Plugin
- Inherits:
-
Plugin
- Object
- Plugin
- Mui::Lsp::Plugin
- Defined in:
- lib/mui/lsp/plugin.rb
Overview
Main plugin class for mui-lsp Registers commands and keymaps for LSP integration
Instance Method Summary collapse
- #get_manager(editor) ⇒ Object
- #register_server(config) ⇒ Object
- #setup ⇒ Object
- #use_server(name) ⇒ Object
Instance Method Details
#get_manager(editor) ⇒ Object
461 462 463 464 |
# File 'lib/mui/lsp/plugin.rb', line 461 def get_manager(editor) @managers ||= {}.compare_by_identity @managers[editor] ||= create_manager(editor) end |
#register_server(config) ⇒ Object
466 467 468 469 |
# File 'lib/mui/lsp/plugin.rb', line 466 def register_server(config) @default_server_configs ||= [] @default_server_configs << config end |
#setup ⇒ Object
12 13 14 15 16 17 |
# File 'lib/mui/lsp/plugin.rb', line 12 def setup register_commands register_keymaps register_autocmds setup_default_servers end |
#use_server(name) ⇒ Object
471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 |
# File 'lib/mui/lsp/plugin.rb', line 471 def use_server(name) config = case name.to_sym when :solargraph ServerConfig.solargraph(auto_start: true) when :ruby_lsp ServerConfig.ruby_lsp(auto_start: true) when :rubocop ServerConfig.rubocop_lsp(auto_start: true) when :kanayago ServerConfig.kanayago(auto_start: true) else raise ArgumentError, "Unknown server: #{name}. Use :solargraph, :ruby_lsp, :rubocop, or :kanayago" end register_server(config) end |