Update for February

* Add purescript
* Use perspective mode
* Use LSP for Rust code
This commit is contained in:
Maciej 2021-03-01 08:42:30 +02:00
parent 4d18006dc8
commit 7f5f90ae4d
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
8 changed files with 78 additions and 17 deletions

View file

@ -26,6 +26,7 @@
(require 'pkg/sys-specific "$HOME/.emacs.d/pkg/sys-specific.el") (require 'pkg/sys-specific "$HOME/.emacs.d/pkg/sys-specific.el")
(require 'pkg/macros "$HOME/.emacs.d/pkg/macros.el") (require 'pkg/macros "$HOME/.emacs.d/pkg/macros.el")
(require 'pkg/ivy "$HOME/.emacs.d/pkg/ivy.el") (require 'pkg/ivy "$HOME/.emacs.d/pkg/ivy.el")
(require 'pkg/persp "$HOME/.emacs.d/pkg/persp.el")
(require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el") (require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el")
(require 'pkg/magit "$HOME/.emacs.d/pkg/magit.el") (require 'pkg/magit "$HOME/.emacs.d/pkg/magit.el")
(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") (require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el")
@ -57,6 +58,7 @@
(require 'languages/clang "$HOME/.emacs.d/languages/clang.el") (require 'languages/clang "$HOME/.emacs.d/languages/clang.el")
(require 'languages/clojure "$HOME/.emacs.d/languages/clojure.el") (require 'languages/clojure "$HOME/.emacs.d/languages/clojure.el")
(require 'languages/ocaml "$HOME/.emacs.d/languages/ocaml.el") (require 'languages/ocaml "$HOME/.emacs.d/languages/ocaml.el")
(require 'languages/purescript "$HOME/.emacs.d/languages/purescript.el")
(require 'languages/php "$HOME/.emacs.d/languages/php.el") (require 'languages/php "$HOME/.emacs.d/languages/php.el")
(require 'languages/markdown "$HOME/.emacs.d/languages/markdown.el") (require 'languages/markdown "$HOME/.emacs.d/languages/markdown.el")
(require 'languages/other "$HOME/.emacs.d/languages/other.el") (require 'languages/other "$HOME/.emacs.d/languages/other.el")
@ -67,9 +69,10 @@
;; 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.
'(package-selected-packages '(package-selected-packages
'(apropospriate-theme jenkinsfile-mode vue-mode dap-mode undo-tree helpful lsp-haskell dashboard fsharp-mode dash-at-point racer racer-mode flycheck-rust rust-mode haskell-mode dune which-key erlang gitignore-mode yaml-mode nginx-mode ansible terraform-mode dockerfile-mode reason-mode merlin tuareg clj-refactor cider clojure-mode elixir-mode js2-mode web-mode enh-ruby-mode ruby-end rspec-mode planet-theme flatui-theme base16-theme smart-mode-line lsp-ui lsp-mode deft counsel-projectile flycheck company yasnippet-snippets yasnippet visual-regexp column-enforce-mode rainbow-mode rainbow-delimiters magit hydra counsel keyfreq exec-path-from-shell buffer-move use-package)) '(perspective apropospriate-theme jenkinsfile-mode vue-mode dap-mode undo-tree helpful lsp-haskell dashboard fsharp-mode dash-at-point racer racer-mode flycheck-rust rust-mode haskell-mode dune which-key erlang gitignore-mode yaml-mode nginx-mode ansible terraform-mode dockerfile-mode reason-mode merlin tuareg clj-refactor cider clojure-mode elixir-mode js2-mode web-mode enh-ruby-mode ruby-end rspec-mode planet-theme flatui-theme base16-theme smart-mode-line lsp-ui lsp-mode deft counsel-projectile flycheck company yasnippet-snippets yasnippet visual-regexp column-enforce-mode rainbow-mode rainbow-delimiters magit hydra counsel keyfreq exec-path-from-shell buffer-move use-package))
'(safe-local-variable-values '(safe-local-variable-values
'((haskell-process-use-ghci . t) '((column-enforce-column . 10000)
(haskell-process-use-ghci . t)
(haskell-indent-spaces . 4)))) (haskell-indent-spaces . 4))))
;; Improve font settings in Markdown code ;; Improve font settings in Markdown code

31
languages/purescript.el Normal file
View file

@ -0,0 +1,31 @@
;;; purescript.el --- summary
;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk
;; Version: 0.1-snapshot
;;; Commentary:
;; purescript does a thing.
;;; Code:
(use-package purescript-mode
:requires (lsp-mode lsp-ui)
:ensure t)
(defun activate-purescript-mode ()
"All things Purescript."
(set-indent 2)
(column-enforce-n 98)
;; Purescript indentation
(purescript-indentation-mode t)
;; Company list override
(add-to-list (make-local-variable 'company-backends)
'(company-capf company-yasnippet)))
(add-hook 'purescript-mode-hook 'activate-purescript-mode)
(provide 'languages/purescript)
;;; purescript.el ends here

View file

@ -25,6 +25,9 @@
(set-indent 4) (set-indent 4)
(column-enforce-n 99) (column-enforce-n 99)
;; Run LSP
(lsp-deferred)
;; Company list override ;; Company list override
(add-to-list (make-local-variable 'company-backends) (add-to-list (make-local-variable 'company-backends)
'(company-capf company-yasnippet))) '(company-capf company-yasnippet)))

View file

@ -31,8 +31,9 @@
(defun activate-web-mode () (defun activate-web-mode ()
"Web mode overrides." "Web mode overrides."
;; Indent web mode scripts by 2 ;; Indent web mode scripts by 2
(setq web-mode-script-padding 2) (setq-local web-mode-script-padding 2)
(setq web-mode-code-indent-offset 2) (setq-local web-mode-code-indent-offset 2)
(setq-local web-mode-markup-indent-offset 2)
(setq-local lsp-eldoc-enable-hover nil) (setq-local lsp-eldoc-enable-hover nil)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled)) (setq-local flycheck-check-syntax-automatically '(save mode-enabled))

View file

@ -10,14 +10,14 @@
" "
General Actions General Actions
^Ivy^ ^Projectile^ ^Magit^ ^Ivy^ ^Perspectives^ ^Projectile^ ^Magit^
^^^^^^^^------------------------------------------------------------------------ ^^^^^^^^-------------------------------------------------------------------------------------
_a_: Grep in buffer _s_: Switch project _m_: Git status _a_: Grep in buffer _S_: Switch perspective _s_: Switch project _m_: Git status
_b_: Buffer list _f_: Find file in project _C_: Git checkout _b_: Buffer list _B_: Switch buffer _f_: Find file in project _C_: Git checkout
_t_: Find file _g_: Grep in current project _M_: Git blame _t_: Find file _K_: Kill perspective _g_: Grep in current project _M_: Git blame
_d_: Deft _c_: Invalidate cache _d_: Deft _c_: Invalidate cache
_w_: Avy goto word _n_: New project _w_: Avy goto word _n_: New project
_l_: Avy goto line _i_: IELM console _l_: Avy goto line _i_: IELM console
_:_: Avy goto char _:_: Avy goto char
" "
@ -31,12 +31,17 @@ _:_: Avy goto char
("l" avy-goto-line) ("l" avy-goto-line)
(":" avy-goto-char) (":" avy-goto-char)
("S" persp-switch)
("B" persp-ibuffer)
("K" persp-kill)
("s" counsel-projectile-switch-project) ("s" counsel-projectile-switch-project)
("f" counsel-projectile-find-file) ("f" counsel-projectile-find-file)
("g" counsel-projectile-rg) ("g" counsel-projectile-rg)
("c" projectile-invalidate-cache) ("c" projectile-invalidate-cache)
("n" projectile-add-known-project) ("n" projectile-add-known-project)
("i" ielm) ("i" ielm)
("m" magit-status) ("m" magit-status)
("C" magit-checkout) ("C" magit-checkout)
("M" magit-blame)) ("M" magit-blame))

View file

@ -16,6 +16,7 @@
lsp-enable-file-watchers nil) lsp-enable-file-watchers nil)
:hook ((typescript-mode . lsp-deferred) :hook ((typescript-mode . lsp-deferred)
(elixir-mode . lsp) (elixir-mode . lsp)
(purescript-mode . lsp-deferred)
(js2-mode . lsp-deferred))) (js2-mode . lsp-deferred)))
(use-package lsp-ui (use-package lsp-ui

15
pkg/persp.el Normal file
View file

@ -0,0 +1,15 @@
;;; pkg/persp.el --- summary
;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk
;; Version: 0.1-snapshot
;;; Commentary:
;; Perspectives
;;; Code:
(use-package perspective :config (persp-mode))
(provide 'pkg/persp)
;;; pkg/persp.el ends here

View file

@ -22,6 +22,7 @@
(load-theme 'base16-atelier-forest-light t t) (load-theme 'base16-atelier-forest-light t t)
(load-theme 'base16-harmonic-light t t) (load-theme 'base16-harmonic-light t t)
(load-theme 'apropospriate-light t t) (load-theme 'apropospriate-light t t)
(load-theme 'base16-tomorrow t t)
;; Dark themes ;; Dark themes
(load-theme 'base16-solarflare t t) (load-theme 'base16-solarflare t t)
@ -33,7 +34,7 @@
(sml/apply-theme 'respectful) (sml/apply-theme 'respectful)
(enable-theme (nth (enable-theme (nth
(random 2) (random 2)
'(apropospriate-light base16-harmonic-light)))) '(base16-tomorrow base16-harmonic-light))))
(progn (progn
(defvar base16-theme-256-color-source "base16-shell") (defvar base16-theme-256-color-source "base16-shell")
(enable-theme 'apropospriate-light))) (enable-theme 'apropospriate-light)))
@ -52,10 +53,11 @@
;; If display is set to emulate FullHD resultion or less, make the font ;; If display is set to emulate FullHD resultion or less, make the font
;; smaller. ;; smaller.
(cond ((eq (x-display-list) nil)) () (cond ((eq (x-display-list) nil)) ()
((>= 1050 (x-display-pixel-height)) (set-font "Hack" 14)) ((>= 1050 (x-display-pixel-height)) (set-font "IBM Plex Mono" 14))
((>= 1080 (x-display-pixel-height)) (set-font "Hack" 13)) ((>= 1080 (x-display-pixel-height)) (set-font "IBM Plex Mono" 13))
((>= 1440 (x-display-pixel-height)) (set-font "Hack" 16)) ((>= 1120 (x-display-pixel-height)) (set-font "IBM Plex Mono" 14))
(t (set-font "Hack" 16)))) ((>= 1440 (x-display-pixel-height)) (set-font "IBM Plex Mono" 16))
(t (set-font "IBM Plex Mono" 16))))
;; Do it automatically on startup ;; Do it automatically on startup
(set-font-to-screen) (set-font-to-screen)