Replace ag with ripgrep
Add haskell mode Make one of the themes to use light Replace ctags with uctags Do not force paredit in clojure mode
This commit is contained in:
parent
d2e4c202b0
commit
a9bfdff5b0
11 changed files with 95 additions and 11 deletions
2
02ivy.el
2
02ivy.el
|
|
@ -9,7 +9,7 @@
|
|||
ivy-count-format "(%d of %d) " ;; Current candidate count style
|
||||
ivy-display-style 'fancy)) ;; Formatting style
|
||||
|
||||
(global-set-key (kbd "C-c a") 'counsel-ag)
|
||||
(global-set-key (kbd "C-c a") 'counsel-rg)
|
||||
(global-set-key (kbd "C-c t") 'counsel-find-file)
|
||||
(global-set-key (kbd "C-c C-s") 'swiper) ;; Find things by regexp
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x) ;; M-x on steroids
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ _d_: Deft _c_: Invalidate cache
|
|||
"
|
||||
("q" nil "cancel" :color blue)
|
||||
|
||||
("a" counsel-ag)
|
||||
("a" counsel-rg)
|
||||
("b" ibuffer)
|
||||
("t" counsel-find-file)
|
||||
("d" deft)
|
||||
("s" counsel-projectile-switch-project)
|
||||
("f" counsel-projectile-find-file)
|
||||
("g" counsel-projectile-ag)
|
||||
("g" counsel-projectile-rg)
|
||||
("c" projectile-invalidate-cache)
|
||||
("n" projectile-add-known-project)
|
||||
("i" ielm)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
(setq tags-add-tables nil)
|
||||
(setq ctags/refresh-command
|
||||
(format "ctags -e -R -f %sTAGS %s."
|
||||
(format "uctags -e -R -f %sTAGS %s."
|
||||
default-directory default-directory))
|
||||
|
||||
;; Sentinel function for capturing ctags
|
||||
|
|
|
|||
9
init.el
9
init.el
|
|
@ -79,6 +79,7 @@
|
|||
(load "$HOME/.emacs.d/languages/kotlin.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/reason.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/markdown.el" 'f 't)
|
||||
;; (load "$HOME/.emacs.d/languages/haskell.el" 'f 't)
|
||||
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
|
|
@ -87,10 +88,14 @@
|
|||
;; If there is more than one, they won't work right.
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
||||
("1f38fb71e55e5ec5f14a39d03ca7d7a416123d3f0847745c7bade053ca58f043" "fec45178b55ad0258c5f68f61c9c8fd1a47d73b08fb7a51c15558d42c376083d" "60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(merlin reason-mode elm-mode deft buffer-move tide gradle-mode kotlin-mode clj-refactor planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui lsp-mode nginx-mode gitignore-mode js2-mode keyfreq visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell))))
|
||||
(slim-mode company-lsp lsp tuareg intero merlin reason-mode elm-mode deft buffer-move tide gradle-mode kotlin-mode clj-refactor planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui lsp-mode nginx-mode gitignore-mode js2-mode keyfreq visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell)))
|
||||
'(safe-local-variable-values
|
||||
(quote
|
||||
((haskell-process-use-ghci . t)
|
||||
(haskell-indent-spaces . 4)))))
|
||||
|
||||
;; Improve font settings in Markdown code
|
||||
(custom-set-faces
|
||||
|
|
|
|||
|
|
@ -26,7 +26,9 @@
|
|||
(column-enforce-n 80)
|
||||
(clj-refactor-mode 1)
|
||||
(cider-mode 1)
|
||||
(paredit-mode 1)
|
||||
|
||||
;; Do not enable paredit for clojure
|
||||
;; (paredit-mode 1)
|
||||
;; Do not show separate error window when in REPL
|
||||
(setq cider-show-error-buffer 'except-in-repl))
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@
|
|||
(setq-local
|
||||
ctags/refresh-command
|
||||
(format
|
||||
"ctags -e -R --languages=erlang -f %sTAGS %ssrc %sdeps %sapps %s_build %stest %slib/stdlib-* %slib/kernel-*"
|
||||
"uctags -e -R --languages=erlang -f %sTAGS %ssrc %sdeps %sapps %s_build %stest %slib/stdlib-* %slib/kernel-*"
|
||||
(projectile-project-root) (projectile-project-root)
|
||||
(projectile-project-root) (projectile-project-root)
|
||||
(projectile-project-root) (projectile-project-root)
|
||||
|
|
|
|||
3
languages/haskell.el
Normal file
3
languages/haskell.el
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(use-package intero
|
||||
:defer t
|
||||
:ensure t)
|
||||
|
|
@ -7,12 +7,19 @@
|
|||
:after (company flycheck)
|
||||
:hook ((before-save . tide-format-before-save)))
|
||||
|
||||
(use-package lsp-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (typescript-mode . lsp))
|
||||
|
||||
;; Use js2-mode for javascript editing
|
||||
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . js2-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
|
||||
|
||||
;; Use js2-mode for typescript editing
|
||||
(add-to-list 'auto-mode-alist '("\\.ts\\'" . js2-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-mode))
|
||||
|
||||
(defun activate-js2-mode ()
|
||||
"JS2 mode overrides."
|
||||
|
|
@ -36,3 +43,68 @@
|
|||
'(company-yasnippet company-tide)))
|
||||
|
||||
(add-hook 'js2-mode-hook 'activate-js2-mode)
|
||||
|
||||
(defun activate-typescript-mode ()
|
||||
(set-indent 2)
|
||||
(column-enforce-n 80))
|
||||
|
||||
;; Magic for LSP mode
|
||||
(with-eval-after-load 'lsp-mode
|
||||
;; enable log only for debug
|
||||
(setq lsp-log-io nil)
|
||||
|
||||
;; use `evil-matchit' instead
|
||||
(setq lsp-enable-folding nil)
|
||||
|
||||
;; no real time syntax check
|
||||
(setq lsp-diagnostic-package :none)
|
||||
|
||||
;; handle yasnippet by myself
|
||||
(setq lsp-enable-snippet nil)
|
||||
|
||||
;; use `company-ctags' only.
|
||||
;; Please note `company-lsp' is automatically enabled if installed
|
||||
(setq lsp-enable-completion-at-point nil)
|
||||
|
||||
;; turn off for better performance
|
||||
(setq lsp-enable-symbol-highlighting nil)
|
||||
|
||||
;; use ffip instead
|
||||
(setq lsp-enable-links nil)
|
||||
|
||||
;; auto restart lsp
|
||||
(setq lsp-restart 'auto-restart)
|
||||
|
||||
;; @see https://github.com/emacs-lsp/lsp-mode/pull/1498 and code related to auto configure.
|
||||
;; Require clients could be slow.
|
||||
;; I only load `lsp-clients' because it includes the js client which I'm interested
|
||||
(setq lsp-client-packages '(lsp-clients))
|
||||
|
||||
;; don't scan 3rd party javascript libraries
|
||||
(push "[/\\\\][^/\\\\]*\\.\\(json\\|html\\|jade\\)$" lsp-file-watch-ignored) ; json
|
||||
|
||||
;; don't ping LSP lanaguage server too frequently
|
||||
(defvar lsp-on-touch-time 0)
|
||||
(defadvice lsp-on-change (around lsp-on-change-hack activate)
|
||||
;; don't run `lsp-on-change' too frequently
|
||||
(when (> (- (float-time (current-time))
|
||||
lsp-on-touch-time) 30) ;; 30 seconds
|
||||
(setq lsp-on-touch-time (float-time (current-time)))
|
||||
ad-do-it)))
|
||||
|
||||
(defun my-connect-lsp (&optional no-reconnect)
|
||||
"Connect lsp server. If NO-RECONNECT is t, don't shutdown existing lsp connection."
|
||||
(interactive "P")
|
||||
(when (and (not no-reconnect)
|
||||
(fboundp 'lsp-disconnect))
|
||||
(lsp-disconnect))
|
||||
(when (and buffer-file-name
|
||||
(not (member (file-name-extension buffer-file-name)
|
||||
'("json"))))
|
||||
(unless (and (boundp 'lsp-mode) lsp-mode)
|
||||
(if (derived-mode-p 'js2-mode) (setq-local lsp-enable-imenu nil))
|
||||
(lsp-deferred))))
|
||||
|
||||
|
||||
(add-hook 'typescript-mode 'activate-typescript-mode)
|
||||
(add-hook 'typescript-mode 'my-connect-lsp)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
;; Set specific ctags command
|
||||
(setq-local ctags/refresh-command
|
||||
(format "ctags -e -R --languages=ruby -f %sTAGS %s. $(bundle list --paths)"
|
||||
(format "uctags -e -R --languages=ruby -f %sTAGS %s. $(bundle list --paths)"
|
||||
(projectile-project-root) (projectile-project-root))))
|
||||
|
||||
(add-hook 'ruby-mode-hook 'enh-ruby-mode)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
;; Eex Web mode
|
||||
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.leex\\'" . web-mode))
|
||||
|
||||
;; ERB mode
|
||||
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
|
||||
|
|
@ -18,6 +19,7 @@
|
|||
|
||||
(setq web-mode-extra-auto-pairs
|
||||
'(("eex" . (("<%" "%>")))
|
||||
("leex" . (("<%" "%>")))
|
||||
("erb" . (("<%" "%>")
|
||||
("beg" "end")))))
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
(sml/apply-theme 'respectful)
|
||||
(enable-theme (nth
|
||||
(random 2)
|
||||
'(base16-zenburn-modified base16-material-palenight))))
|
||||
'(base16-zenburn-modified base16-atelier-forest-light))))
|
||||
(progn
|
||||
(enable-theme 'base16-mexico-light)
|
||||
(setq base16-theme-256-color-source "base16-shell")))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue