From 76c7d665c7aeda6d5875fab6baba166dc6c26572 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Sat, 6 Mar 2021 10:52:54 +0200 Subject: [PATCH] use poper emacs namespace, move keys to dedicated minor mode --- init.el | 73 ++++++++++++++++--------------- {languages => lang}/clang.el | 8 ++-- {languages => lang}/clojure.el | 6 +-- {languages => lang}/elisp.el | 4 +- {languages => lang}/elixir.el | 9 ++-- {languages => lang}/erlang.el | 6 +-- {languages => lang}/fsharp.el | 6 +-- {languages => lang}/haskell.el | 8 ++-- {languages => lang}/javascript.el | 10 ++--- {languages => lang}/markdown.el | 4 +- {languages => lang}/ocaml.el | 11 ++++- {languages => lang}/other.el | 2 +- {languages => lang}/php.el | 8 ++-- {languages => lang}/purescript.el | 2 +- {languages => lang}/ruby.el | 13 ++---- {languages => lang}/rust.el | 6 +-- {languages => lang}/sh.el | 2 +- {languages => lang}/web.el | 6 +-- pkg/avy.el | 2 +- pkg/base.el | 48 +------------------- pkg/company-yasnippet.el | 8 +++- pkg/ctags.el | 2 +- pkg/dashboard.el | 2 +- pkg/deft.el | 6 ++- pkg/flycheck.el | 20 ++++++++- pkg/hydra.el | 24 +++++----- pkg/ispell.el | 15 +++++-- pkg/ivy.el | 23 +++++----- pkg/keys-mode.el | 70 +++++++++++++++++++++++++++++ pkg/lsp.el | 58 +++++++++++++++++++----- pkg/macros.el | 2 +- pkg/magit.el | 2 +- pkg/persp.el | 23 ++++++++-- pkg/prog-mode.el | 2 +- pkg/projectile.el | 2 +- pkg/sys-specific.el | 61 ++++++++++++++------------ pkg/undo-tree.el | 2 +- themes/themes.el | 2 +- 38 files changed, 337 insertions(+), 221 deletions(-) rename {languages => lang}/clang.el (77%) rename {languages => lang}/clojure.el (91%) rename {languages => lang}/elisp.el (83%) rename {languages => lang}/elixir.el (83%) rename {languages => lang}/erlang.el (96%) rename {languages => lang}/fsharp.el (86%) rename {languages => lang}/haskell.el (84%) rename {languages => lang}/javascript.el (82%) rename {languages => lang}/markdown.el (87%) rename {languages => lang}/ocaml.el (78%) rename {languages => lang}/other.el (96%) rename {languages => lang}/php.el (81%) rename {languages => lang}/purescript.el (94%) rename {languages => lang}/ruby.el (75%) rename {languages => lang}/rust.el (81%) rename {languages => lang}/sh.el (90%) rename {languages => lang}/web.el (89%) create mode 100644 pkg/keys-mode.el diff --git a/init.el b/init.el index 01bc49e..6492bc0 100644 --- a/init.el +++ b/init.el @@ -22,46 +22,47 @@ (require 'use-package) ;; General configuration files. -(require 'pkg/base "$HOME/.emacs.d/pkg/base.el") -(require 'pkg/sys-specific "$HOME/.emacs.d/pkg/sys-specific.el") -(require 'pkg/macros "$HOME/.emacs.d/pkg/macros.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/magit "$HOME/.emacs.d/pkg/magit.el") -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/company-yasnippet "$HOME/.emacs.d/pkg/company-yasnippet.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") -(require 'pkg/projectile "$HOME/.emacs.d/pkg/projectile.el") -(require 'pkg/ctags "$HOME/.emacs.d/pkg/ctags.el") -(require 'pkg/ispell "$HOME/.emacs.d/pkg/ispell.el") -(require 'pkg/deft "$HOME/.emacs.d/pkg/deft.el") -(require 'pkg/lsp "$HOME/.emacs.d/pkg/lsp.el") -(require 'pkg/dashboard "$HOME/.emacs.d/pkg/dashboard.el") -(require 'pkg/undo-tree "$HOME/.emacs.d/pkg/undo-tree.el") -(require 'pkg/avy "$HOME/.emacs.d/pkg/avy.el") +(require 'icejam-pkg-keys-mode "$HOME/.emacs.d/pkg/keys-mode.el") +(require 'icejam-pkg-base "$HOME/.emacs.d/pkg/base.el") +(require 'icejam-pkg-sys-specific "$HOME/.emacs.d/pkg/sys-specific.el") +(require 'icejam-pkg-macros "$HOME/.emacs.d/pkg/macros.el") +(require 'icejam-pkg-ivy "$HOME/.emacs.d/pkg/ivy.el") +(require 'icejam-pkg-persp "$HOME/.emacs.d/pkg/persp.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") +(require 'icejam-pkg-magit "$HOME/.emacs.d/pkg/magit.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-company-yasnippet "$HOME/.emacs.d/pkg/company-yasnippet.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-projectile "$HOME/.emacs.d/pkg/projectile.el") +(require 'icejam-pkg-ctags "$HOME/.emacs.d/pkg/ctags.el") +(require 'icejam-pkg-ispell "$HOME/.emacs.d/pkg/ispell.el") +(require 'icejam-pkg-deft "$HOME/.emacs.d/pkg/deft.el") +(require 'icejam-pkg-lsp "$HOME/.emacs.d/pkg/lsp.el") +(require 'icejam-pkg-dashboard "$HOME/.emacs.d/pkg/dashboard.el") +(require 'icejam-pkg-undo-tree "$HOME/.emacs.d/pkg/undo-tree.el") +(require 'icejam-pkg-avy "$HOME/.emacs.d/pkg/avy.el") ;; Themes -(require 'themes/themes "$HOME/.emacs.d/themes/themes.el") +(require 'icejam-themes "$HOME/.emacs.d/themes/themes.el") ;; Actual supported languages and file syntax. -(require 'languages/elisp "$HOME/.emacs.d/languages/elisp.el") -(require 'languages/ruby "$HOME/.emacs.d/languages/ruby.el") -(require 'languages/web "$HOME/.emacs.d/languages/web.el") -(require 'languages/javascript "$HOME/.emacs.d/languages/javascript.el") -(require 'languages/elixir "$HOME/.emacs.d/languages/elixir.el") -(require 'languages/erlang "$HOME/.emacs.d/languages/erlang.el") -(require 'languages/fsharp "$HOME/.emacs.d/languages/fsharp.el") -(require 'languages/sh "$HOME/.emacs.d/languages/sh.el") -(require 'languages/rust "$HOME/.emacs.d/languages/rust.el") -(require 'languages/haskell "$HOME/.emacs.d/languages/haskell.el") -(require 'languages/clang "$HOME/.emacs.d/languages/clang.el") -(require 'languages/clojure "$HOME/.emacs.d/languages/clojure.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/markdown "$HOME/.emacs.d/languages/markdown.el") -(require 'languages/other "$HOME/.emacs.d/languages/other.el") +(require 'icejam-lang-elisp "$HOME/.emacs.d/lang/elisp.el") +(require 'icejam-lang-ruby "$HOME/.emacs.d/lang/ruby.el") +(require 'icejam-lang-web "$HOME/.emacs.d/lang/web.el") +(require 'icejam-lang-javascript "$HOME/.emacs.d/lang/javascript.el") +(require 'icejam-lang-elixir "$HOME/.emacs.d/lang/elixir.el") +(require 'icejam-lang-erlang "$HOME/.emacs.d/lang/erlang.el") +(require 'icejam-lang-fsharp "$HOME/.emacs.d/lang/fsharp.el") +(require 'icejam-lang-sh "$HOME/.emacs.d/lang/sh.el") +(require 'icejam-lang-rust "$HOME/.emacs.d/lang/rust.el") +(require 'icejam-lang-haskell "$HOME/.emacs.d/lang/haskell.el") +(require 'icejam-lang-clang "$HOME/.emacs.d/lang/clang.el") +(require 'icejam-lang-clojure "$HOME/.emacs.d/lang/clojure.el") +(require 'icejam-lang-ocaml "$HOME/.emacs.d/lang/ocaml.el") +(require 'icejam-lang-purescript "$HOME/.emacs.d/lang/purescript.el") +(require 'icejam-lang-php "$HOME/.emacs.d/lang/php.el") +(require 'icejam-lang-markdown "$HOME/.emacs.d/lang/markdown.el") +(require 'icejam-lang-other "$HOME/.emacs.d/lang/other.el") (custom-set-variables ;; custom-set-variables was added by Custom. diff --git a/languages/clang.el b/lang/clang.el similarity index 77% rename from languages/clang.el rename to lang/clang.el index 7330d73..758d026 100644 --- a/languages/clang.el +++ b/lang/clang.el @@ -2,9 +2,9 @@ ;;; Commentary: ;;; Code: -(require 'pkg/projectile "$HOME/.emacs.d/pkg/projectile.el") -(require 'pkg/ctags "$HOME/.emacs.d/pkg/ctags.el") -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-projectile "$HOME/.emacs.d/pkg/projectile.el") +(require 'icejam-pkg-ctags "$HOME/.emacs.d/pkg/ctags.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") (defun activate-clang-mode () "Goodies for editing c files." @@ -32,5 +32,5 @@ (add-hook 'c-mode-hook 'activate-clang-mode) -(provide 'languages/clang) +(provide 'icejam-lang-clang) ;;; clang.el ends here diff --git a/languages/clojure.el b/lang/clojure.el similarity index 91% rename from languages/clojure.el rename to lang/clojure.el index 021d15e..0bc7156 100644 --- a/languages/clojure.el +++ b/lang/clojure.el @@ -2,8 +2,8 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") (use-package clojure-mode :defer t @@ -63,5 +63,5 @@ _l_: Load buffer (add-hook 'cider-repl-mode-hook 'my-clj-repl-config) (add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion) -(provide 'languages/clojure) +(provide 'icejam-lang-clojure) ;;; clojure.el ends here diff --git a/languages/elisp.el b/lang/elisp.el similarity index 83% rename from languages/elisp.el rename to lang/elisp.el index 5a4e5ca..33dc8dd 100644 --- a/languages/elisp.el +++ b/lang/elisp.el @@ -2,7 +2,7 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") (defun activate-emacs-lisp-mode () "Goodies for editing Emacs files." @@ -16,5 +16,5 @@ (add-hook 'emacs-lisp-mode-hook 'activate-emacs-lisp-mode) -(provide 'languages/elisp) +(provide 'icejam-lang-elisp) ;;; elisp.el ends here diff --git a/languages/elixir.el b/lang/elixir.el similarity index 83% rename from languages/elixir.el rename to lang/elixir.el index a494a78..42d4707 100644 --- a/languages/elixir.el +++ b/lang/elixir.el @@ -2,9 +2,9 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") -(require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") (use-package elixir-mode :requires (lsp-mode lsp-ui) @@ -29,6 +29,7 @@ _i_: Indent buffer _m_: iMenu "All things Elixir." (set-indent 2) (column-enforce-n 98) + (lsp) (setq-local flycheck-check-syntax-automatically '(save mode-enabled)) (define-key elixir-mode-map (kbd "") 'elixir-format) @@ -43,5 +44,5 @@ _i_: Indent buffer _m_: iMenu (add-hook 'elixir-mode-hook 'activate-elixir-mode) -(provide 'languages/elixir) +(provide 'icejam-lang-elixir) ;;; elixir.el ends here diff --git a/languages/erlang.el b/lang/erlang.el similarity index 96% rename from languages/erlang.el rename to lang/erlang.el index 2d9f0db..e675148 100644 --- a/languages/erlang.el +++ b/lang/erlang.el @@ -2,8 +2,8 @@ ;;; Commentary: ;;; Code: -(require 'pkg/ctags "$HOME/.emacs.d/pkg/ctags.el") -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-ctags "$HOME/.emacs.d/pkg/ctags.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") (use-package erlang :defer t @@ -109,5 +109,5 @@ (add-hook 'erlang-mode-hook 'erlang/activate-erlang-mode) -(provide 'languages/erlang) +(provide 'icejam-lang-erlang) ;;; erlang.el ends here diff --git a/languages/fsharp.el b/lang/fsharp.el similarity index 86% rename from languages/fsharp.el rename to lang/fsharp.el index cbd5917..a6d41a7 100644 --- a/languages/fsharp.el +++ b/lang/fsharp.el @@ -10,8 +10,8 @@ ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") (use-package fsharp-mode :requires (lsp-mode lsp-ui) @@ -46,5 +46,5 @@ _i_: Indent buffer _m_: iMenu (add-hook 'fsharp-mode-hook 'activate-fsharp-mode) -(provide 'languages/fsharp) +(provide 'icejam-lang-fsharp) ;;; fsharp.el ends here diff --git a/languages/haskell.el b/lang/haskell.el similarity index 84% rename from languages/haskell.el rename to lang/haskell.el index f5f2f37..7d0ffe1 100644 --- a/languages/haskell.el +++ b/lang/haskell.el @@ -10,9 +10,9 @@ ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") -(require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") (use-package haskell-mode :ensure t @@ -53,5 +53,5 @@ _i_: Indent buffer _m_: iMenu (add-hook 'haskell-mode-hook 'activate-haskell-mode) -(provide 'languages/haskell) +(provide 'icejam-lang-haskell) ;;; haskell.el ends here diff --git a/languages/javascript.el b/lang/javascript.el similarity index 82% rename from languages/javascript.el rename to lang/javascript.el index 5831d9b..7e69e22 100644 --- a/languages/javascript.el +++ b/lang/javascript.el @@ -2,9 +2,9 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") -(require 'pkg/lsp "$HOME/.emacs.d/pkg/lsp.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-lsp "$HOME/.emacs.d/pkg/lsp.el") (use-package js2-mode :requires (web-mode company-web lsp-mode lsp-ui) @@ -26,7 +26,7 @@ (set-indent 2) (when (not (string-match-p ".json" (buffer-file-name))) - (lsp)) + (lsp-deferred)) (column-enforce-n 80) (setq-local js2-basic-offset 2) @@ -45,5 +45,5 @@ (add-hook 'js2-mode-hook 'activate-js2-mode) (add-hook 'vue-mode-hook 'lsp) -(provide 'languages/javascript) +(provide 'icejam-lang-javascript) ;;; javascript.el ends here diff --git a/languages/markdown.el b/lang/markdown.el similarity index 87% rename from languages/markdown.el rename to lang/markdown.el index 5b1335c..086b99b 100644 --- a/languages/markdown.el +++ b/lang/markdown.el @@ -2,7 +2,7 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") (use-package markdown-mode :ensure t @@ -23,5 +23,5 @@ (add-hook 'markdown-mode-hook 'activate-markdown-mode) -(provide 'languages/markdown) +(provide 'icejam-lang-markdown) ;;; markdown.el ends here diff --git a/languages/ocaml.el b/lang/ocaml.el similarity index 78% rename from languages/ocaml.el rename to lang/ocaml.el index 3440ddd..b2949f8 100644 --- a/languages/ocaml.el +++ b/lang/ocaml.el @@ -54,6 +54,15 @@ _o_: Update opam env ;; OCaml setup (add-hook 'tuareg-mode-hook 'merlin-mode) (add-hook 'tuareg-mode-hook 'load-ocaml-site-packages) +(add-hook 'merlin-mode-hook (lambda () + (unbind-key "C-c C-d" merlin-mode-map) + (unbind-key "C-c C-l" merlin-mode-map) + (unbind-key "C-c C-n" merlin-mode-map) + (unbind-key "C-c C-p" merlin-mode-map) + (unbind-key "C-c C-r" merlin-mode-map) + (unbind-key "C-c C-t" merlin-mode-map) + (unbind-key "C-c C-x" merlin-mode-map) + (unbind-key "C-c &" merlin-mode-map))) ;; Use tuareg-opam with lock files (add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode)) @@ -83,5 +92,5 @@ _o_: Update opam env (add-hook 'reason-mode-hook 'my-reason-mode) (add-hook 'reason-mode-hook 'merlin-mode) -(provide 'languages/ocaml) +(provide 'icejam-lang-ocaml) ;;; ocaml.el ends here diff --git a/languages/other.el b/lang/other.el similarity index 96% rename from languages/other.el rename to lang/other.el index a2fcc15..aa1ec4b 100644 --- a/languages/other.el +++ b/lang/other.el @@ -25,5 +25,5 @@ :hook ((gitignore-mode . whitespace-mode) (before-save . whitespace-cleanup))) -(provide 'languages/other) +(provide 'icejam-lang-other) ;;; other.el ends here diff --git a/languages/php.el b/lang/php.el similarity index 81% rename from languages/php.el rename to lang/php.el index 4dd3c04..9f3f244 100644 --- a/languages/php.el +++ b/lang/php.el @@ -10,9 +10,9 @@ ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") -(require 'pkg/hydra "$HOME/.emacs.d/pkg/hydra.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el") (use-package php-mode :requires (lsp-mode lsp-ui) @@ -45,5 +45,5 @@ _i_: Indent buffer _m_: iMenu (add-hook 'php-mode-hook 'activate-php-mode) -(provide 'languages/php) +(provide 'icejam-lang-php) ;;; php.el ends here diff --git a/languages/purescript.el b/lang/purescript.el similarity index 94% rename from languages/purescript.el rename to lang/purescript.el index b675d5f..9514def 100644 --- a/languages/purescript.el +++ b/lang/purescript.el @@ -27,5 +27,5 @@ (add-hook 'purescript-mode-hook 'activate-purescript-mode) -(provide 'languages/purescript) +(provide 'icejam-lang-purescript) ;;; purescript.el ends here diff --git a/languages/ruby.el b/lang/ruby.el similarity index 75% rename from languages/ruby.el rename to lang/ruby.el index 3294f1d..4477b11 100644 --- a/languages/ruby.el +++ b/lang/ruby.el @@ -2,9 +2,9 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/projectile "$HOME/.emacs.d/pkg/projectile.el") -(require 'pkg/ctags "$HOME/.emacs.d/pkg/ctags.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-projectile "$HOME/.emacs.d/pkg/projectile.el") +(require 'icejam-pkg-ctags "$HOME/.emacs.d/pkg/ctags.el") (use-package rspec-mode :ensure t :defer t) (use-package ruby-end :ensure t :defer t) @@ -18,11 +18,6 @@ "All things for ruby mode." (set-indent 2) - ;; Set column enforcement at 80 for normal projects, and at 100 for work - (if (string-match-p "internetee" (buffer-file-name)) - (column-enforce-n 100) - (column-enforce-n 80)) - ;; Disable reek syntax checking permanently (add-to-list (make-local-variable 'flycheck-disabled-checkers) 'ruby-reek) @@ -45,5 +40,5 @@ '(rspec-install-snippets)) (add-hook 'enh-ruby-mode-hook 'activate-ruby-mode) -(provide 'languages/ruby) +(provide 'icejam-lang-ruby) ;;; ruby.el ends here diff --git a/languages/rust.el b/lang/rust.el similarity index 81% rename from languages/rust.el rename to lang/rust.el index e3c1a55..4d2e717 100644 --- a/languages/rust.el +++ b/lang/rust.el @@ -2,8 +2,8 @@ ;;; Commentary: ;;; Code: -(require 'pkg/prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") (use-package rust-mode :ensure t @@ -36,5 +36,5 @@ (add-hook 'rust-mode-hook 'flycheck-rust-setup) (add-hook 'rust-mode-hook 'racer-mode) -(provide 'languages/rust) +(provide 'icejam-lang-rust) ;;; rust.el ends here diff --git a/languages/sh.el b/lang/sh.el similarity index 90% rename from languages/sh.el rename to lang/sh.el index 45e331e..4db6510 100644 --- a/languages/sh.el +++ b/lang/sh.el @@ -6,5 +6,5 @@ (add-to-list 'auto-mode-alist '("\\zshrc\\'" . sh-mode)) (add-to-list 'auto-mode-alist '("\\.zshrc\\'" . sh-mode)) -(provide 'languages/sh) +(provide 'icejam-lang-sh) ;;; sh.el ends here diff --git a/languages/web.el b/lang/web.el similarity index 89% rename from languages/web.el rename to lang/web.el index ef1a220..e8a0775 100644 --- a/languages/web.el +++ b/lang/web.el @@ -2,8 +2,8 @@ ;;; Commentary: ;;; Code: -(require 'pkg/lsp "$HOME/.emacs.d/pkg/lsp.el") -(require 'pkg/flycheck "$HOME/.emacs.d/pkg/flycheck.el") +(require 'icejam-pkg-lsp "$HOME/.emacs.d/pkg/lsp.el") +(require 'icejam-pkg-flycheck "$HOME/.emacs.d/pkg/flycheck.el") (use-package web-mode :requires (lsp-mode flycheck) @@ -47,5 +47,5 @@ (add-hook 'web-mode-hook 'activate-web-mode) -(provide 'languages/web) +(provide 'icejam-lang-web) ;;; web.el ends here diff --git a/pkg/avy.el b/pkg/avy.el index 80ce9bb..c3d25c5 100644 --- a/pkg/avy.el +++ b/pkg/avy.el @@ -14,5 +14,5 @@ :ensure t :defer t) -(provide 'pkg/avy) +(provide 'icejam-pkg-avy) ;;; avy.el ends here diff --git a/pkg/base.el b/pkg/base.el index eeb2ae2..fa5972b 100644 --- a/pkg/base.el +++ b/pkg/base.el @@ -38,39 +38,6 @@ ;;;;;;;;; Emacs bindings ;;;;;;;;;;;;;;;;;;;;; (global-set-key (kbd "RET") 'newline) -(define-key global-map [home] 'beginning-of-line) -(define-key global-map [end] 'end-of-line) - -;;; Helpful key bindings -(global-set-key (kbd "C-c \\") 'split-window-right) ;; Split window to the right -(global-set-key (kbd "C-c /") 'split-window-below) ;; Split window to the bottom - -;; Move between windows key bindings -(global-set-key (kbd "C-c ") 'windmove-left) -(global-set-key (kbd "C-c ") 'windmove-right) -(global-set-key (kbd "C-c ") 'windmove-up) -(global-set-key (kbd "C-c ") 'windmove-down) - -;; The same, but without using arrow keys -(global-set-key (kbd "C-c [") 'windmove-left) -(global-set-key (kbd "C-c ]") 'windmove-right) -(global-set-key (kbd "C-c {") 'windmove-up) -(global-set-key (kbd "C-c }") 'windmove-down) - -;; Switch to previous and next buffer -(global-set-key (kbd "C-c s ") 'previous-buffer) -(global-set-key (kbd "C-c s ") 'next-buffer) - -;; The same, but without arrow keys. -(global-set-key (kbd "C-c s [") 'previous-buffer) -(global-set-key (kbd "C-c s ]") 'next-buffer) - - -;; Kill current buffer and window -(global-set-key (kbd "C-c q") 'kill-buffer-and-window) - -;; List buffers -(global-set-key (kbd "C-c b") 'ibuffer) ;; Move buffers around with buffer keys (use-package buffer-move @@ -81,19 +48,6 @@ ("C-c m {" . buf-move-up) ("C-c m }" . buf-move-down)) - -;; Revert without asking -(defun revert-buffer-no-confirm () - "Revert buffer without confirmation." - (interactive) (revert-buffer t t)) - -(global-set-key (kbd "C-c r") 'revert-buffer-no-confirm) - -;; Create new terminal -(global-set-key (kbd "") (lambda () - (interactive) - (ansi-term "/bin/zsh" "ANSI-Term : Zsh"))) - ;; #====================== Backup config #============================== (setq backup-directory-alist `((".*" . "~/.emacs_backups/auto-save-list"))) @@ -166,5 +120,5 @@ (which-key-mode t) -(provide 'pkg/base) +(provide 'icejam-pkg-base) ;;; base.el ends here diff --git a/pkg/company-yasnippet.el b/pkg/company-yasnippet.el index 59afe35..263adf1 100644 --- a/pkg/company-yasnippet.el +++ b/pkg/company-yasnippet.el @@ -9,7 +9,11 @@ (use-package yasnippet-snippets :ensure t - :defer t) + :defer t + :config + (unbind-key "C-c & C-n" yas-minor-mode-map) + (unbind-key "C-c & C-s" yas-minor-mode-map) + (unbind-key "C-c & C-v" yas-minor-mode-map)) (use-package company :commands (company-indent-or-complete-common company-yasnippet) @@ -71,5 +75,5 @@ (define-key text-mode-map (kbd "") 'insert-space-and-complete) (define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common) -(provide 'pkg/company-yasnippet) +(provide 'icejam-pkg-company-yasnippet) ;;; company-yasnippet.el ends here diff --git a/pkg/ctags.el b/pkg/ctags.el index babc2d2..1bdd07e 100644 --- a/pkg/ctags.el +++ b/pkg/ctags.el @@ -54,5 +54,5 @@ (add-to-list (make-local-variable 'ctags/major-modes-to-update-on-save) mode)) (add-hook 'after-save-hook 'ctags/update-tags-on-save) -(provide 'pkg/ctags) +(provide 'icejam-pkg-ctags) ;;; ctags.el ends here diff --git a/pkg/dashboard.el b/pkg/dashboard.el index 77a1a67..86c02e9 100644 --- a/pkg/dashboard.el +++ b/pkg/dashboard.el @@ -23,5 +23,5 @@ ;; (registers . 5) (projects . 5))) -(provide 'pkg/dashboard) +(provide 'icejam-pkg-dashboard) ;;; dashboard.el ends here diff --git a/pkg/deft.el b/pkg/deft.el index 90cbb05..595f7a1 100644 --- a/pkg/deft.el +++ b/pkg/deft.el @@ -3,6 +3,8 @@ ;;; Notational velocity, backed by OneDrive. ;;; Code: +(require 'icejam-pkg-keys-mode "$HOME/.emacs.d/pkg/keys-mode.el") + (use-package deft :ensure t :defer t @@ -11,7 +13,7 @@ deft-default-extension "md" deft-auto-save-interval 30.0)) -(global-set-key (kbd "C-c d d") 'deft) +(define-key icejam-keys-mode-map (kbd "C-c d d") 'deft) -(provide 'pkg/deft) +(provide 'icejam-pkg-deft) ;;; deft.el ends here diff --git a/pkg/flycheck.el b/pkg/flycheck.el index a48c8fe..496cb3a 100644 --- a/pkg/flycheck.el +++ b/pkg/flycheck.el @@ -7,7 +7,23 @@ :commands flycheck-define-checker :ensure t :defer t - :config (global-flycheck-mode t)) + :config (global-flycheck-mode t) + (unbind-key "C-c ! C-c" flycheck-mode-map) + (unbind-key "C-c ! C-w" flycheck-mode-map) + (unbind-key "C-c ! ?" flycheck-mode-map) + (unbind-key "C-c ! C" flycheck-mode-map) + (unbind-key "C-c ! H" flycheck-mode-map) + (unbind-key "C-c ! V" flycheck-mode-map) + (unbind-key "C-c ! c" flycheck-mode-map) + (unbind-key "C-c ! e" flycheck-mode-map) + (unbind-key "C-c ! h" flycheck-mode-map) + (unbind-key "C-c ! i" flycheck-mode-map) + (unbind-key "C-c ! l" flycheck-mode-map) + (unbind-key "C-c ! n" flycheck-mode-map) + (unbind-key "C-c ! p" flycheck-mode-map) + (unbind-key "C-c ! s" flycheck-mode-map) + (unbind-key "C-c ! v" flycheck-mode-map) + (unbind-key "C-c ! x" flycheck-mode-map)) -(provide 'pkg/flycheck) +(provide 'icejam-pkg-flycheck) ;;; flycheck.el ends here diff --git a/pkg/hydra.el b/pkg/hydra.el index 8fd16e0..430f2fa 100644 --- a/pkg/hydra.el +++ b/pkg/hydra.el @@ -10,29 +10,29 @@ " General Actions - ^Ivy^ ^Perspectives^ ^Projectile^ ^Magit^ + ^Ivy^ ^Perspectives^ ^Projectile^ ^Magit^ ^^^^^^^^------------------------------------------------------------------------------------- -_a_: Grep in buffer _S_: Switch perspective _s_: Switch project _m_: Git status -_b_: Buffer list _B_: Switch buffer _f_: Find file in project _C_: Git checkout -_t_: Find file _K_: Kill perspective _g_: Grep in current project _M_: Git blame -_d_: Deft _c_: Invalidate cache -_w_: Avy goto word _n_: New project -_l_: Avy goto line _i_: IELM console +_a_: Grep in buffer _p_: Switch perspective _s_: Switch project _m_: Git status +_B_: Buffer list _b_: buffers in perspective _f_: Find file in project _C_: Git checkout +_t_: Find file _K_: Kill perspective _g_: Grep in current project _M_: Git blame +_d_: Deft _c_: Invalidate cache +_w_: Avy goto word _n_: New project +_l_: Avy goto line _i_: IELM console _:_: Avy goto char " ("q" nil "cancel" :color blue) ("a" counsel-rg) - ("b" ibuffer) + ("B" ibuffer) ("t" counsel-find-file) ("d" deft) ("w" avy-goto-word-0) ("l" avy-goto-line) (":" avy-goto-char) - ("S" persp-switch) - ("B" persp-ibuffer) + ("p" persp-switch) + ("b" persp-ibuffer) ("K" persp-kill) ("s" counsel-projectile-switch-project) @@ -55,7 +55,7 @@ _:_: Avy goto char _c_: Comment line _y_: Yasnippet _r_: Regex replace _m_: Company _i_: Indent region _u_: Undo tree -_a_: Align regexp +_a_: Align to regex _e_: Eval region _s_: Swiper " @@ -121,5 +121,5 @@ _i_: Indent buffer _m_: iMenu ("C-c w" . hydra-window-menu/body) ("C-c l" . hydra-language-context-menu/body)) -(provide 'pkg/hydra) +(provide 'icejam-pkg-hydra) ;;; hydra.el ends here diff --git a/pkg/ispell.el b/pkg/ispell.el index 4170acf..22fe6b3 100644 --- a/pkg/ispell.el +++ b/pkg/ispell.el @@ -6,9 +6,16 @@ (use-package ispell :ensure t :config (setq ispell-program-name "aspell") - (setq ispell-extra-args - '("--run-together" "--run-together-limit=5" "--run-together-min=2")) - :hook ((prog-mode text-mode) . flyspell-mode)) + (setq ispell-extra-args + '("--run-together" "--run-together-limit=5" "--run-together-min=2")) + :hook ((prog-mode text-mode) . flyspell-mode)) -(provide 'pkg/ispell) +(add-hook 'flyspell-mode-hook (lambda () + (unbind-key "C-," flyspell-mode-map) + (unbind-key "C-." flyspell-mode-map) + (unbind-key "C-;" flyspell-mode-map) + (unbind-key "C-c $" flyspell-mode-map) + (unbind-key "C-M-i" flyspell-mode-map))) + +(provide 'icejam-pkg-ispell) ;;; ispell.el ends here diff --git a/pkg/ivy.el b/pkg/ivy.el index b241c9a..7d61b96 100644 --- a/pkg/ivy.el +++ b/pkg/ivy.el @@ -3,6 +3,8 @@ ;;; Counsel, Swiper and Ivy. ;;; Code: +(require 'icejam-pkg-keys-mode "$HOME/.emacs.d/pkg/keys-mode.el") + (use-package counsel :ensure t :defer t) (use-package swiper :ensure t :defer t) (use-package helpful :ensure t :defer t) @@ -21,18 +23,17 @@ (setq counsel-describe-function-function #'helpful-callable) (setq counsel-describe-variable-function #'helpful-variable) -(global-set-key (kbd "C-c a") 'counsel-rg) -(global-set-key (kbd "C-c t") 'counsel-find-file) -(global-set-key (kbd "C-c C-s") 'swiper) ;; Find things by regexp -(global-set-key (kbd "M-x") 'counsel-M-x) ;; M-x on steroids +(define-key icejam-keys-mode-map (kbd "C-c a") 'counsel-rg) +(define-key icejam-keys-mode-map (kbd "C-c t") 'counsel-find-file) +(define-key icejam-keys-mode-map (kbd "C-c C-s") 'swiper) ;; Find things by regexp +(define-key icejam-keys-mode-map (kbd "M-x") 'counsel-M-x) ;; M-x on steroids ;; List all key bindings there are. -;; (global-set-key (kbd " b") 'describe-bindings) -(global-set-key (kbd " f") 'counsel-describe-function) -(global-set-key (kbd " v") 'counsel-describe-variable) -(global-set-key (kbd " l") 'counsel-find-library) -(global-set-key (kbd " i") 'counsel-info-lookup-symbol) -(global-set-key (kbd " u") 'counsel-unicode-char) +(define-key icejam-keys-mode-map (kbd " f") 'counsel-describe-function) +(define-key icejam-keys-mode-map (kbd " v") 'counsel-describe-variable) +(define-key icejam-keys-mode-map (kbd " l") 'counsel-find-library) +(define-key icejam-keys-mode-map (kbd " i") 'counsel-info-lookup-symbol) +(define-key icejam-keys-mode-map (kbd " u") 'counsel-unicode-char) -(provide 'pkg/ivy) +(provide 'icejam-pkg-ivy) ;;; ivy.el ends here diff --git a/pkg/keys-mode.el b/pkg/keys-mode.el new file mode 100644 index 0000000..abe58d9 --- /dev/null +++ b/pkg/keys-mode.el @@ -0,0 +1,70 @@ +;;; keys-mode.el --- summary + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Commentary: + +;; My global mode, to house my custom keys. + +;;; Code: + +(define-minor-mode icejam-keys-mode + "Minor mode for all of my personal key bindings" + :global t + :keymap (make-sparse-keymap)) + +;; Globally enable my minor mode +(icejam-keys-mode) + +;;; Helpful key bindings +(define-key icejam-keys-mode-map (kbd "C-c \\") 'split-window-right) ;; Split window to the right +(define-key icejam-keys-mode-map (kbd "C-c /") 'split-window-below) ;; Split window to the bottom + +;; Move between windows key bindings +(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-left) +(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-right) +(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-up) +(define-key icejam-keys-mode-map (kbd "C-c ") 'windmove-down) + +;; The same, but without using arrow keys +(define-key icejam-keys-mode-map (kbd "C-c [") 'windmove-left) +(define-key icejam-keys-mode-map (kbd "C-c ]") 'windmove-right) +(define-key icejam-keys-mode-map (kbd "C-c {") 'windmove-up) +(define-key icejam-keys-mode-map (kbd "C-c }") 'windmove-down) + +;; Switch to previous and next buffer +(define-key icejam-keys-mode-map (kbd "C-c s ") 'previous-buffer) +(define-key icejam-keys-mode-map (kbd "C-c s ") 'next-buffer) + +;; The same, but without arrow keys. +(define-key icejam-keys-mode-map (kbd "C-c s [") 'previous-buffer) +(define-key icejam-keys-mode-map (kbd "C-c s ]") 'next-buffer) + + +;; Kill current buffer and window +(define-key icejam-keys-mode-map (kbd "C-c q") 'kill-buffer-and-window) + +;; List buffers +(define-key icejam-keys-mode-map (kbd "C-c b") 'ibuffer) + +;; Create new terminal +(defun start-zsh-term () + "Start ZSH terminal session." + (ansi-term "/bin/zsh" "Zsh")) +(define-key icejam-keys-mode-map (kbd "") 'start-zsh-term) + +;; Revert without asking +(defun revert-buffer-no-confirm () + "Revert buffer without confirmation." + (interactive) (revert-buffer t t)) + +(define-key icejam-keys-mode-map (kbd "C-c r") 'revert-buffer-no-confirm) + +;;;;;;;;; Emacs bindings ;;;;;;;;;;;;;;;;;;;;; +(define-key icejam-keys-mode-map [home] 'beginning-of-line) +(define-key icejam-keys-mode-map [end] 'end-of-line) + +(provide 'icejam-pkg-keys-mode) +;;; keys-mode.el ends here diff --git a/pkg/lsp.el b/pkg/lsp.el index 1e0b07b..16f6a72 100644 --- a/pkg/lsp.el +++ b/pkg/lsp.el @@ -7,17 +7,51 @@ :ensure t :defer t :requires (company) - :config (setq-default lsp-file-watch-threshold 10000 - lsp-restart 'auto-restart - lsp-prefer-capf t - lsp-completion-provider :capf - lsp-server-trace nil - read-process-output-max (* 1024 1024 2) - lsp-enable-file-watchers nil) - :hook ((typescript-mode . lsp-deferred) - (elixir-mode . lsp) - (purescript-mode . lsp-deferred) - (js2-mode . lsp-deferred))) + :config + (setq-default lsp-file-watch-threshold 10000 + lsp-restart 'auto-restart + lsp-prefer-capf t + lsp-completion-provider :capf + lsp-server-trace nil + read-process-output-max (* 1024 1024 2) + lsp-enable-file-watchers nil) + (unbind-key "s-l =" lsp-mode-map) + (unbind-key "s-l G" lsp-mode-map) + (unbind-key "s-l T" lsp-mode-map) + (unbind-key "s-l a" lsp-mode-map) + (unbind-key "s-l g" lsp-mode-map) + (unbind-key "s-l r" lsp-mode-map) + (unbind-key "C-S-SPC" lsp-mode-map) + (unbind-key "s-l G g" lsp-mode-map) + (unbind-key "s-l G r" lsp-mode-map) + (unbind-key "s-l G s" lsp-mode-map) + (unbind-key "s-l h g" lsp-mode-map) + (unbind-key "s-l h h" lsp-mode-map) + (unbind-key "s-l h s" lsp-mode-map) + (unbind-key "s-l g a" lsp-mode-map) + (unbind-key "s-l g e" lsp-mode-map) + (unbind-key "s-l g g" lsp-mode-map) + (unbind-key "s-l g h" lsp-mode-map) + (unbind-key "s-l g r" lsp-mode-map) + (unbind-key "s-l T D" lsp-mode-map) + (unbind-key "s-l T L" lsp-mode-map) + (unbind-key "s-l T S" lsp-mode-map) + (unbind-key "s-l T T" lsp-mode-map) + (unbind-key "s-l T b" lsp-mode-map) + (unbind-key "s-l T d" lsp-mode-map) + (unbind-key "s-l T f" lsp-mode-map) + (unbind-key "s-l T l" lsp-mode-map) + (unbind-key "s-l T s" lsp-mode-map) + (unbind-key "s-l F a" lsp-mode-map) + (unbind-key "s-l F b" lsp-mode-map) + (unbind-key "s-l F r" lsp-mode-map) + (unbind-key "s-l = =" lsp-mode-map) + (unbind-key "s-l s D" lsp-mode-map) + (unbind-key "s-l s d" lsp-mode-map) + (unbind-key "s-l s q" lsp-mode-map) + (unbind-key "s-l s r" lsp-mode-map) + (unbind-key "s-l s s" lsp-mode-map) + :hook ((typescript-mode . lsp-deferred))) (use-package lsp-ui :ensure t @@ -37,5 +71,5 @@ :defer t :requires (lsp-mode lsp-ui)) -(provide 'pkg/lsp) +(provide 'icejam-pkg-lsp) ;;; lsp.el ends here diff --git a/pkg/macros.el b/pkg/macros.el index 38b0d27..e0bde9f 100644 --- a/pkg/macros.el +++ b/pkg/macros.el @@ -9,5 +9,5 @@ (setq result (append (list (car form) result) (cdr form)))))) -(provide 'pkg/macros) +(provide 'icejam-pkg-macros) ;;; macros ends here diff --git a/pkg/magit.el b/pkg/magit.el index 1d45857..7af2b86 100644 --- a/pkg/magit.el +++ b/pkg/magit.el @@ -11,5 +11,5 @@ (:map magit-blame-mode-map (" b" . 'magit-blame-quit))) -(provide 'pkg/magit) +(provide 'icejam-pkg-magit) ;;; magit.el ends here diff --git a/pkg/persp.el b/pkg/persp.el index 658815a..3f8c758 100644 --- a/pkg/persp.el +++ b/pkg/persp.el @@ -9,7 +9,24 @@ ;; Perspectives ;;; Code: -(use-package perspective :config (persp-mode)) +(use-package perspective + :config (persp-mode) + (unbind-key "C-x x" persp-mode-map) + (unbind-key "C-x x C-l" persp-mode-map) + (unbind-key "C-x x C-s" persp-mode-map) + (unbind-key "C-x x A" persp-mode-map) + (unbind-key "C-x x a" persp-mode-map) + (unbind-key "C-x x b" persp-mode-map) + (unbind-key "C-x x c" persp-mode-map) + (unbind-key "C-x x i" persp-mode-map) + (unbind-key "C-x x k" persp-mode-map) + (unbind-key "C-x x n" persp-mode-map) + (unbind-key "C-x x p" persp-mode-map) + (unbind-key "C-x x r" persp-mode-map) + (unbind-key "C-x x s" persp-mode-map) + (unbind-key "C-x x " persp-mode-map) + (unbind-key "C-x x " persp-mode-map) + (unbind-key "C-x x C-x x" persp-mode-map)) -(provide 'pkg/persp) -;;; pkg/persp.el ends here +(provide 'icejam-pkg-persp) +;;; persp.el ends here diff --git a/pkg/prog-mode.el b/pkg/prog-mode.el index 0fe8645..1f10584 100644 --- a/pkg/prog-mode.el +++ b/pkg/prog-mode.el @@ -79,5 +79,5 @@ :ensure t :defer t) -(provide 'pkg/prog-mode) +(provide 'icejam-pkg-prog-mode) ;;; prog-mode ends here diff --git a/pkg/projectile.el b/pkg/projectile.el index 4e5a1c6..d3925ba 100644 --- a/pkg/projectile.el +++ b/pkg/projectile.el @@ -20,5 +20,5 @@ (projectile-mode t) -(provide 'pkg/projectile) +(provide 'icejam-pkg-projectile) ;;; projectile.el ends here diff --git a/pkg/sys-specific.el b/pkg/sys-specific.el index 094c00f..801eba8 100644 --- a/pkg/sys-specific.el +++ b/pkg/sys-specific.el @@ -6,6 +6,8 @@ (defconst IS-MAC (eq system-type 'darwin)) (defconst IS-BSD (eq system-type 'berkeley-unix)) +(require 'icejam-pkg-keys-mode "$HOME/.emacs.d/pkg/keys-mode.el") + ;;;;;;;;; Mac-specific config ;;;;;;;;;;;;;;;;;;;;; (if IS-MAC (progn @@ -24,21 +26,24 @@ (setq mac-command-modifier 'meta)))) ;;;;;;;;; Mac binding (fix) ;;;;;;;;;;;;;;;;;; - (global-set-key (kbd "H-") 'end-of-line) - (global-set-key (kbd "H-") 'beginning-of-line) - (global-set-key (kbd "H-") 'scroll-down) ; WTF is this reverse, I dunno - (global-set-key (kbd "H-") 'scroll-up) + (define-key icejam-keys-mode-map (kbd "H-") 'end-of-line) + (define-key icejam-keys-mode-map (kbd "H-") 'beginning-of-line) + (define-key icejam-keys-mode-map (kbd "H-") 'scroll-down) ; WTF is this reverse, I dunno + (define-key icejam-keys-mode-map (kbd "H-") 'scroll-up) - (global-set-key [(hyper a)] 'mark-whole-buffer) - (global-set-key [(hyper v)] 'yank) - (global-set-key [(hyper x)] 'kill-region) - (global-set-key [(hyper c)] 'kill-ring-save) - (global-set-key [(hyper s)] 'save-buffer) - (global-set-key [(hyper l)] 'goto-line) - (global-set-key [(hyper w)] - (lambda () (interactive) (delete-window))) - (global-set-key [(hyper z)] 'undo) - (global-set-key [(hyper q)] 'kill-emacs) + (defun delete-window-mac () + "Kill a window on mac" + (interactive) (delete-window)) + + (define-key icejam-keys-mode-map [(hyper a)] 'mark-whole-buffer) + (define-key icejam-keys-mode-map [(hyper v)] 'yank) + (define-key icejam-keys-mode-map [(hyper x)] 'kill-region) + (define-key icejam-keys-mode-map [(hyper c)] 'kill-ring-save) + (define-key icejam-keys-mode-map [(hyper s)] 'save-buffer) + (define-key icejam-keys-mode-map [(hyper l)] 'goto-line) + (define-key icejam-keys-mode-map [(hyper w)] 'delete-window-mac) + (define-key icejam-keys-mode-map [(hyper z)] 'undo) + (define-key icejam-keys-mode-map [(hyper q)] 'kill-emacs) ;; Disable meta on right alt (useful for Polish characters) (setq mac-right-option-modifier nil))) @@ -46,21 +51,21 @@ ;;;;;;;;; BSD-specific config ;;;;;;;;;;;;;;;;;;;;; (if IS-BSD (progn - (global-set-key (kbd "A-") 'end-of-line) - (global-set-key (kbd "A-") 'beginning-of-line) - (global-set-key (kbd "A-") 'scroll-down) ; WTF is this reverse, I dunno - (global-set-key (kbd "A-") 'scroll-up) + (define-key icejam-keys-mode-map (kbd "A-") 'end-of-line) + (define-key icejam-keys-mode-map (kbd "A-") 'beginning-of-line) + (define-key icejam-keys-mode-map (kbd "A-") 'scroll-down) ; WTF is this reverse, I dunno + (define-key icejam-keys-mode-map (kbd "A-") 'scroll-up) - (global-set-key (kbd "A-a") 'mark-whole-buffer) - (global-set-key (kbd "A-v") 'yank) - (global-set-key (kbd "A-x") 'kill-region) - (global-set-key (kbd "A-c") 'kill-ring-save) - (global-set-key (kbd "A-s") 'save-buffer) - (global-set-key (kbd "A-l") 'goto-line) - (global-set-key (kbd "A-w") + (define-key icejam-keys-mode-map (kbd "A-a") 'mark-whole-buffer) + (define-key icejam-keys-mode-map (kbd "A-v") 'yank) + (define-key icejam-keys-mode-map (kbd "A-x") 'kill-region) + (define-key icejam-keys-mode-map (kbd "A-c") 'kill-ring-save) + (define-key icejam-keys-mode-map (kbd "A-s") 'save-buffer) + (define-key icejam-keys-mode-map (kbd "A-l") 'goto-line) + (define-key icejam-keys-mode-map (kbd "A-w") (lambda () (interactive) (delete-window))) - (global-set-key (kbd "A-z") 'undo) - (global-set-key (kbd "A-q") 'kill-emacs))) + (define-key icejam-keys-mode-map (kbd "A-z") 'undo) + (define-key icejam-keys-mode-map (kbd "A-q") 'kill-emacs))) -(provide 'pkg/sys-specific) +(provide 'icejam-pkg-sys-specific) ;;; sys-specific.el ends here diff --git a/pkg/undo-tree.el b/pkg/undo-tree.el index 90e578f..798de34 100644 --- a/pkg/undo-tree.el +++ b/pkg/undo-tree.el @@ -22,5 +22,5 @@ (global-undo-tree-mode t) -(provide 'pkg/undo-tree) +(provide 'icejam-pkg-undo-tree) ;;; undo-tree.el ends here diff --git a/themes/themes.el b/themes/themes.el index 0f175a6..4dc0226 100644 --- a/themes/themes.el +++ b/themes/themes.el @@ -71,5 +71,5 @@ :foreground (face-foreground 'default) :background (face-background 'default)) -(provide 'themes/themes) +(provide 'icejam-themes) ;;; themes.el ends here