Add new packages

Deft
Ocaml
ReasonML
This commit is contained in:
Maciej 2020-01-20 23:26:01 +02:00
parent c4b7a0c1a2
commit 77372c5093
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
7 changed files with 206 additions and 8 deletions

View file

@ -9,15 +9,16 @@
_a_: ag _s_: Switch project _m_: Git status _a_: ag _s_: Switch project _m_: Git status
_b_: Switch buffer _f_: Find file in project _C_: Git checkout _b_: Switch buffer _f_: Find file in project _C_: Git checkout
_t_: Find file _g_: ag in current project _M_: Git blame _t_: Find file _g_: ag in current project _M_: Git blame
^^ _c_: Invalidate cache _d_: Deft _c_: Invalidate cache
^^ _n_: New project ^^ _n_: New project
^^ _i_: ielm console ^^ _i_: ielm console
" "
("q" nil "cancel" :color pink) ("q" nil "cancel" :color blue)
("a" counsel-ag) ("a" counsel-ag)
("b" ibuffer) ("b" ibuffer)
("t" counsel-find-file) ("t" counsel-find-file)
("d" deft)
("s" counsel-projectile-switch-project) ("s" counsel-projectile-switch-project)
("f" counsel-projectile-find-file) ("f" counsel-projectile-find-file)
("g" counsel-projectile-ag) ("g" counsel-projectile-ag)
@ -41,7 +42,7 @@ _a_: align regexp
_e_: eval region _e_: eval region
_s_: swiper _s_: swiper
" "
("q" nil "cancel" :color pink) ("q" nil "cancel" :color blue)
("c" comment-line) ("c" comment-line)
("r" vr/replace) ("r" vr/replace)
@ -66,7 +67,7 @@ _v_: split vertically _<up>_: Move up
^^ _p_: Previous buffer ^^ _p_: Previous buffer
^^ _n_: Next buffer ^^ _n_: Next buffer
" "
("q" nil "cancel" :color pink) ("q" nil "cancel" :color blue)
("k" kill-buffer-and-window) ("k" kill-buffer-and-window)
("h" split-window-below) ("h" split-window-below)

View file

@ -69,11 +69,18 @@
(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)
(define-key company-active-map (kbd "C-n") 'company-select-next-or-abort) (define-key company-active-map (kbd "C-n") 'company-select-next-or-abort)
(defun insert-space-and-complete ()
"Insert space before trying to complete a section."
(interactive)
(save-excursion
(insert " "))
(company-indent-or-complete-common))
;;; Yasnippet configuration ;;; Yasnippet configuration
(define-key prog-mode-map (kbd "C-c y") 'company-yasnippet) (define-key prog-mode-map (kbd "C-c y") 'company-yasnippet)
(define-key prog-mode-map (kbd "<f13>") 'company-indent-or-complete-common) (define-key prog-mode-map (kbd "<f13>") 'insert-space-and-complete)
(define-key prog-mode-map (kbd "TAB") 'company-indent-or-complete-common) (define-key prog-mode-map (kbd "TAB") 'company-indent-or-complete-common)
(define-key text-mode-map (kbd "C-c y") 'company-yasnippet) (define-key text-mode-map (kbd "C-c y") 'company-yasnippet)
(define-key text-mode-map (kbd "<f13>") 'company-indent-or-complete-common) (define-key text-mode-map (kbd "<f13>") 'insert-space-and-complete)
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common) (define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common)

8
10deft.el Normal file
View file

@ -0,0 +1,8 @@
;; Notational velocity things
(use-package deft
:ensure t
:defer t
:config (setq deft-directory
(substitute-in-file-name "$HOME/OneDrive/deft")))
(global-set-key (kbd "C-c d d") 'deft)

View file

@ -61,6 +61,7 @@
(load "$HOME/.emacs.d/07projectile.el" 'f 't) (load "$HOME/.emacs.d/07projectile.el" 'f 't)
(load "$HOME/.emacs.d/08ctags.el" 'f 't) (load "$HOME/.emacs.d/08ctags.el" 'f 't)
(load "$HOME/.emacs.d/09ispell.el" 'f 't) (load "$HOME/.emacs.d/09ispell.el" 'f 't)
(load "$HOME/.emacs.d/10deft.el" 'f 't)
;; Themes ;; Themes
(load "$HOME/.emacs.d/themes/themes.el" 'f 't) (load "$HOME/.emacs.d/themes/themes.el" 'f 't)
@ -77,6 +78,7 @@
(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)
(custom-set-variables (custom-set-variables
;; custom-set-variables was added by Custom. ;; custom-set-variables was added by Custom.
@ -88,7 +90,7 @@
("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
(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)))) (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))))
(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.

130
languages/ocaml.el Normal file
View file

@ -0,0 +1,130 @@
;; ## added by OPAM user-setup for emacs / base ## cfd3c9b7837c85cffd0c59de521990f0 ## you can edit, but keep this line
(provide 'opam-user-setup)
(use-package tuareg
:defer t
:ensure t)
(use-package reason-mode
:defer t
:ensure t)
;; Base configuration for OPAM
(defun opam-shell-command-to-string (command)
"Similar to shell-command-to-string, but returns nil unless the process
returned 0, and ignores stderr (shell-command-to-string ignores return value)"
(let* ((return-value 0)
(return-string
(with-output-to-string
(setq return-value
(with-current-buffer standard-output
(process-file shell-file-name nil '(t nil) nil
shell-command-switch command))))))
(if (= return-value 0) return-string nil)))
(defun opam-update-env (switch)
"Update the environment to follow current OPAM switch configuration"
(interactive
(list
(let ((default
(car (split-string (opam-shell-command-to-string "opam switch show --safe")))))
(completing-read
(concat "opam switch (" default "): ")
(split-string (opam-shell-command-to-string "opam switch list -s --safe") "\n")
nil t nil nil default))))
(let* ((switch-arg (if (= 0 (length switch)) "" (concat "--switch " switch)))
(command (concat "opam config env --safe --sexp " switch-arg))
(env (opam-shell-command-to-string command)))
(when (and env (not (string= env "")))
(dolist (var (car (read-from-string env)))
(setenv (car var) (cadr var))
(when (string= (car var) "PATH")
(setq exec-path (split-string (cadr var) path-separator)))))))
(opam-update-env nil)
(defvar opam-share
(let ((reply (opam-shell-command-to-string "opam config var share --safe")))
(when reply (substring reply 0 -1))))
(add-to-list 'load-path (concat opam-share "/emacs/site-lisp"))
;; OPAM-installed tools automated detection and initialisation
(defun opam-setup-tuareg ()
(add-to-list 'load-path (concat opam-share "/tuareg") t)
(load "tuareg-site-file"))
(defun opam-setup-add-ocaml-hook (h)
(add-hook 'tuareg-mode-hook h t)
(add-hook 'caml-mode-hook h t))
(defun opam-setup-complete ()
(if (require 'company nil t)
(opam-setup-add-ocaml-hook
(lambda ()
(company-mode)
(defalias 'auto-complete 'company-complete)))
(require 'auto-complete nil t)))
(defun opam-setup-ocp-indent ()
(opam-setup-complete)
(autoload 'ocp-setup-indent "ocp-indent" "Improved indentation for Tuareg mode")
(autoload 'ocp-indent-caml-mode-setup "ocp-indent" "Improved indentation for Caml mode")
(add-hook 'tuareg-mode-hook 'ocp-setup-indent t)
(add-hook 'caml-mode-hook 'ocp-indent-caml-mode-setup t))
(defun opam-setup-ocp-index ()
(autoload 'ocp-index-mode "ocp-index" "OCaml code browsing, documentation and completion based on build artefacts")
(opam-setup-add-ocaml-hook 'ocp-index-mode))
(defun opam-setup-merlin ()
(opam-setup-complete)
(require 'merlin)
(opam-setup-add-ocaml-hook 'merlin-mode)
(defcustom ocp-index-use-auto-complete nil
"Use auto-complete with ocp-index (disabled by default by opam-user-setup because merlin is in use)"
:group 'ocp_index)
(defcustom merlin-ac-setup 'easy
"Use auto-complete with merlin (enabled by default by opam-user-setup)"
:group 'merlin-ac)
;; So you can do it on a mac, where `C-<up>` and `C-<down>` are used
;; by spaces.
(define-key merlin-mode-map
(kbd "C-c <up>") 'merlin-type-enclosing-go-up)
(define-key merlin-mode-map
(kbd "C-c <down>") 'merlin-type-enclosing-go-down)
(set-face-background 'merlin-type-face "skyblue"))
(defun opam-setup-utop ()
(autoload 'utop "utop" "Toplevel for OCaml" t)
(autoload 'utop-minor-mode "utop" "Minor mode for utop" t)
(add-hook 'tuareg-mode-hook 'utop-minor-mode))
(defvar opam-tools
'(("tuareg" . opam-setup-tuareg)
("ocp-indent" . opam-setup-ocp-indent)
("ocp-index" . opam-setup-ocp-index)
("merlin" . opam-setup-merlin)
("utop" . opam-setup-utop)))
(defun opam-detect-installed-tools ()
(let*
((command "opam list --installed --short --safe --color=never")
(names (mapcar 'car opam-tools))
(command-string (mapconcat 'identity (cons command names) " "))
(reply (opam-shell-command-to-string command-string)))
(when reply (split-string reply))))
(defvar opam-tools-installed (opam-detect-installed-tools))
(defun opam-auto-tools-setup ()
(interactive)
(dolist (tool opam-tools)
(when (member (car tool) opam-tools-installed)
(funcall (symbol-function (cdr tool))))))
(opam-auto-tools-setup)
;; ## end of OPAM user-setup addition for emacs / base ## keep this line

View file

@ -0,0 +1,49 @@
;; base16-zenburn-modified-theme.el -- A base16 colorscheme
;;; Commentary:
;; Base16: (https://github.com/chriskempson/base16)
;;; Original Authors:
;; Scheme: elnawe
;; Template: Kaleb Elwert <belak@coded.io>
;; Modification: Maciej Szlosarczyk <maciej@sosek.net>
;;; Code:
;; Modifications
;; 03 made lighter by 10% #6f6f6f => #898989
;; 0B made lighter by 10% #5f7f5f => #799979
(require 'base16-theme)
(defvar base16-zenburn-modified-colors
'(:base00 "#383838"
:base01 "#404040"
:base02 "#606060"
:base03 "#898989"
:base04 "#808080"
:base05 "#dcdccc"
:base06 "#c0c0c0"
:base07 "#ffffff"
:base08 "#dca3a3"
:base09 "#dfaf8f"
:base0A "#e0cf9f"
:base0B "#799979"
:base0C "#93e0e3"
:base0D "#7cb8bb"
:base0E "#dc8cc3"
:base0F "#000000")
"All colors for Base16 Zenburn-Modified are defined here.")
;; Define the theme
(deftheme base16-zenburn-modified)
;; Add all the faces to the theme
(base16-theme-define 'base16-zenburn-modified base16-zenburn-modified-colors)
;; Mark the theme as provided
(provide-theme 'base16-zenburn-modified)
(provide 'base16-zenburn-modified-theme)
;;; base16-zenburn-modified-theme.el ends here

View file

@ -10,6 +10,7 @@
(blink-cursor-mode 0) (blink-cursor-mode 0)
(load "$HOME/.emacs.d/themes/themes-base16-not-harmonic.el" 'f 't) (load "$HOME/.emacs.d/themes/themes-base16-not-harmonic.el" 'f 't)
(load "$HOME/.emacs.d/themes/themes-base16-zenburn-modified.el" 'f 't)
(load-theme 'base16-mexico-light t t) (load-theme 'base16-mexico-light t t)
(load-theme 'base16-ia-dark t t) (load-theme 'base16-ia-dark t t)
(load-theme 'manoj-dark t t) (load-theme 'manoj-dark t t)
@ -27,7 +28,7 @@
(if (display-graphic-p) (if (display-graphic-p)
(progn (progn
(sml/apply-theme 'respectful) (sml/apply-theme 'respectful)
(enable-theme 'base16-one-light)) (enable-theme '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")))