Add ReasonML
This commit is contained in:
parent
810d175372
commit
d2e4c202b0
11 changed files with 66 additions and 42 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -13,3 +13,4 @@ transient/*
|
|||
.lsp-session-*
|
||||
eshell/*
|
||||
.yas-compiled-snippets.el
|
||||
ac-comphist.dat
|
||||
|
|
|
|||
|
|
@ -7,26 +7,13 @@
|
|||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package lsp-mode
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package lsp-ui)
|
||||
|
||||
(use-package company
|
||||
:commands (company-indent-or-complete-common company-yasnippet)
|
||||
:requires (yasnippet
|
||||
yasnippet-snippets
|
||||
lsp-mode
|
||||
lsp-ui)
|
||||
yasnippet-snippets)
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package company-lsp
|
||||
:ensure t
|
||||
:requires company
|
||||
:defer t)
|
||||
|
||||
(global-company-mode t)
|
||||
(yas-global-mode t)
|
||||
|
||||
|
|
@ -59,11 +46,6 @@
|
|||
(company-dabbrev company-abbrev)
|
||||
))
|
||||
|
||||
(setq-default
|
||||
company-lsp-cache-candidates 1 ;; Cache LSP results
|
||||
company-lsp-async 1 ;; Fetch LSP results asynchronously
|
||||
)
|
||||
|
||||
;; Use standard emacs next and previous bindings for navigating company
|
||||
;; suggestions
|
||||
(define-key company-active-map (kbd "C-p") 'company-select-previous-or-abort)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
:defer t
|
||||
:config (setq
|
||||
deft-directory (substitute-in-file-name "$HOME/OneDrive/deft")
|
||||
deft-default-extension "md"))
|
||||
deft-default-extension "md"
|
||||
deft-auto-save-interval 30.0))
|
||||
|
||||
(global-set-key (kbd "C-c d d") 'deft)
|
||||
|
|
|
|||
12
init.el
12
init.el
|
|
@ -26,7 +26,6 @@
|
|||
|
||||
;; Web
|
||||
web-mode
|
||||
company-web
|
||||
js2-mode
|
||||
|
||||
;; Infrastructure files
|
||||
|
|
@ -78,7 +77,8 @@
|
|||
(load "$HOME/.emacs.d/languages/clang.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/clojure.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/kotlin.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/ocaml.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/reason.el" 'f 't)
|
||||
(load "$HOME/.emacs.d/languages/markdown.el" 'f 't)
|
||||
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
|
|
@ -90,10 +90,14 @@
|
|||
("60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
||||
'(package-selected-packages
|
||||
(quote
|
||||
(tuareg reason-mode deft buffer-move tide gradle-mode kotlin-mode clj-refactor planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui company-lsp lsp-mode nginx-mode gitignore-mode js2-mode keyfreq company-web 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))))
|
||||
(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))))
|
||||
|
||||
;; Improve font settings in Markdown code
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
'(font-lock-constant-face ((((type graphic)) (:foreground "#dfaf8f")) (((min-colors 256)) (:foreground "brightred")) (t (:foreground "brightred"))))
|
||||
'(font-lock-type-face ((t (:foreground "#ffcb6b" :family "IBM Plex Mono"))))
|
||||
'(markdown-code-face ((t (:inherit fixed-pitch :family "IBM Plex Mono")))))
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-elisp company-yasnippet))
|
||||
'(company-yasnippet company-elisp))
|
||||
|
||||
(paredit-mode 1))
|
||||
|
||||
|
|
|
|||
15
languages/elm.el
Normal file
15
languages/elm.el
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
(use-package elm-mode
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(defun activate-elm-mode ()
|
||||
"All things Elixir."
|
||||
(set-indent 2)
|
||||
(column-enforce-n 80)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(elm-company company-yasnippet))
|
||||
(define-key elm-mode-map (kbd "TAB") 'elm-indent-cycle))
|
||||
|
||||
(add-hook 'elm-mode-hook 'activate-elm-mode)
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
(use-package js2-mode
|
||||
:requires (web-mode company-web lsp)
|
||||
:requires (web-mode company-web)
|
||||
:ensure t)
|
||||
|
||||
(use-package tide
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:defer t)
|
||||
:defer t
|
||||
:init (setq-default markdown-command "pandoc"))
|
||||
|
||||
(defun activate-markdown-mode ()
|
||||
"Reconfigure markdown mode for your own purposes."
|
||||
|
|
@ -11,6 +12,7 @@
|
|||
(define-key markdown-mode-map (kbd "C-c <left>") nil)
|
||||
(define-key markdown-mode-map (kbd "C-c <right>") nil)
|
||||
(define-key markdown-mode-map (kbd "C-c <up>") nil)
|
||||
(define-key markdown-mode-map (kbd "C-c <down>") nil))
|
||||
(define-key markdown-mode-map (kbd "C-c <down>") nil)
|
||||
(define-key markdown-mode-map (kbd "C-c C-v") 'markdown-preview))
|
||||
|
||||
(add-hook 'markdown-mode-hook 'activate-markdown-mode)
|
||||
|
|
|
|||
|
|
@ -5,10 +5,6 @@
|
|||
:defer t
|
||||
:ensure t)
|
||||
|
||||
(use-package reason-mode
|
||||
:defer t
|
||||
:ensure t)
|
||||
|
||||
;; Base configuration for OPAM
|
||||
|
||||
(defun opam-shell-command-to-string (command)
|
||||
|
|
|
|||
21
languages/reason.el
Normal file
21
languages/reason.el
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
(use-package merlin
|
||||
:defer t
|
||||
:ensure t)
|
||||
|
||||
(use-package reason-mode
|
||||
:defer t
|
||||
:ensure t
|
||||
:config (setq refmt-command 'opam))
|
||||
|
||||
(let ((opam-share (ignore-errors (car (process-lines "opam" "config" "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)
|
||||
;; Use opam switch to lookup ocamlmerlin binary
|
||||
(setq merlin-command 'opam)))
|
||||
|
||||
(add-hook 'reason-mode-hook
|
||||
(lambda ()
|
||||
(add-hook 'before-save-hook #'refmt-before-save)))
|
||||
(add-hook 'reason-mode-hook 'merlin-mode)
|
||||
|
|
@ -28,20 +28,22 @@
|
|||
(if (display-graphic-p)
|
||||
(progn
|
||||
(sml/apply-theme 'respectful)
|
||||
(enable-theme 'base16-material-palenight))
|
||||
(enable-theme (nth
|
||||
(random 2)
|
||||
'(base16-zenburn-modified base16-material-palenight))))
|
||||
(progn
|
||||
(enable-theme 'base16-mexico-light)
|
||||
(setq base16-theme-256-color-source "base16-shell")))
|
||||
|
||||
;; Set font face
|
||||
;;;;;;;;;;;;;;;;;;;;;; Font configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(defun set-font-size (size)
|
||||
"Set font SIZE to X px."
|
||||
(interactive "NNew font size: ")
|
||||
(set-face-attribute 'default nil :font (format "IBM Plex Mono %d" size))
|
||||
(set-face-attribute 'mode-line nil :font (format "IBM Plex Mono %d" size)))
|
||||
(defun set-font (name size)
|
||||
"Set font to NAME and its SIZE to X pixels."
|
||||
(interactive "sNew font: \nnEnter size for font %s: ")
|
||||
(set-face-attribute 'default nil :font (format "%s %d" name size))
|
||||
(set-face-attribute 'mode-line nil :font (format "%s %d" name size)))
|
||||
|
||||
(set-font-size 16)
|
||||
(set-font "IBM Plex Mono" 16)
|
||||
|
||||
;; Remove ugly black line
|
||||
(set-face-attribute 'vertical-border nil :foreground
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue