LSP & Hoc mode

This commit is contained in:
2021-09-25 16:01:58 -04:00
parent 0d8991504f
commit 0939ef0be8
4 changed files with 69 additions and 25 deletions

View File

@@ -5,7 +5,7 @@
;; If there is more than one, they won't work right.
'(conda-anaconda-home "~/opt/anaconda3")
'(custom-safe-themes
'("29addd67feb95ca1179e60d476bb92c1f11835548e2efaec15c9ac6af2a8e6a8" "9b7a425c38c4894e161887c26381c2a6fc1de3c1407158507caaf469d76eb27b" "bce055e1681dd343659957710af77f7a6ad106677d42c61f86ebeedf637c4493" "f62c69472d3f506179d797131c014fe4095d9609dddf14542c50e0388f1e8d6d" "cf143bf23fa8160f87331893cdadc40b876556634621dfa373fcf93c4c97c444" "f459dfd377e9cb98d90e53383dcca7d73396cc0a22b31d39af24fb1cf3548fb5" "fcc14e1a22c99d77f7b1455b0c8a320f8afd0c1f4a9c5c50b45f676eb0c54ba2" "a6bae299481c3c0058e611d2c32ca169fa27203345a880806a5a8554cdd2e588" "feb9556e03558588e29e6659c8e01ea3d2a17a1e7a13e9bf9fc9e59cacba4b72" default))
'("8cda1cfae8e393bfb23f1d448d4be10720835d086f7db080908a7c8d01566516" "a27f7b52fe66bacaec9059f8afd04d055a4ac3c2fba9eb9128c81e10152fc566" "1ba7196d8e7b883272ea8818a5163aec21b57023368febf55255816226f7b370" "8256e7e03444834d34915a226dc24933b0d680a0a1da568ec03f852be776f168" "4ac2f45e6b46e5bb50826d4250df71a57124169b82cc0ad75e436de6e70a9690" "29addd67feb95ca1179e60d476bb92c1f11835548e2efaec15c9ac6af2a8e6a8" "9b7a425c38c4894e161887c26381c2a6fc1de3c1407158507caaf469d76eb27b" "bce055e1681dd343659957710af77f7a6ad106677d42c61f86ebeedf637c4493" "f62c69472d3f506179d797131c014fe4095d9609dddf14542c50e0388f1e8d6d" "cf143bf23fa8160f87331893cdadc40b876556634621dfa373fcf93c4c97c444" "f459dfd377e9cb98d90e53383dcca7d73396cc0a22b31d39af24fb1cf3548fb5" "fcc14e1a22c99d77f7b1455b0c8a320f8afd0c1f4a9c5c50b45f676eb0c54ba2" "a6bae299481c3c0058e611d2c32ca169fa27203345a880806a5a8554cdd2e588" "feb9556e03558588e29e6659c8e01ea3d2a17a1e7a13e9bf9fc9e59cacba4b72" default))
'(elpy-rpc-python-command "python3")
'(python-shell-completion-native-enable nil))
(custom-set-faces
@@ -25,7 +25,7 @@
'(company-tooltip-search ((t (:inherit company-tooltip-selection))))
'(company-tooltip-search-selection ((t (:inherit company-tooltip-selection))))
'(company-tooltip-selection ((t (:background "#4584a2" :foreground "white"))))
'(elpy-codecell-boundary ((t (:background "#4f9"))))
'(elpy-codecell-boundary ((t (:background "#333"))))
'(rainbow-delimiters-depth-1-face ((t (:foreground "#69f"))))
'(rainbow-delimiters-depth-2-face ((t (:foreground "#39b"))))
'(rainbow-delimiters-depth-3-face ((t (:foreground "#278"))))

22
hoc-mode.el Normal file
View File

@@ -0,0 +1,22 @@
;;; hoc-mode.el -- mode for editing NEURON hox files
(setq hoc-mode-keywords "proc\\|objref\\|create\\|public\\|begintemplate\\|endtemplate\\|access\\|if\\|for")
(setq hoc-mode-highlights
'(
( "//.*" . font-lock-comment-face)
( hoc-mode-keywords . font-lock-keyword-face)
( "[a-z0-9A-Z_]+?[ \n\t]*\\((\\)" . font-lock-function-name-face)
)
)
(define-derived-mode hoc-mode
prog-mode "hoc"
"Major mode for NEURON Hoc."
(setq comment-start "//")
(setq font-lock-defaults '(hoc-mode-highlights))
)
(provide 'hoc-mode)
;;; hoc-mode.el ends here

66
init.el
View File

@@ -80,17 +80,6 @@
(use-package php-mode)
;;;; End Web related
;;;; C Related
(use-package irony
:init
(add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode)
(add-hook 'objc-mode-hook 'irony-mode)
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
)
;;;; End C Related
;;;; Company Related
(use-package company :demand t
:bind
@@ -111,19 +100,45 @@
)
(add-hook 'after-init-hook 'global-company-mode)
; Python
(use-package elpy
:ensure t
;; LSP related
(use-package lsp-mode
:init
(elpy-enable)
(setq elpy-rpc-backend "jedi"))
(use-package pyenv-mode)
(use-package company-jedi)
(setq lsp-keymap-prefix "C-c l")
:hook (
(dart-mode . lsp)
(python-mode . lsp)
(c-mode . lsp)
(haskell-mode . lsp)
;; which key support v v v
(lsp-mode . lsp-enable-which-key-integration))
:commands lsp)
;; optionally
(use-package lsp-ui :commands lsp-ui-mode)
;; if you are helm user
(use-package helm-lsp :commands helm-lsp-workspace-symbol)
;; if you are ivy user
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
;; optionally if you want to use debugger
(use-package dap-mode)
;; (use-package dap-LANGUAGE) to load the dap adapter for your language
;; optional if you want which-key integration
(use-package which-key
:config
(which-key-mode))
; Python
(use-package pyvenv
:init
(setenv "WORKON_HOME" "~/.pyenv/versions"))
(use-package lsp-python)
; C related
(use-package company-ctags)
(use-package company-c-headers)
(use-package company-irony)
; Haskell
(use-package company-ghci)
;;;; End Company Related
@@ -133,6 +148,7 @@
:config
(setq haskell-mode-hook '(flyspell-prog-mode interactive-haskell-mode))
)
(use-package lsp-haskell)
(use-package ghci-completion)
;;;; End Haskell Related
@@ -143,8 +159,7 @@
;;;; END NEURON Related
;;;; Racket Related
(use-package geiser-racket)
;;; Lisp / Parentheses Related
(use-package rainbow-delimiters
:commands rainbow-delimiters-mode
:hook (
@@ -167,8 +182,10 @@
(geiser-mode . paredit-mode)
)
)
;;; End Lisp / Parentheses Related
;;;; Racket Related
(use-package geiser-racket)
;;;; End Racket Related
;;;; Org Related
@@ -254,4 +271,9 @@
;; pyvenv rainbow-mode company-ctags company-jedi
;; company-anaconda anaconda-mode matlab-mode markdown-mode company-irony-c-headers company-irony irony rust-mode company-c-headers cdlatex auctex use-package smog conda gnuplot php-mode web-mode org-ref pdf-tools chess
;;; Flutter Related
(use-package dart-mode)
(use-package lsp-dart)
;;; End Flutter Related
;;;; END PACKAGES

View File

@@ -18,7 +18,7 @@
'(font-lock-comment-face ((t (:foreground "#e512ff"))))
'(font-lock-constant-face ((t (:foreground "DeepPink1"))))
'(font-lock-doc-face ((t (:inherit (font-lock-string-face)))))
'(font-lock-function-name-face ((t (:foreground "green"))))
'(font-lock-function-name-face ((t (:foreground "#05fa60"))))
'(font-lock-keyword-face ((t (:foreground "chartreuse"))))
'(font-lock-negation-char-face ((t nil)))
'(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face)))))