diff --git a/README.org b/README.org index 6603a197..f423e443 100644 --- a/README.org +++ b/README.org @@ -24,6 +24,7 @@ - [[#yasnippet][YASnippet]] - [[#tempel][Tempel]] - [[#projectile][Projectile]] + - [[#project][Project]] - [[#httpd][HTTPD]] - [[#navigation][Navigation]] - [[#window-management][Window Management]] @@ -525,6 +526,7 @@ This evil-collection package includes a lot of other evil based things. "s" '(:ignore t :which-key "search") "i" '(:ignore t :which-key "insert") "o" '(:ignore t :which-key "open") + "p" '(:ignore t :which-key "project") "oa" '(:ignore t :which-key "org agenda") "of" '(:ignore t :which-key "elfeed") "h" '(:ignore t :which-key "help") @@ -849,12 +851,12 @@ Part of this config includes some special capture templates for my work as a you '((sequence "TODO(t)" "PROJ(p)" "STRT(s)" "WAIT(w)" "HOLD(h)" "|" "DONE(d)" "CNCL(c)") (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)")) org-agenda-files - '("/home/chris/org/todo/todo.org" - "/home/chris/org/nvtfc_social_media.org" - "/home/chris/dev/lumina/TODO.org" - "/home/chris/dev/tfcconnection/TODO.org" - "/home/chris/org/lessons/" - "/home/chris/org/") + '("~/org/todo/todo.org" + "~/org/nvtfc_social_media.org" + "~/dev/lumina/TODO.org" + "~/dev/tfcconnection/TODO.org" + "~/org/lessons/" + "~/org/") org-id-method 'ts org-agenda-tags-column -75 org-agenda-dim-blocked-tasks nil @@ -2568,6 +2570,32 @@ I'm going to use projectile to keep my projects inline. "fp" 'project-find-file "fP" 'project-switch-project)) #+end_src +** Project +Here are project specific commands +#+begin_src emacs-lisp +(chris/leader-keys + :states 'normal + :keymaps 'override + "p!" 'project-shell-command + "p&" 'project-async-shell-command + "pD" 'project-dired + "pF" 'project-or-external-find-file + "pG" 'project-or-external-find-regexp + "pb" 'project-switch-to-buffer + "pc" 'project-compile + "pd" 'project-find-dir + "pe" 'project-eshell + "pf" 'project-find-file + "pg" 'project-find-regexp + "pk" 'project-kill-buffers + "pp" 'project-switch-project + "pr" 'project-query-replace-regexp + "ps" 'project-shell + "pv" 'project-vc-dir + "px" 'project-execute-extended-command) +(general-def 'normal + "p" 'evil-paste-after) +#+end_src ** HTTPD In order to view created websites, I'll use =simple-httpd= to get a web server running in emacs for preview. @@ -2776,6 +2804,12 @@ Before getting into languages, often times compilation of things use ansi-colors (add-to-list 'comint-output-filter-functions 'ansi-color-process-output) (add-hook 'comint-mode-hook 'ansi-color-for-comint-mode-on) (add-hook 'compilation-filter-hook 'ansi-color-for-comint-mode-on) +(setq compilation-environment '("TERM=xterm-256color")) + +(defun my/advice-compilation-filter (f proc string) + (funcall f proc (xterm-color-filter string))) + +(advice-add 'compilation-filter :around #'my/advice-compilation-filter) #+END_SRC Let's also set =hl-line-mode= to be on for comint and prog modes @@ -3036,7 +3070,8 @@ Let's give eglot a try. (rust-ts-mode . eglot-ensure) :general (general-def 'normal eglot-mode-map - "ga" 'eglot-code-actions)) + "ga" 'eglot-code-actions + "gi" 'eglot-find-implementation)) #+end_src #+begin_src emacs-lisp @@ -3290,7 +3325,10 @@ We need a function to copy the full filename to kill-ring :commands (dired-sidebar-toggle-sidebar) :general (general-def 'normal - "gD" 'dired-sidebar-toggle-sidebar)) + "gD" 'dired-sidebar-toggle-sidebar) + (general-def 'normal dired-sidebar-mode-map + "l" 'dired-sidebar-find-file + "h" 'dired-sidebar-up-directory)) #+end_src #+begin_src emacs-lisp diff --git a/init.el b/init.el index 822a02ec..1be5df76 100644 --- a/init.el +++ b/init.el @@ -256,6 +256,7 @@ "s" '(:ignore t :which-key "search") "i" '(:ignore t :which-key "insert") "o" '(:ignore t :which-key "open") + "p" '(:ignore t :which-key "project") "oa" '(:ignore t :which-key "org agenda") "of" '(:ignore t :which-key "elfeed") "h" '(:ignore t :which-key "help") @@ -565,12 +566,12 @@ much faster. The hope is to also make this a faster version of imenu." '((sequence "TODO(t)" "PROJ(p)" "STRT(s)" "WAIT(w)" "HOLD(h)" "|" "DONE(d)" "CNCL(c)") (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)")) org-agenda-files - '("/home/chris/org/todo/todo.org" - "/home/chris/org/nvtfc_social_media.org" - "/home/chris/dev/lumina/TODO.org" - "/home/chris/dev/tfcconnection/TODO.org" - "/home/chris/org/lessons/" - "/home/chris/org/") + '("~/org/todo/todo.org" + "~/org/nvtfc_social_media.org" + "~/dev/lumina/TODO.org" + "~/dev/tfcconnection/TODO.org" + "~/org/lessons/" + "~/org/") org-id-method 'ts org-agenda-tags-column -75 org-agenda-dim-blocked-tasks nil @@ -1899,6 +1900,29 @@ targets." "fp" 'project-find-file "fP" 'project-switch-project)) +(chris/leader-keys + :states 'normal + :keymaps 'override + "p!" 'project-shell-command + "p&" 'project-async-shell-command + "pD" 'project-dired + "pF" 'project-or-external-find-file + "pG" 'project-or-external-find-regexp + "pb" 'project-switch-to-buffer + "pc" 'project-compile + "pd" 'project-find-dir + "pe" 'project-eshell + "pf" 'project-find-file + "pg" 'project-find-regexp + "pk" 'project-kill-buffers + "pp" 'project-switch-project + "pr" 'project-query-replace-regexp + "ps" 'project-shell + "pv" 'project-vc-dir + "px" 'project-execute-extended-command) +(general-def 'normal + "p" 'evil-paste-after) + (use-package simple-httpd :ensure t) @@ -2071,6 +2095,12 @@ targets." (add-to-list 'comint-output-filter-functions 'ansi-color-process-output) (add-hook 'comint-mode-hook 'ansi-color-for-comint-mode-on) (add-hook 'compilation-filter-hook 'ansi-color-for-comint-mode-on) +(setq compilation-environment '("TERM=xterm-256color")) + +(defun my/advice-compilation-filter (f proc string) + (funcall f proc (xterm-color-filter string))) + +(advice-add 'compilation-filter :around #'my/advice-compilation-filter) (add-hook 'comint-mode-hook 'hl-line-mode) (add-hook 'prog-mode-hook 'hl-line-mode) @@ -2240,7 +2270,8 @@ targets." (rust-ts-mode . eglot-ensure) :general (general-def 'normal eglot-mode-map - "ga" 'eglot-code-actions)) + "ga" 'eglot-code-actions + "gi" 'eglot-find-implementation)) (use-package consult-eglot :general @@ -2401,7 +2432,10 @@ targets." :commands (dired-sidebar-toggle-sidebar) :general (general-def 'normal - "gD" 'dired-sidebar-toggle-sidebar)) + "gD" 'dired-sidebar-toggle-sidebar) + (general-def 'normal dired-sidebar-mode-map + "l" 'dired-sidebar-find-file + "h" 'dired-sidebar-up-directory)) (use-package all-the-icons-dired :hook (dired-mode . all-the-icons-dired-mode))