Aggiunta configurazione per Erlang e Clojure
This commit is contained in:
66
.emacs
66
.emacs
@@ -4,76 +4,62 @@
|
|||||||
;without this line being
|
;without this line being
|
||||||
;specificaly here and not
|
;specificaly here and not
|
||||||
;anywhere else ~_~
|
;anywhere else ~_~
|
||||||
(load "~/.emacs.rc/rc.el")
|
|
||||||
(load "~/.emacs.rc/misc-rc.el")
|
(load "~/.emacs.rc/rc.el") ;It MUST keep here
|
||||||
|
|
||||||
|
(load "~/.emacs.rc/alchemist.el")
|
||||||
(load "~/.emacs.rc/appearance-rc.el")
|
(load "~/.emacs.rc/appearance-rc.el")
|
||||||
(load "~/.emacs.rc/ido-smex-rc.el")
|
(load "~/.emacs.rc/autocommit-rc.el")
|
||||||
(load "~/.emacs.rc/ccmode-rc.el")
|
(load "~/.emacs.rc/ccmode-rc.el")
|
||||||
(load "~/.emacs.rc/paredit-rc.el")
|
(load "~/.emacs.rc/clojure-rc.el")
|
||||||
(load "~/.emacs.rc/emacs-lisp-rc.el")
|
(load "~/.emacs.rc/company-rc.el")
|
||||||
(load "~/.emacs.rc/haskell-mode-rc.el")
|
|
||||||
(load "~/.emacs.rc/magit-rc.el")
|
|
||||||
(load "~/.emacs.rc/multiple-cursors-rc.el")
|
|
||||||
(load "~/.emacs.rc/openwith-rc.el")
|
|
||||||
(load "~/.emacs.rc/dired-rc.el")
|
(load "~/.emacs.rc/dired-rc.el")
|
||||||
(load "~/.emacs.rc/helm-rc.el")
|
(load "~/.emacs.rc/editorconfig-rc.el")
|
||||||
(load "~/.emacs.rc/yasnippet-rc.el")
|
(load "~/.emacs.rc/emacs-lisp-rc.el")
|
||||||
(load "~/.emacs.rc/rainbow-rc.el")
|
(load "~/.emacs.rc/eldoc-mode-rc.el")
|
||||||
(load "~/.emacs.rc/word-wrap-rc.el")
|
(load "~/.emacs.rc/erlang-rc.el")
|
||||||
|
(load "~/.emacs.rc/haskell-mode-rc.el")
|
||||||
|
(load "~/.emacs.rc/ido-smex-rc.el")
|
||||||
(load "~/.emacs.rc/js2-mode-rc.el")
|
(load "~/.emacs.rc/js2-mode-rc.el")
|
||||||
|
(load "~/.emacs.rc/latex-mode-rc.el")
|
||||||
|
(load "~/.emacs.rc/magit-rc.el")
|
||||||
|
(load "~/.emacs.rc/misc-rc.el")
|
||||||
|
(load "~/.emacs.rc/move-text-rc.el")
|
||||||
|
(load "~/.emacs.rc/multiple-cursors-rc.el")
|
||||||
|
(load "~/.emacs.rc/nasm-mode-rc.el")
|
||||||
(load "~/.emacs.rc/nxml-mode-rc.el")
|
(load "~/.emacs.rc/nxml-mode-rc.el")
|
||||||
(load "~/.emacs.rc/tramp-rc.el")
|
(load "~/.emacs.rc/openwith-rc.el")
|
||||||
(load "~/.emacs.rc/org-mode-rc.el")
|
(load "~/.emacs.rc/org-mode-rc.el")
|
||||||
(load "~/.emacs.rc/org-cliplink-rc.el")
|
(load "~/.emacs.rc/org-cliplink-rc.el")
|
||||||
(load "~/.emacs.rc/org-babel-rc.el")
|
(load "~/.emacs.rc/org-babel-rc.el")
|
||||||
(load "~/.emacs.rc/org-capture-rc.el")
|
(load "~/.emacs.rc/org-capture-rc.el")
|
||||||
(load "~/.emacs.rc/autocommit-rc.el")
|
(load "~/.emacs.rc/paredit-rc.el")
|
||||||
(load "~/.emacs.rc/eldoc-mode-rc.el")
|
(load "~/.emacs.rc/rainbow-rc.el")
|
||||||
(load "~/.emacs.rc/recentf-mode-rc.el")
|
(load "~/.emacs.rc/recentf-mode-rc.el")
|
||||||
(load "~/.emacs.rc/company-rc.el")
|
(load "~/.emacs.rc/shell-integration-rc.el")
|
||||||
(load "~/.emacs.rc/tide-rc.el")
|
(load "~/.emacs.rc/tide-rc.el")
|
||||||
(load "~/.emacs.rc/editorconfig-rc.el")
|
(load "~/.emacs.rc/tramp-rc.el")
|
||||||
(load "~/.emacs.rc/nasm-mode-rc.el")
|
(load "~/.emacs.rc/word-wrap-rc.el")
|
||||||
(load "~/.emacs.rc/latex-mode-rc.el")
|
(load "~/.emacs.rc/yasnippet-rc.el")
|
||||||
(load "~/.emacs.rc/agda2-mode-rc.el")
|
|
||||||
(load "~/.emacs.rc/move-text-rc.el")
|
|
||||||
(load "~/.emacs.rc/alchemist.el")
|
|
||||||
(load "~/.emacs.rc/metals-rc.el")
|
|
||||||
(load "~/.emacs.rc/neotree-rc.el")
|
|
||||||
;;(load "~/.emacs.rc/powershell-rc.el")
|
|
||||||
;;(load "~/.emacs.rc/whitespace-mode-rc.el")
|
|
||||||
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.ebi\\'" . lisp-mode))
|
(add-to-list 'auto-mode-alist '("\\.ebi\\'" . lisp-mode))
|
||||||
|
|
||||||
;;; Packages that don't require configuration
|
;;; Packages that don't require configuration
|
||||||
(rc/require
|
(rc/require
|
||||||
'elixir-mode
|
'elixir-mode
|
||||||
'scala-mode
|
|
||||||
'd-mode
|
|
||||||
'yaml-mode
|
'yaml-mode
|
||||||
'glsl-mode
|
'glsl-mode
|
||||||
'tuareg
|
'tuareg
|
||||||
'lua-mode
|
|
||||||
'less-css-mode
|
'less-css-mode
|
||||||
'graphviz-dot-mode
|
'graphviz-dot-mode
|
||||||
'clojure-mode
|
'clojure-mode
|
||||||
'cmake-mode
|
'cmake-mode
|
||||||
'rust-mode
|
|
||||||
'csharp-mode
|
|
||||||
'nim-mode
|
|
||||||
'jinja2-mode
|
'jinja2-mode
|
||||||
'markdown-mode
|
'markdown-mode
|
||||||
'purescript-mode
|
|
||||||
'nix-mode
|
'nix-mode
|
||||||
'dockerfile-mode
|
'dockerfile-mode
|
||||||
'love-minor-mode
|
'love-minor-mode
|
||||||
'toml-mode
|
'toml-mode
|
||||||
'nginx-mode
|
|
||||||
'kotlin-mode
|
|
||||||
'go-mode
|
|
||||||
'php-mode
|
|
||||||
'racket-mode
|
|
||||||
'qml-mode
|
|
||||||
'ag
|
'ag
|
||||||
'hindent
|
'hindent
|
||||||
'elpy
|
'elpy
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
'(org-refile-use-outline-path (quote file))
|
'(org-refile-use-outline-path (quote file))
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
(quote
|
(quote
|
||||||
(atom-one-dark-theme alchemist company-c-headers company-cabal company-ctags company-ghc company-ghci company-go company-shell company-web company-erlang wombat-theme darcula-theme darcula-theme-theme zeal-at-point yaml-mode xquery-mode uuidgen tuareg tt-mode toml-mode tide smex slime rtags rainbow-mode racket-mode racer qml-mode purescript-mode powershell picolisp-mode php-mode paredit pacmacs package-lint org-pomodoro org-cliplink openwith nsis-mode nodejs-repl nix-mode nim-mode nginx-mode neotree nasm-mode multiple-cursors morganey-mode markdown-mode magit love-minor-mode less-css-mode kotlin-mode js2-mode jira-markup-mode jinja2-mode jade-mode jabber ido-ubiquitous htmlize helm-ls-git helm-git-grep helm-cmd-t haskell-mode handlebars-mode gruber-darker-theme groovy-mode graphviz-dot-mode gradle-mode google-translate go-mode glsl-mode ggtags fsharp-mode flycheck-rust fixmee evil erlang ensime emojify elpy elm-mode elfeed editorconfig dropdown-list dockerfile-mode d-mode csv-nav csharp-mode crux cmake-mode clojure-mode cil-mode buffer-move bnfc batch-mode ag ack)))
|
(flycheck-rebar3 clj-refactor clojure-snippets cider cider-decompile cider-eval-sexp-fu cider-hydra atom-one-dark-theme alchemist company-c-headers company-cabal company-ctags company-ghc company-ghci company-go company-shell company-web company-erlang wombat-theme darcula-theme darcula-theme-theme zeal-at-point yaml-mode xquery-mode uuidgen tuareg tt-mode toml-mode tide smex slime rtags rainbow-mode racket-mode racer qml-mode purescript-mode powershell picolisp-mode php-mode paredit pacmacs package-lint org-pomodoro org-cliplink openwith nsis-mode nodejs-repl nix-mode nim-mode nginx-mode neotree nasm-mode multiple-cursors morganey-mode markdown-mode magit love-minor-mode less-css-mode kotlin-mode js2-mode jira-markup-mode jinja2-mode jade-mode jabber ido-ubiquitous htmlize helm-ls-git helm-git-grep helm-cmd-t haskell-mode handlebars-mode gruber-darker-theme groovy-mode graphviz-dot-mode gradle-mode google-translate go-mode glsl-mode ggtags fsharp-mode flycheck-rust fixmee evil erlang ensime emojify elpy elm-mode elfeed editorconfig dropdown-list dockerfile-mode d-mode csv-nav csharp-mode crux cmake-mode clojure-mode cil-mode buffer-move bnfc batch-mode ag ack)))
|
||||||
'(safe-local-variable-values
|
'(safe-local-variable-values
|
||||||
(quote
|
(quote
|
||||||
((haskell-process-args-cabal-new-repl "--ghc-option=-ferror-spans" "--ghc-option=-Wno-missing-home-modules" "exe:HyperNerd")
|
((haskell-process-args-cabal-new-repl "--ghc-option=-ferror-spans" "--ghc-option=-Wno-missing-home-modules" "exe:HyperNerd")
|
||||||
|
|||||||
98
.emacs.rc/clojure-rc.el
Normal file
98
.emacs.rc/clojure-rc.el
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
;;;;
|
||||||
|
;; Clojure
|
||||||
|
;;;;
|
||||||
|
|
||||||
|
;; Enable paredit for Clojure
|
||||||
|
(add-hook 'clojure-mode-hook 'enable-paredit-mode)
|
||||||
|
|
||||||
|
;; This is useful for working with camel-case tokens, like names of
|
||||||
|
;; Java classes (e.g. JavaClassName)
|
||||||
|
(add-hook 'clojure-mode-hook 'subword-mode)
|
||||||
|
|
||||||
|
;; A little more syntax highlighting
|
||||||
|
(require 'clojure-mode-extra-font-locking)
|
||||||
|
|
||||||
|
;; syntax hilighting for midje
|
||||||
|
(add-hook 'clojure-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(setq inferior-lisp-program "lein repl")
|
||||||
|
(font-lock-add-keywords
|
||||||
|
nil
|
||||||
|
'(("(\\(facts?\\)"
|
||||||
|
(1 font-lock-keyword-face))
|
||||||
|
("(\\(background?\\)"
|
||||||
|
(1 font-lock-keyword-face))))
|
||||||
|
(define-clojure-indent (fact 1))
|
||||||
|
(define-clojure-indent (facts 1))
|
||||||
|
(rainbow-delimiters-mode)))
|
||||||
|
|
||||||
|
;;;;
|
||||||
|
;; Cider
|
||||||
|
;;;;
|
||||||
|
|
||||||
|
;; provides minibuffer documentation for the code you're typing into the repl
|
||||||
|
(add-hook 'cider-mode-hook 'eldoc-mode)
|
||||||
|
|
||||||
|
;; go right to the REPL buffer when it's finished connecting
|
||||||
|
(setq cider-repl-pop-to-buffer-on-connect t)
|
||||||
|
|
||||||
|
;; When there's a cider error, show its buffer and switch to it
|
||||||
|
(setq cider-show-error-buffer t)
|
||||||
|
(setq cider-auto-select-error-buffer t)
|
||||||
|
|
||||||
|
;; Where to store the cider history.
|
||||||
|
(setq cider-repl-history-file "~/.emacs.d/cider-history")
|
||||||
|
|
||||||
|
;; Wrap when navigating history.
|
||||||
|
(setq cider-repl-wrap-history t)
|
||||||
|
|
||||||
|
;; enable paredit in your REPL
|
||||||
|
(add-hook 'cider-repl-mode-hook 'paredit-mode)
|
||||||
|
|
||||||
|
;; Use clojure mode for other extensions
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.edn$" . clojure-mode))
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.boot$" . clojure-mode))
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.cljs.*$" . clojure-mode))
|
||||||
|
(add-to-list 'auto-mode-alist '("lein-env" . enh-ruby-mode))
|
||||||
|
|
||||||
|
|
||||||
|
;; key bindings
|
||||||
|
;; these help me out with the way I usually develop web apps
|
||||||
|
(defun cider-start-http-server ()
|
||||||
|
(interactive)
|
||||||
|
(cider-load-current-buffer)
|
||||||
|
(let ((ns (cider-current-ns)))
|
||||||
|
(cider-repl-set-ns ns)
|
||||||
|
(cider-interactive-eval (format "(println '(def server (%s/start))) (println 'server)" ns))
|
||||||
|
(cider-interactive-eval (format "(def server (%s/start)) (println server)" ns))))
|
||||||
|
|
||||||
|
|
||||||
|
(defun cider-refresh ()
|
||||||
|
(interactive)
|
||||||
|
(cider-interactive-eval (format "(user/reset)")))
|
||||||
|
|
||||||
|
(defun cider-user-ns ()
|
||||||
|
(interactive)
|
||||||
|
(cider-repl-set-ns "user"))
|
||||||
|
|
||||||
|
(eval-after-load 'cider
|
||||||
|
'(progn
|
||||||
|
(define-key clojure-mode-map (kbd "C-c C-v") 'cider-start-http-server)
|
||||||
|
(define-key clojure-mode-map (kbd "C-M-r") 'cider-refresh)
|
||||||
|
(define-key clojure-mode-map (kbd "C-c u") 'cider-user-ns)
|
||||||
|
(define-key cider-mode-map (kbd "C-c u") 'cider-user-ns)))
|
||||||
|
|
||||||
|
;; Customizations relating to editing a buffer.
|
||||||
|
|
||||||
|
;; Key binding to use "hippie expand" for text autocompletion
|
||||||
|
;; http://www.emacswiki.org/emacs/HippieExpand
|
||||||
|
(global-set-key (kbd "M-/") 'hippie-expand)
|
||||||
|
|
||||||
|
;; Lisp-friendly hippie expand
|
||||||
|
(setq hippie-expand-try-functions-list
|
||||||
|
'(try-expand-dabbrev
|
||||||
|
try-expand-dabbrev-all-buffers
|
||||||
|
try-expand-dabbrev-from-kill
|
||||||
|
try-complete-lisp-symbol-partially
|
||||||
|
try-complete-lisp-symbol))
|
||||||
|
|
||||||
@@ -3,3 +3,19 @@
|
|||||||
(local-set-key (kbd "C-c C-j")
|
(local-set-key (kbd "C-c C-j")
|
||||||
(quote eval-print-last-sexp))))
|
(quote eval-print-last-sexp))))
|
||||||
(add-to-list 'auto-mode-alist '("Cask" . emacs-lisp-mode))
|
(add-to-list 'auto-mode-alist '("Cask" . emacs-lisp-mode))
|
||||||
|
|
||||||
|
;; Automatically load paredit when editing a lisp file
|
||||||
|
;; More at http://www.emacswiki.org/emacs/ParEdit
|
||||||
|
(autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
|
||||||
|
(add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode)
|
||||||
|
(add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode)
|
||||||
|
(add-hook 'ielm-mode-hook #'enable-paredit-mode)
|
||||||
|
(add-hook 'lisp-mode-hook #'enable-paredit-mode)
|
||||||
|
(add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode)
|
||||||
|
(add-hook 'scheme-mode-hook #'enable-paredit-mode)
|
||||||
|
|
||||||
|
;; eldoc-mode shows documentation in the minibuffer when writing code
|
||||||
|
;; http://www.emacswiki.org/emacs/ElDoc
|
||||||
|
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
|
||||||
|
(add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
|
||||||
|
(add-hook 'ielm-mode-hook 'turn-on-eldoc-mode)
|
||||||
|
|||||||
42
.emacs.rc/erlang-rc.el
Normal file
42
.emacs.rc/erlang-rc.el
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
(use-package ivy-erlang-complete
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package flycheck
|
||||||
|
:ensure t
|
||||||
|
:delight
|
||||||
|
:config (global-flycheck-mode))
|
||||||
|
|
||||||
|
(use-package hydra
|
||||||
|
:defer 2
|
||||||
|
:bind ("C-c f" . hydra-flycheck/body))
|
||||||
|
|
||||||
|
(defhydra hydra-flycheck (:color blue)
|
||||||
|
"
|
||||||
|
^
|
||||||
|
^Errors^
|
||||||
|
^──────^
|
||||||
|
_<_ previous
|
||||||
|
_>_ next
|
||||||
|
_l_ list
|
||||||
|
_q_ quit
|
||||||
|
^^
|
||||||
|
"
|
||||||
|
("q" nil)
|
||||||
|
("<" flycheck-previous-error :color pink)
|
||||||
|
(">" flycheck-next-error :color pink)
|
||||||
|
("l" flycheck-list-errors))
|
||||||
|
|
||||||
|
(use-package erlang
|
||||||
|
:load-path ("/usr/lib/erlang/lib/tools-3.3/emacs/")
|
||||||
|
:mode (("\\.erl?$" . erlang-mode)
|
||||||
|
("rebar\\.config$" . erlang-mode)
|
||||||
|
("relx\\.config$" . erlang-mode)
|
||||||
|
("sys\\.config\\.src$" . erlang-mode)
|
||||||
|
("sys\\.config$" . erlang-mode)
|
||||||
|
("\\.config\\.src?$" . erlang-mode)
|
||||||
|
("\\.config\\.script?$" . erlang-mode)
|
||||||
|
("\\.hrl?$" . erlang-mode)
|
||||||
|
("\\.app?$" . erlang-mode)
|
||||||
|
("\\.app.src?$" . erlang-mode)
|
||||||
|
("\\Emakefile" . erlang-mode)))
|
||||||
|
|
||||||
@@ -132,7 +132,18 @@ This command does the inverse of `fill-paragraph'."
|
|||||||
(setq x-alt-keysym 'meta)
|
(setq x-alt-keysym 'meta)
|
||||||
|
|
||||||
(setq confirm-kill-emacs 'y-or-n-p)
|
(setq confirm-kill-emacs 'y-or-n-p)
|
||||||
|
;; Changes all yes/no questions to y/n type
|
||||||
|
(fset 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
;; shell scripts
|
||||||
|
(setq-default sh-basic-offset 2)
|
||||||
|
(setq-default sh-indentation 2)
|
||||||
|
|
||||||
|
;; No need for ~ files when editing
|
||||||
|
(setq create-lockfiles nil)
|
||||||
|
|
||||||
|
;; Go straight to scratch buffer on startup
|
||||||
|
(setq inhibit-startup-message t)
|
||||||
|
|
||||||
(add-hook 'emacs-startup-hook
|
(add-hook 'emacs-startup-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
@@ -143,3 +154,4 @@ This command does the inverse of `fill-paragraph'."
|
|||||||
|
|
||||||
|
|
||||||
(server-start)
|
(server-start)
|
||||||
|
|
||||||
|
|||||||
6
.emacs.rc/shell-integration-rc.el
Normal file
6
.emacs.rc/shell-integration-rc.el
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
;; Sets up exec-path-from shell
|
||||||
|
;; https://github.com/purcell/exec-path-from-shell
|
||||||
|
(when (memq window-system '(mac ns))
|
||||||
|
(exec-path-from-shell-initialize)
|
||||||
|
(exec-path-from-shell-copy-envs
|
||||||
|
'("PATH")))
|
||||||
Reference in New Issue
Block a user