3 Commitit 799999cbb4 ... ebd4a23c84

Tekijä SHA1 Viesti Päivämäärä
  Konstantin ebd4a23c84 Fixed some stuff 2 vuotta sitten
  Konstantin cfe9a3dfee Added windmowe keybindings 2 vuotta sitten
  Konstantin e530150dea Added language configuration for haskell, clojure 2 vuotta sitten
2 muutettua tiedostoa jossa 84 lisäystä ja 24 poistoa
  1. 53 14
      Emacs.org
  2. 31 10
      init.el

+ 53 - 14
Emacs.org

@@ -81,13 +81,6 @@ Borrowed from [[https://www.emacswiki.org/emacs/TransparentEmacs][EmacsWiki]].
           (make-directory dir t)))))
 #+end_src
 ** Do not leave autosave & backup files
-Change backup file directory
-#+begin_src emacs-lisp
-  (setq backup-directory-alist
-      `(("\\`/tmp/" . nil)
-        ("\\`/dev/shm/" . nil)
-        ("." . ,(no-littering-expand-var-file-name "backup/"))))
-#+end_src
 Change autosave file directory
 #+begin_src emacs-lisp
   (defvar auto-save-directory (expand-file-name "autosaves/" user-emacs-directory))
@@ -100,6 +93,14 @@ Change autosave file directory
 #+begin_src emacs-lisp
   (set-language-environment 'Russian)
 #+end_src
+** Move around windows
+Windmove config is described in [[https://www.emacswiki.org/emacs/WindMove][wiki]].
+#+begin_src emacs-lisp
+  (global-set-key (kbd "C-c w h") 'windmove-left)
+  (global-set-key (kbd "C-c w l") 'windmove-right)
+  (global-set-key (kbd "C-c w k") 'windmove-up)
+  (global-set-key (kbd "C-c w j") 'windmove-down)
+#+end_src
 * Package
 ** Use-package
 [[https://github.com/jwiegley/use-package][Use-package]] helps simplify .emacs file
@@ -111,6 +112,11 @@ Change autosave file directory
   (require 'use-package)
   (setq use-package-always-ensure t)
 #+end_src
+** Elpa keyring updated
+Import gpg keys from elpa to avoid bad signatures
+#+begin_src emacs-lisp :tangle yes
+(use-package gnu-elpa-keyring-update)
+#+end_src
 ** Meow (Modal editing)
 [[https://github.com/meow-edit/meow/][Meow]] brings to emacs new way of modal editing similar to Kakoune's
 *** Meow keymap
@@ -210,7 +216,6 @@ Define meow keymap for qwerty layout
     (meow-setup)
     (meow-global-mode 1))
 #+end_src
-
 ** Doom UI
 *** Doom themes
 [[https://github.com/doomemacs/theme][Doom-themes]] is collection of cool themes that I like.
@@ -298,7 +303,7 @@ Sometimes using =variable-pitch= font anin't good.
     (corfu-auto t)
     (corfu-separator ?\s)
     (corfu-quit-no-match 'separator)
-    :config
+    :init
     (global-corfu-mode)
     :bind (:map corfu-map	([remap isearch-forward] . corfu-insert-separator)))
 #+end_src
@@ -308,15 +313,18 @@ Sometimes using =variable-pitch= font anin't good.
     :init
     (setq tab-always-indent 'complete))
 #+end_src
-****  Corfu-doc
+****  Corfu-popupinfo
 #+begin_src emacs-lisp
   (use-package corfu-popupinfo
     :ensure nil
     :after corfu
     :custom
     (corfu-popupinfo-delay 0)
-    :config
-    (corfu-popupinfo-mode))
+    :init
+    (corfu-popupinfo-mode)
+    :bind (:map corfu-popupinfo-map
+          ("M-p" . corfu-popupinfo-scroll-down)
+          ("M-n" . corfu-popupinfo-scroll-up)))
 #+end_src
 ****  Kind icon
 [[https://github.com/jdtsmith/kind-icon][Kind-icon]] provides nice icons for corfu popup
@@ -482,11 +490,15 @@ Add some nice snippets
 Do not leave litter files
 #+begin_src emacs-lisp
   (use-package no-littering
-    :config
+    :init
     (setq no-littering-etc-directory
           (expand-file-name "config/" user-emacs-directory))
     (setq no-littering-var-directory
-          (expand-file-name "data/" user-emacs-directory)))
+          (expand-file-name "data/" user-emacs-directory))
+    (setq backup-directory-alist
+          `(("\\`/tmp/" . nil)
+            ("\\`/dev/shm/" . nil)
+            ("." . ,(no-littering-expand-var-file-name "backup/")))))
 #+end_src
 ** Languages
 Language-specific configurations
@@ -494,6 +506,33 @@ Language-specific configurations
 #+begin_src emacs-lisp
   (use-package fish-mode)
 #+end_src
+*** Haskell
+#+begin_src emacs-lisp
+  (use-package haskell-mode)
+#+end_src
+*** Clojure
+#+begin_src emacs-lisp
+  (use-package clojure-mode)
+#+end_src
+
+**** Cider
+[[https://github.com/clojure-emacs/cider][Cider]] brings REPL driven clojure develpment to clojure in emacs.
+#+begin_src emacs-lisp
+  (use-package cider)
+#+end_src
+
+**** Clj-refactor
+[[https://github.com/clojure-emacs/clj-refactor.el][Clj-refactor]] provides powerful refactoring functionality for Clojure projects.
+#+begin_src emacs-lisp
+  (defun my/clojure-mode-hook ()
+      (clj-refactor-mode 1)
+      (yas-minor-mode 1) ; for adding require/use/import statements
+      ;; This choice of keybinding leaves cider-macroexpand-1 unbound
+      (cljr-add-keybindings-with-prefix "C-c C-m"))
+  (use-package clj-refactor
+    :hook (clojure-mode . my/clojure-mode-hook))
+#+end_src
+
 ** Telega.el
 [[https://github.com/zevlg/telega.el][Telega]] enables telegram integration.
 Requires [[https://github.com/tdlib/td][tdlib]].

+ 31 - 10
init.el

@@ -61,11 +61,6 @@
       (unless (file-exists-p dir)
         (make-directory dir t)))))
 
-(setq backup-directory-alist
-    `(("\\`/tmp/" . nil)
-      ("\\`/dev/shm/" . nil)
-      ("." . ,(no-littering-expand-var-file-name "backup/"))))
-
 (defvar auto-save-directory (expand-file-name "autosaves/" user-emacs-directory))
 (when (not (file-exists-p auto-save-directory))
   (make-directory auto-save-directory))
@@ -74,6 +69,11 @@
 
 (set-language-environment 'Russian)
 
+(global-set-key (kbd "C-c w h") 'windmove-left)
+(global-set-key (kbd "C-c w l") 'windmove-right)
+(global-set-key (kbd "C-c w k") 'windmove-up)
+(global-set-key (kbd "C-c w j") 'windmove-down)
+
 ;; No need to put :ensure t
 (unless (package-installed-p 'use-package)
   (package-refresh-contents)
@@ -233,7 +233,7 @@
   (corfu-auto t)
   (corfu-separator ?\s)
   (corfu-quit-no-match 'separator)
-  :config
+  :init
   (global-corfu-mode)
   :bind (:map corfu-map	([remap isearch-forward] . corfu-insert-separator)))
 
@@ -246,8 +246,11 @@
   :after corfu
   :custom
   (corfu-popupinfo-delay 0)
-  :config
-  (corfu-popupinfo-mode))
+  :init
+  (corfu-popupinfo-mode)
+  :bind (:map corfu-popupinfo-map
+        ("M-p" . corfu-popupinfo-scroll-down)
+        ("M-n" . corfu-popupinfo-scroll-up)))
 
 (use-package kind-icon
 :ensure t
@@ -377,12 +380,30 @@
    ([remap describe-command]  . helpful-command)))
 
 (use-package no-littering
-  :config
+  :init
   (setq no-littering-etc-directory
         (expand-file-name "config/" user-emacs-directory))
   (setq no-littering-var-directory
-        (expand-file-name "data/" user-emacs-directory)))
+        (expand-file-name "data/" user-emacs-directory))
+  (setq backup-directory-alist
+        `(("\\`/tmp/" . nil)
+          ("\\`/dev/shm/" . nil)
+          ("." . ,(no-littering-expand-var-file-name "backup/")))))
 
 (use-package fish-mode)
 
+(use-package haskell-mode)
+
+(use-package clojure-mode)
+
+(use-package cider)
+
+(defun my/clojure-mode-hook ()
+    (clj-refactor-mode 1)
+    (yas-minor-mode 1) ; for adding require/use/import statements
+    ;; This choice of keybinding leaves cider-macroexpand-1 unbound
+    (cljr-add-keybindings-with-prefix "C-c C-m"))
+(use-package clj-refactor
+  :hook (clojure-mode . my/clojure-mode-hook))
+
 (use-package telega)