Add ReasonML
This commit is contained in:
parent
810d175372
commit
d2e4c202b0
11 changed files with 66 additions and 42 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -12,4 +12,5 @@ url/*
|
||||||
transient/*
|
transient/*
|
||||||
.lsp-session-*
|
.lsp-session-*
|
||||||
eshell/*
|
eshell/*
|
||||||
.yas-compiled-snippets.el
|
.yas-compiled-snippets.el
|
||||||
|
ac-comphist.dat
|
||||||
|
|
|
||||||
|
|
@ -7,26 +7,13 @@
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
(use-package lsp-mode
|
|
||||||
:ensure t
|
|
||||||
:defer t)
|
|
||||||
|
|
||||||
(use-package lsp-ui)
|
|
||||||
|
|
||||||
(use-package company
|
(use-package company
|
||||||
:commands (company-indent-or-complete-common company-yasnippet)
|
:commands (company-indent-or-complete-common company-yasnippet)
|
||||||
:requires (yasnippet
|
:requires (yasnippet
|
||||||
yasnippet-snippets
|
yasnippet-snippets)
|
||||||
lsp-mode
|
|
||||||
lsp-ui)
|
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
(use-package company-lsp
|
|
||||||
:ensure t
|
|
||||||
:requires company
|
|
||||||
:defer t)
|
|
||||||
|
|
||||||
(global-company-mode t)
|
(global-company-mode t)
|
||||||
(yas-global-mode t)
|
(yas-global-mode t)
|
||||||
|
|
||||||
|
|
@ -59,11 +46,6 @@
|
||||||
(company-dabbrev company-abbrev)
|
(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
|
;; Use standard emacs next and previous bindings for navigating company
|
||||||
;; suggestions
|
;; suggestions
|
||||||
(define-key company-active-map (kbd "C-p") 'company-select-previous-or-abort)
|
(define-key company-active-map (kbd "C-p") 'company-select-previous-or-abort)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
:defer t
|
:defer t
|
||||||
:config (setq
|
:config (setq
|
||||||
deft-directory (substitute-in-file-name "$HOME/OneDrive/deft")
|
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)
|
(global-set-key (kbd "C-c d d") 'deft)
|
||||||
|
|
|
||||||
12
init.el
12
init.el
|
|
@ -26,7 +26,6 @@
|
||||||
|
|
||||||
;; Web
|
;; Web
|
||||||
web-mode
|
web-mode
|
||||||
company-web
|
|
||||||
js2-mode
|
js2-mode
|
||||||
|
|
||||||
;; Infrastructure files
|
;; Infrastructure files
|
||||||
|
|
@ -78,7 +77,8 @@
|
||||||
(load "$HOME/.emacs.d/languages/clang.el" 'f 't)
|
(load "$HOME/.emacs.d/languages/clang.el" 'f 't)
|
||||||
(load "$HOME/.emacs.d/languages/clojure.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/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
|
||||||
;; custom-set-variables was added by Custom.
|
;; custom-set-variables was added by Custom.
|
||||||
|
|
@ -90,10 +90,14 @@
|
||||||
("60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
("60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
(quote
|
(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
|
||||||
;; custom-set-faces was added by Custom.
|
;; custom-set-faces was added by Custom.
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; 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
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-elisp company-yasnippet))
|
'(company-yasnippet company-elisp))
|
||||||
|
|
||||||
(paredit-mode 1))
|
(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
|
(use-package js2-mode
|
||||||
:requires (web-mode company-web lsp)
|
:requires (web-mode company-web)
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package tide
|
(use-package tide
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
(use-package markdown-mode
|
(use-package markdown-mode
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t)
|
:defer t
|
||||||
|
:init (setq-default markdown-command "pandoc"))
|
||||||
|
|
||||||
(defun activate-markdown-mode ()
|
(defun activate-markdown-mode ()
|
||||||
"Reconfigure markdown mode for your own purposes."
|
"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 <left>") nil)
|
||||||
(define-key markdown-mode-map (kbd "C-c <right>") 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 <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)
|
(add-hook 'markdown-mode-hook 'activate-markdown-mode)
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,8 @@
|
||||||
(provide 'opam-user-setup)
|
(provide 'opam-user-setup)
|
||||||
|
|
||||||
(use-package tuareg
|
(use-package tuareg
|
||||||
:defer t
|
:defer t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package reason-mode
|
|
||||||
:defer t
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
;; Base configuration for OPAM
|
;; Base configuration for OPAM
|
||||||
|
|
||||||
|
|
|
||||||
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)
|
(if (display-graphic-p)
|
||||||
(progn
|
(progn
|
||||||
(sml/apply-theme 'respectful)
|
(sml/apply-theme 'respectful)
|
||||||
(enable-theme 'base16-material-palenight))
|
(enable-theme (nth
|
||||||
|
(random 2)
|
||||||
|
'(base16-zenburn-modified base16-material-palenight))))
|
||||||
(progn
|
(progn
|
||||||
(enable-theme 'base16-mexico-light)
|
(enable-theme 'base16-mexico-light)
|
||||||
(setq base16-theme-256-color-source "base16-shell")))
|
(setq base16-theme-256-color-source "base16-shell")))
|
||||||
|
|
||||||
;; Set font face
|
;; Set font face
|
||||||
;;;;;;;;;;;;;;;;;;;;;; Font configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;; Font configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(defun set-font-size (size)
|
(defun set-font (name size)
|
||||||
"Set font SIZE to X px."
|
"Set font to NAME and its SIZE to X pixels."
|
||||||
(interactive "NNew font size: ")
|
(interactive "sNew font: \nnEnter size for font %s: ")
|
||||||
(set-face-attribute 'default nil :font (format "IBM Plex Mono %d" size))
|
(set-face-attribute 'default nil :font (format "%s %d" name size))
|
||||||
(set-face-attribute 'mode-line nil :font (format "IBM Plex Mono %d" 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
|
;; Remove ugly black line
|
||||||
(set-face-attribute 'vertical-border nil :foreground
|
(set-face-attribute 'vertical-border nil :foreground
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue