X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=config.org;h=158b209a6484ad9ade475f60781e75802957dd15;hb=335b0015c36927d90983385c22bfa899c4903568;hp=691d8d8153973c42b9c2ec4f7e2bce4f6c13e1c1;hpb=d1d80ca60770ec73d3ad6c7bf0f4c5449d2b15de;p=config.org.git diff --git a/config.org b/config.org index 691d8d8..158b209 100644 --- a/config.org +++ b/config.org @@ -76,7 +76,8 @@ JetBrains Mono is a great programming font with ligatures. The "NF" means that i "[||]" "[<" "[|" "{|" "?." "?=" "?:" "##" "###" "####" "#[" "#{" "#=" "#!" "#:" "#_(" "#_" "#?" "#(" ";;" "_|_" "__" "~~" "~~>" "~>" "~-" "~@" "$>" "^=" "]#")) - (global-ligature-mode t)) + ;; (global-ligature-mode t)) + ) #+end_src ** Line numbers Display relative line numbers except in certain modes. @@ -258,18 +259,19 @@ Define templates for lots of common structure elements. Mostly just used within :after org :straight (:type built-in) :config - (dolist (addition '(("el" . "src emacs-lisp") - ("el" . "src emacs-lisp") - ("sp" . "src conf :tangle ~/.spectrwm.conf") + (dolist (addition '( + ("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf") ("ash" . "src shell :tangle ~/.config/ash/ashrc") - ("pi" . "src conf :tangle ~/.config/picom/picom.conf") + ("el" . "src emacs-lisp") ("git" . "src conf :tangle ~/.gitconfig") - ("za" . "src conf :tangle ~/.config/zathura/zathurarc") - ("xr" . "src conf :tangle ~/.Xresources") - ("tm" . "src conf :tangle ~/.tmux.conf") ("gp" . "src conf :tangle ~/.gnupg/gpg.conf") - ("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf") - ("xm" . "src conf :tangle ~/.config/xmodmap"))) + ("pi" . "src conf :tangle ~/.config/picom/picom.conf") + ("sp" . "src conf :tangle ~/.spectrwm.conf") + ("tm" . "src conf :tangle ~/.tmux.conf") + ("xm" . "src conf :tangle ~/.config/xmodmap") + ("xr" . "src conf :tangle ~/.Xresources") + ("za" . "src conf :tangle ~/.config/zathura/zathurarc") + )) (add-to-list 'org-structure-template-alist addition))) #+end_src * Autocompletion @@ -557,12 +559,8 @@ I never use this, but apparently its very powerful. Another item on my todo list (use-package projectile :config (projectile-mode) :custom ((projectile-completion-system 'ivy)) - :bind-keymap - ("C-c p" . projectile-command-map) - :init - (when (file-directory-p "~/src") - (setq projectile-project-search-path '("~/src"))) - (setq projectile-switch-project-action #'projectile-dired)) + :bind-keymap ("C-c p" . projectile-command-map) + :init (setq projectile-switch-project-action #'projectile-dired)) (use-package counsel-projectile :after projectile @@ -606,13 +604,28 @@ A very good Git interface. :straight (git-email :repo "https://git.sr.ht/~yoctocell/git-email") :config (git-email-piem-mode)) #+end_src -* General text editing -** Indentation -Automatically indent after every change. I'm not sure how much I like this. It slows down the editor and code sometimes ends up in a half-indented state meaning I have to manually reformat using "==" anyways. -#+begin_src emacs-lisp - (use-package aggressive-indent - :config (global-aggressive-indent-mode)) +** C +Modified from https://eklitzke.org/smarter-emacs-clang-format. + +Style is basically ddevault's style guide but with 4 spaces instead of 8 char tabs. +#+begin_src emacs-lisp + (use-package clang-format + :custom (clang-format-style "{ + BasedOnStyle: llvm, + AlwaysBreakAfterReturnType: AllDefinitions, + IndentWidth: 4, + }")) + + (defun clang-format-buffer-smart () + "Reformat buffer if .clang-format exists in the projectile root." + (when (file-exists-p (expand-file-name ".clang-format" (projectile-project-root))) + (when (if (eq major-mode 'c-mode)) + (message "Formatting with clang-format...") + (clang-format-buffer)))) + + (add-hook 'before-save-hook 'clang-format-buffer-smart nil) #+end_src +* General text editing ** Spell checking Spell check in text mode, and in prog-mode comments. #+begin_src emacs-lisp