sublimelsp / LSP-elixir

Elixir support for Sublime LSP plugin

Home Page:https://lsp.sublimetext.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Restart required after upgrade

ihabunek opened this issue · comments

To reproduce:

  • upgrade lsp-elixir
  • server is upgraded
  • old server is deleted
  • lsp features stop working
  • restart lsp servers
  • now an exception is thrown

Fixed by restarting sublime. This is not optimal.

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
    vel.__class__.__dict__[name](vel)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
    self.manager.activate_view(self.view)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
    self._initialize_on_open(view)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
    self._start_client(config, file_path)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
    if not self._handlers.on_start(config.name, self._window):
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
    return client_start_listeners[config_name](window)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
Sublime Log

startup, version: 3211 linux x64 channel: stable
executable: /opt/sublime_text/sublime_text
working dir: /
packages path: /home/ihabunek/.config/sublime-text-3/Packages
state path: /home/ihabunek/.config/sublime-text-3/Local
zip path: /opt/sublime_text/Packages
zip path: /home/ihabunek/.config/sublime-text-3/Installed Packages
ignored_packages: ["Jedi - Python autocompletion", "TypeScript", "Vintage"]
pre session restore time: 0.136552
startup time: 0.385501
git: tracking working dir /home/ihabunek/projects/ihabunek/church
first paint time: 0.408364
reloading plugin Default.arithmetic
reloading plugin Default.auto_indent_tag
reloading plugin Default.block
reloading plugin Default.colors
reloading plugin Default.comment
reloading plugin Default.convert_color_scheme
reloading plugin Default.convert_syntax
reloading plugin Default.copy_path
reloading plugin Default.detect_indentation
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.install_package_control
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.profile
reloading plugin Default.quick_panel
reloading plugin Default.rename
reloading plugin Default.run_syntax_tests
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.settings
reloading plugin Default.show_scope_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.ui
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin ShellScript.ShellScript
reloading plugin 0_package_control_loader.00-package_control
reloading plugin 0_package_control_loader.01-pygments
reloading plugin 0_package_control_loader.01-sublime_lib
reloading plugin 0_package_control_loader.10-lsp_utils
reloading plugin 0_package_control_loader.50-markupsafe
reloading plugin 0_package_control_loader.50-pymdownx
reloading plugin 0_package_control_loader.50-python-markdown
reloading plugin 0_package_control_loader.50-pyyaml
reloading plugin 0_package_control_loader.51-python-jinja2
reloading plugin 0_package_control_loader.55-jsonschema
reloading plugin 0_package_control_loader.55-mdpopups
reloading plugin DocBlockr.jsdocs
reloading plugin Elixir.mix_format_file
reloading plugin Emmet.emmet-plugin
reloading plugin Git.git_commands
reloading plugin gruvbox.main
reloading plugin LSP-elixir.plugin
reloading plugin LSP-typescript.plugin
reloading plugin LSP.boot
reloading plugin OverrideAudit.override_audit
reloading plugin Package Control.1_reloader
reloading plugin Package Control.2_bootstrap
reloading plugin Package Control.Package Control
reloading plugin Parinfer.parinfer
reloading plugin Parinfer.sublime-parinfer
reloading plugin Pretty JSON.PrettyJson
reloading plugin Pretty JSON.PrettyJsonListeners
reloading plugin Python Pretty Print.PPrint
reloading plugin Sass.sass_completions
reloading plugin SublimeLinter-eslint.linter
reloading plugin SublimeLinter-flake8.linter
reloading plugin SublimeLinter.__init__
reloading plugin SublimeLinter.active_linters_view
reloading plugin SublimeLinter.busy_indicator_view
reloading plugin SublimeLinter.goto_commands
reloading plugin SublimeLinter.highlight_view
reloading plugin SublimeLinter.log_handler
reloading plugin SublimeLinter.message_view
reloading plugin SublimeLinter.panel_view
reloading plugin SublimeLinter.status_bar_view
reloading plugin SublimeLinter.sublime_linter
reloading plugin Tailwind CSS Autocomplete.tailwind_autocomplete
reloading plugin Babel.plugin
plugins loaded
LSP: received config lsp-elixir from LspElixirPlugin
LSP: received config lsp-typescript from LspTypescriptPlugin
LSP: global configs ['lsp-typescript=True', 'lsp-elixir=True', 'rlang=False', 'sourcekit-lsp=False', 'reason=False', 'flow=False', 'bashls=False', 'rust-analyzer=False', 'mspyls=True', 'clangd=False', 'elixir-ls=False', 'golsp=False', 'erlang-ls=False', 'haskell-ide-engine=False', 'vscode-css=False', 'ruby=False', 'intelephense-ls=False', 'typescript-language-server=False', 'dart=False', 'ocaml=False', 'pyls=False', 'javascript-typescript-langserver=False', 'lsp-tsserver=False', 'rls=False', 'jdtls=False', 'polymer-ide=False', 'phpls=False', 'cquery=False', 'sorbet=False', 'gopls=False']
LSP: group 0 view /home/ihabunek/projects/ihabunek/church/src/church/core.clj
LSP: window 2 starting 1 initial views
OverrideAudit: Initializing
OverrideAudit: Sublime version is unchanged; skipping automatic report
Emmet: No need to update PyV8
Package Control: Skipping automatic upgrade, last run at 2020-06-29 09:01:14, next run at 2020-06-29 10:01:14 or after
git: untracking working dir /home/ihabunek/projects/ihabunek/church
git: tracking working dir /home/ihabunek/projects/butchershop/spike
git: tracking working dir /home/ihabunek/projects/butchershop/spike/deps/snowflake
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
LSP: starting ['/home/ihabunek/.config/sublime-text-3/Cache/LSP-elixir/server/0.4.0/language_server.sh']
LSP: window 2 added session lsp-elixir
LSP: multi folder session: [WorkspaceFolder('spike', '/home/ihabunek/projects/butchershop/spike')]
LSP: lsp-elixir: Supported execute commands: ['spec']
LSP: lsp-elixir: registering capability: didChangeWatchedFilesProvider
ignored packages updated to: ["Jedi - Python autocompletion", "LSP-elixir", "TypeScript", "Vintage"]
reloading settings Packages/LSP-elixir/LSP-elixir.sublime-settings
unloading plugin LSP-elixir.plugin
LSP: lsp-elixir: Deleting server from /home/ihabunek/.config/sublime-text-3/Cache/LSP-elixir/server/0.4.0
reloading settings Packages/User/Package Control.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
ignored packages updated to: ["Jedi - Python autocompletion", "TypeScript", "Vintage"]
reloading settings Packages/LSP-elixir/LSP-elixir.sublime-settings
reloading plugin LSP-elixir.plugin
LSP: lsp-elixir: Downloading server from https://github.com/elixir-lsp/elixir-ls/releases/download/v0.5.0/elixir-ls.zip
reloading settings Packages/User/Package Control.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
OverrideAudit: No packages with expired overrides found
LSP: lsp-elixir: Unpacking server to: /home/ihabunek/.config/sublime-text-3/Cache/LSP-elixir/server/0.5.0
LSP: lsp-elixir: Server installed
LSP: unloading session lsp-elixir
LSP: session lsp-elixir ended
LSP: clients for window 2 unloaded
LSP: window 2 sessions unloaded - restarting
LSP: LSP stream logger stopped.
LSP: group 0 view /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
LSP: group 1 view None
LSP: window 2 starting 2 initial views
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Error handling None
Traceback (most recent call last):
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/rpc.py", line 323, in receive_payload
    handler(result)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/sessions.py", line 407, in 
    lambda result: self._handle_shutdown_result(),
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/sessions.py", line 415, in _handle_shutdown_result
    self._on_post_exit(self.config.name)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/clients.py", line 44, in 
    on_post_exit=lambda config_name: on_session_ended(window, config_name, on_post_exit),
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/clients.py", line 49, in on_session_ended
    on_post_exit_handler(config_name)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 641, in _handle_post_exit
    self._handle_all_sessions_ended()
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 630, in _handle_all_sessions_ended
    self.start_active_views()
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 384, in start_active_views
    self._initialize_on_open(view)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
    self._start_client(config, file_path)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
    if not self._handlers.on_start(config.name, self._window):
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
    return client_start_listeners[config_name](window)
  File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable

LSP: process 101231 stdout ended (still alive)
LSP: process 101231 exited with code 0
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 63, in on_load_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable
LSP: window 2 requests lsp-elixir for /home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex
Traceback (most recent call last):
File "/opt/sublime_text/sublime_plugin.py", line 506, in run_async_view_listener_callback
vel.class.dictname
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/documents.py", line 68, in on_activated_async
self.manager.activate_view(self.view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 391, in activate_view
self._initialize_on_open(view)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 444, in _initialize_on_open
self._start_client(config, file_path)
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/windows.py", line 451, in _start_client
if not self._handlers.on_start(config.name, self._window):
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP.sublime-package/plugin/core/registry.py", line 48, in on_start
return client_start_listenersconfig_name
File "/home/ihabunek/.config/sublime-text-3/Installed Packages/LSP-elixir.sublime-package/plugin.py", line 128, in on_start
TypeError: 'NoneType' object is not callable

LSP Log

:: --> lsp-elixir initialize(1): {'capabilities': {'experimental': {}, 'window': {'workDoneProgress': True}, 'textDocument': {'declaration': {'linkSupport': True, 'dynamicRegistration': True}, 'implementation': {'linkSupport': True, 'dynamicRegistration': True}, 'definition': {'linkSupport': True, 'dynamicRegistration': True}, 'signatureHelp': {'signatureInformation': {'documentationFormat': ['markdown', 'plaintext'], 'parameterInformation': {'labelOffsetSupport': True}}, 'dynamicRegistration': True}, 'rangeFormatting': {'dynamicRegistration': True}, 'codeAction': {'codeActionLiteralSupport': {'codeActionKind': {'valueSet': []}}, 'dynamicRegistration': True}, 'completion': {'completionItem': {'snippetSupport': True}, 'completionItemKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}, 'dynamicRegistration': True}, 'publishDiagnostics': {'relatedInformation': True}, 'colorProvider': {'dynamicRegistration': True}, 'typeDefinition': {'linkSupport': True, 'dynamicRegistration': True}, 'synchronization': {'willSave': True, 'willSaveWaitUntil': True, 'didSave': True, 'dynamicRegistration': True}, 'documentHighlight': {'dynamicRegistration': True}, 'hover': {'contentFormat': ['markdown', 'plaintext'], 'dynamicRegistration': True}, 'rename': {'dynamicRegistration': True}, 'formatting': {'dynamicRegistration': True}, 'documentSymbol': {'hierarchicalDocumentSymbolSupport': True, 'dynamicRegistration': True, 'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'references': {'dynamicRegistration': True}}, 'workspace': {'symbol': {'dynamicRegistration': True, 'symbolKind': {'valueSet': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]}}, 'configuration': True, 'applyEdit': True, 'executeCommand': {}, 'didChangeConfiguration': {'dynamicRegistration': True}, 'workspaceEdit': {'documentChanges': True, 'failureHandling': 'abort'}, 'workspaceFolders': True}}, 'initializationOptions': {}, 'rootUri': 'file:///home/ihabunek/projects/butchershop/spike', 'workspaceFolders': [{'name': 'spike', 'uri': 'file:///home/ihabunek/projects/butchershop/spike'}], 'processId': 101206, 'clientInfo': {'name': 'Sublime Text LSP', 'version': '0.11.3'}, 'rootPath': '/home/ihabunek/projects/butchershop/spike'}
lsp-elixir: Started ElixirLS v0.4.0
lsp-elixir: Elixir version: "1.10.3 (compiled with Erlang/OTP 22)"
lsp-elixir: Erlang version: "22"
:: <<< lsp-elixir 1: {'capabilities': {'completionProvider': {'triggerCharacters': ['.', '@']}, 'documentSymbolProvider': True, 'workspaceSymbolProvider': True, 'referencesProvider': True, 'textDocumentSync': {'openClose': True, 'save': {'includeText': True}, 'change': 2}, 'documentOnTypeFormattingProvider': {'firstTriggerCharacter': '\n'}, 'documentFormattingProvider': True, 'macroExpansion': True, 'hoverProvider': True, 'codeLensProvider': {'resolveProvider': False}, 'signatureHelpProvider': {'triggerCharacters': ['(']}, 'executeCommandProvider': {'commands': ['spec']}, 'definitionProvider': True, 'workspace': {'workspaceFolders': {'supported': True, 'changeNotifications': True}}}}
::  -> lsp-elixir initialized: {}
::  -> lsp-elixir workspace/didChangeConfiguration: {'settings': {'elixirLS': {'dialyzerEnabled': False}}}
lsp-elixir: Compiling with Mix env test
::  -> lsp-elixir textDocument/didOpen
:: <-  lsp-elixir textDocument/publishDiagnostics: {'uri': 'file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex', 'diagnostics': []}
:: <-- lsp-elixir client/registerCapability(1): {'registrations': [{'registerOptions': {'watchers': [{'globPattern': '**/*.ex'}, {'globPattern': '**/*.exs'}, {'globPattern': '**/*.eex'}, {'globPattern': '**/*.leex'}]}, 'method': 'workspace/didChangeWatchedFiles', 'id': 'B63DDB275E15ED256156A5090CE35EB12FC8CC8C'}]}
:: >>> lsp-elixir 1: None
lsp-elixir: Compile took 797 milliseconds
:: --> lsp-elixir textDocument/hover(2): {'textDocument': {'uri': 'file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex'}, 'position': {'line': 19, 'character': 59}}
:: <<< lsp-elixir 2: an exception was raised:
    ** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Hover.hover/3 is undefined (module ElixirLS.LanguageServer.Providers.Hover is not available)
        (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Hover.hover("defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 19, 59)
        (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
lsp-elixir: 
09:38:12.444 [error] Process #PID<0.560.0> raised an exception
** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Hover.hover/3 is undefined (module ElixirLS.LanguageServer.Providers.Hover is not available)
    (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Hover.hover("defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 19, 59)
    (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
:: --> lsp-elixir textDocument/hover(3): {'textDocument': {'uri': 'file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex'}, 'position': {'line': 16, 'character': 32}}
lsp-elixir: 
09:38:18.826 [error] Process #PID<0.561.0> raised an exception
** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Hover.hover/3 is undefined (module ElixirLS.LanguageServer.Providers.Hover is not available)
    (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Hover.hover("defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 16, 32)
    (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
:: <<< lsp-elixir 3: an exception was raised:
    ** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Hover.hover/3 is undefined (module ElixirLS.LanguageServer.Providers.Hover is not available)
        (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Hover.hover("defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 16, 32)
        (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
:: --> lsp-elixir textDocument/definition(4): {'textDocument': {'uri': 'file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex'}, 'position': {'line': 16, 'character': 32}}
lsp-elixir: 
09:38:20.750 [error] Process #PID<0.562.0> raised an exception
** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Definition.definition/4 is undefined (module ElixirLS.LanguageServer.Providers.Definition is not available)
    (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Definition.definition("file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex", "defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 16, 32)
    (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
:: <<< lsp-elixir 4: an exception was raised:
    ** (UndefinedFunctionError) function ElixirLS.LanguageServer.Providers.Definition.definition/4 is undefined (module ElixirLS.LanguageServer.Providers.Definition is not available)
        (language_server 0.4.0) ElixirLS.LanguageServer.Providers.Definition.definition("file:///home/ihabunek/projects/butchershop/spike/apps/sonato/lib/sonato/accounts/location.ex", "defmodule Sonato.Accounts.Location do\n  @moduledoc \"\"\"\n  Locations are physical places where a Organization operates, this is where Members can come to enjoy amenities.\n  \"\"\"\n  use Sonato.Schema\n  use Sonato.Images.Schema\n\n  alias Sonato.Accounts.Organization\n  alias Sonato.Alliance.Profile\n  alias Sonato.Color.{Hex, HSL}\n  alias Sonato.Images.Image\n  alias Sonato.Types.{Address, Coordinates, Enums, Locale, PhoneNumber}\n\n  @allowed_images [\"splash\", \"logo\", \"body\"]\n\n  schema \"location\" do\n    belongs_to :organization, Organization\n\n    embeds_one :address, Address, on_replace: :update\n    embeds_one :coordinates, Coordinates, on_replace: :update\n    embeds_one :locale, Locale, on_replace: :update\n\n    field :business_phone, PhoneNumber\n    field :cell_phone, PhoneNumber\n    field :email_address, :string\n    field :kind, Enums.LocationKind\n    field :member_count, :integer\n    field :name, :string\n    field :prefix, :string\n    field :request_period, :integer\n    field :subdomain, :string\n    field :tier, :integer\n    field :timezone, :string\n    field :website_url, :string\n\n    field :brand_color, :string\n    field :corrected_brand_color, :string\n\n    image_map(:images)\n    has_one :profile, Profile\n\n    # Used to fetch partnership info alongside locations\n    field :partnership, :map, virtual: true\n\n    timestamps()\n  end\n\n  @doc false\n  def changeset(location, attrs) do\n    location\n    |> cast(attrs, [\n      :brand_color,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :member_count,\n      :name,\n      :organization_id,\n      :prefix,\n      :request_period,\n      :subdomain,\n      :tier,\n      :timezone,\n      :website_url\n    ])\n    |> cast_embed(:address)\n    |> cast_embed(:coordinates)\n    |> cast_embed(:locale)\n    |> validate_required([\n      :brand_color,\n      :address,\n      :business_phone,\n      :cell_phone,\n      :email_address,\n      :kind,\n      :name,\n      :organization_id,\n      :prefix,\n      :subdomain,\n      :tier,\n      :timezone\n    ])\n    |> validate_color(:brand_color)\n    |> put_corrected_brand_color()\n    |> foreign_key_constraint(:organization_id)\n    |> unique_constraint(:cell_phone)\n    |> unique_constraint(:name, name: :location_organization_id_name_index)\n    |> unique_constraint(:prefix)\n    |> unique_constraint(:subdomain)\n  end\n\n  def default_image(%__MODULE__{} = location, name, aspect, height)\n      when name in @allowed_images do\n    {width, height} = Image.apply_aspect_ratio(aspect, height)\n\n    %Image.Stored{\n      key: \"avatar\",\n      uri: Sonato.Placedog.url(location.id, width, height),\n      content_type: \"image/jpeg\"\n    }\n  end\n\n  def default_image(_, _), do: nil\n\n  def correct_brand_color(brand_color) do\n    {h, _s, _l} = Hex.to_hsl(brand_color)\n\n    \"#\" <> HSL.to_hex({h, 100.0, 13.5})\n  end\n\n  defp put_corrected_brand_color(%{changes: %{brand_color: brand_color}} = changeset) do\n    if Keyword.has_key?(changeset.errors, :brand_color) do\n      changeset\n    else\n      put_change(changeset, :corrected_brand_color, correct_brand_color(brand_color))\n    end\n  end\n\n  defp put_corrected_brand_color(changeset) do\n    changeset\n  end\nend\n", 16, 32)
        (language_server 0.4.0) lib/language_server/server.ex:538: anonymous fn/3 in ElixirLS.LanguageServer.Server.handle_request_async/2
:: --> lsp-elixir shutdown(5): None
:: <<< lsp-elixir 5: None
::  -> lsp-elixir exit: None

Waited 2 hours to test this today, after releasing 0.5.0 with ElixirLS 0.11. It seems to work fine.