svelte-lsp-mode.el 973 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. ;;; svelte-lsp-mode.el starts here
  2. (setq lsp-keymap-prefix "C-c l")
  3. (require 'company)
  4. (require 'flycheck)
  5. (require 'lsp-modeline)
  6. (require 'lsp-headerline)
  7. (require 'lsp-completion)
  8. (require 'lsp-svelte)
  9. (require 'lsp-lens)
  10. (require 'lsp-ui)
  11. (require 'which-key)
  12. (require 'web-mode)
  13. ;;;###autoload
  14. (define-derived-mode svelte-mode web-mode "svelte-mode"
  15. "A major mode deriving from web-mode to work with svelte files using lsp-mode"
  16. :group 'svelte
  17. (message "%s" "Activating svelte-mode...")
  18. (lsp-ensure-server 'svelte-ls)
  19. (lsp-ensure-server 'ts-ls)
  20. (which-key-mode)
  21. (lsp-enable-which-key-integration t)
  22. (if (not (assoc "svelte" web-mode-engines-alist))
  23. (cons '("svelte" . "\\.svelte\\'") web-mode-engines-alist))
  24. (flycheck-mode +1)
  25. (lsp)
  26. (lsp-ui-sideline-mode)
  27. (setq lsp-ui-sideline-show-hover t))
  28. ;;;###autoload
  29. (add-to-list 'auto-mode-alist '("\\.svelte\\'" . svelte-mode))
  30. (provide 'svelte-lsp-mode)
  31. ;;; svelte-lsp-mode.el ends here