Class: Mui::Lsp::Plugin

Inherits:
Plugin
  • Object
show all
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

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

#setupObject



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