Emacs: Shuffle some sections around
This commit is contained in:
parent
c0217bf6ac
commit
7ec983116f
@ -2381,6 +2381,23 @@ file."
|
|||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
** Programming Languages
|
** Programming Languages
|
||||||
|
*** C
|
||||||
|
|
||||||
|
Design some basic functions for compiling. There's also a hook to close the popper window if there
|
||||||
|
are no warnings or errors. It will check if we are still in the compilation buffer as well as
|
||||||
|
whether the point hasn't been moved. This way, if I switched to another popper buffer, like vterm,
|
||||||
|
it doesn't close it.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(require 'disaster)
|
||||||
|
(setq c-default-style "bsd")
|
||||||
|
(defun joe/c-mode-hook ()
|
||||||
|
(local-set-key (kbd "C-x c r") (defun joe/make-run () (interactive) (compile "make run")))
|
||||||
|
(local-set-key (kbd "C-x c c") (defun joe/make () (interactive) (compile "make")))
|
||||||
|
(electric-pair-local-mode t)
|
||||||
|
(c-toggle-comment-style -1))
|
||||||
|
(add-hook 'c-mode-hook #'joe/c-mode-hook)
|
||||||
|
#+end_src
|
||||||
*** Python
|
*** Python
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(require 'python)
|
(require 'python)
|
||||||
@ -2424,6 +2441,51 @@ file."
|
|||||||
;; (setq lsp-rust-analyzer-display-reborrow-hints t)
|
;; (setq lsp-rust-analyzer-display-reborrow-hints t)
|
||||||
;; (setq lsp-rust-analyzer-cargo-watch-command "clippy"))
|
;; (setq lsp-rust-analyzer-cargo-watch-command "clippy"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
*** OCaml
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(require 'tuareg)
|
||||||
|
(require 'dune)
|
||||||
|
(require 'utop)
|
||||||
|
(require 'merlin)
|
||||||
|
(require 'merlin-eldoc)
|
||||||
|
;; Might be worth checking out, depeding on whether we stick with flycheck or not
|
||||||
|
;; (elpaca 'flycheck-ocaml)
|
||||||
|
;; Also check this out, see if it adds anything
|
||||||
|
;; (require 'ocp-indent)
|
||||||
|
|
||||||
|
(defun opam-env ()
|
||||||
|
"Load the opam env to get the PATH variables so everything works"
|
||||||
|
(interactive nil)
|
||||||
|
(dolist (var
|
||||||
|
(car (read-from-string
|
||||||
|
(shell-command-to-string "opam config env --sexp"))))
|
||||||
|
(setenv (car var) (cadr var))))
|
||||||
|
(setq opam-share
|
||||||
|
(substring (shell-command-to-string
|
||||||
|
"opam config var share 2> /dev/null") 0 -1))
|
||||||
|
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
We won't use the LSP server but rather directly talk to Merlin, since I guess LSP just wraps Merlin
|
||||||
|
and there's no need for a middle-man when it's already been implemented.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
;; (require 'utop)
|
||||||
|
;; Use the opam installed utop
|
||||||
|
(setq utop-command "opam exec -- utop -emacs")
|
||||||
|
|
||||||
|
(let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
|
||||||
|
(when (and opam-share (file-directory-p opam-share))
|
||||||
|
;; Register Merlin
|
||||||
|
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
|
||||||
|
(autoload 'merlin-mode "merlin" nil t nil)
|
||||||
|
;; Automatically start it in OCaml buffers
|
||||||
|
(add-hook 'tuareg-mode-hook 'merlin-mode t)
|
||||||
|
(add-hook 'caml-mode-hook 'merlin-mode t)
|
||||||
|
;; Use opam switch to lookup ocamlmerlin binary
|
||||||
|
(setq merlin-command 'opam)))
|
||||||
|
#+end_src
|
||||||
*** Elisp
|
*** Elisp
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(global-set-key (kbd "C-x C-r") 'eval-region)
|
(global-set-key (kbd "C-x C-r") 'eval-region)
|
||||||
@ -2503,24 +2565,7 @@ file."
|
|||||||
|
|
||||||
(add-hook 'sql-login-hook 'joe/sql-login-hook)
|
(add-hook 'sql-login-hook 'joe/sql-login-hook)
|
||||||
#+end_src
|
#+end_src
|
||||||
*** C
|
*** COMMENT Haskell
|
||||||
|
|
||||||
Design some basic functions for compiling. There's also a hook to close the popper window if there
|
|
||||||
are no warnings or errors. It will check if we are still in the compilation buffer as well as
|
|
||||||
whether the point hasn't been moved. This way, if I switched to another popper buffer, like vterm,
|
|
||||||
it doesn't close it.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(require 'disaster)
|
|
||||||
(setq c-default-style "bsd")
|
|
||||||
(defun joe/c-mode-hook ()
|
|
||||||
(local-set-key (kbd "C-x c r") (defun joe/make-run () (interactive) (compile "make run")))
|
|
||||||
(local-set-key (kbd "C-x c c") (defun joe/make () (interactive) (compile "make")))
|
|
||||||
(electric-pair-local-mode t)
|
|
||||||
(c-toggle-comment-style -1))
|
|
||||||
(add-hook 'c-mode-hook #'joe/c-mode-hook)
|
|
||||||
#+end_src
|
|
||||||
*** Haskell
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(require 'haskell-mode)
|
(require 'haskell-mode)
|
||||||
(setq haskell-interactive-popup-errors nil)
|
(setq haskell-interactive-popup-errors nil)
|
||||||
@ -2535,51 +2580,6 @@ it doesn't close it.
|
|||||||
(require 'cider)
|
(require 'cider)
|
||||||
(setq cider-show-error-buffer 'only-in-repl)
|
(setq cider-show-error-buffer 'only-in-repl)
|
||||||
#+end_src
|
#+end_src
|
||||||
*** COMMENT OCaml
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(require 'tuareg)
|
|
||||||
(require 'dune)
|
|
||||||
(require 'utop)
|
|
||||||
(require 'merlin)
|
|
||||||
(require 'merlin-eldoc)
|
|
||||||
;; Might be worth checking out, depeding on whether we stick with flycheck or not
|
|
||||||
;; (elpaca 'flycheck-ocaml)
|
|
||||||
;; Also check this out, see if it adds anything
|
|
||||||
;; (require 'ocp-indent)
|
|
||||||
|
|
||||||
(defun opam-env ()
|
|
||||||
"Load the opam env to get the PATH variables so everything works"
|
|
||||||
(interactive nil)
|
|
||||||
(dolist (var
|
|
||||||
(car (read-from-string
|
|
||||||
(shell-command-to-string "opam config env --sexp"))))
|
|
||||||
(setenv (car var) (cadr var))))
|
|
||||||
(setq opam-share
|
|
||||||
(substring (shell-command-to-string
|
|
||||||
"opam config var share 2> /dev/null") 0 -1))
|
|
||||||
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
We won't use the LSP server but rather directly talk to Merlin, since I guess LSP just wraps Merlin
|
|
||||||
and there's no need for a middle-man when it's already been implemented.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
|
|
||||||
;; (require 'utop)
|
|
||||||
;; Use the opam installed utop
|
|
||||||
(setq utop-command "opam exec -- utop -emacs")
|
|
||||||
|
|
||||||
(let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
|
|
||||||
(when (and opam-share (file-directory-p opam-share))
|
|
||||||
;; Register Merlin
|
|
||||||
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
|
|
||||||
(autoload 'merlin-mode "merlin" nil t nil)
|
|
||||||
;; Automatically start it in OCaml buffers
|
|
||||||
(add-hook 'tuareg-mode-hook 'merlin-mode t)
|
|
||||||
(add-hook 'caml-mode-hook 'merlin-mode t)
|
|
||||||
;; Use opam switch to lookup ocamlmerlin binary
|
|
||||||
(setq merlin-command 'opam)))
|
|
||||||
#+end_src
|
|
||||||
*** COMMENT FSharp
|
*** COMMENT FSharp
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(require 'fsharp-mode)
|
(require 'fsharp-mode)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user