diff --git a/custom.el b/custom.el index 5c2c2dc..b64daa1 100644 --- a/custom.el +++ b/custom.el @@ -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")))) diff --git a/hoc-mode.el b/hoc-mode.el new file mode 100644 index 0000000..5405023 --- /dev/null +++ b/hoc-mode.el @@ -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 diff --git a/init.el b/init.el index 8b132ff..a2a9c95 100644 --- a/init.el +++ b/init.el @@ -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 diff --git a/themes/UniverseHighContrast-theme.el b/themes/UniverseHighContrast-theme.el index 02b7355..4e09641 100644 --- a/themes/UniverseHighContrast-theme.el +++ b/themes/UniverseHighContrast-theme.el @@ -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)))))