"[||]" "[<" "[|" "{|" "?." "?=" "?:" "##" "###" "####" "#["
"#{" "#=" "#!" "#:" "#_(" "#_" "#?" "#(" ";;" "_|_" "__" "~~"
"~~>" "~>" "~-" "~@" "$>" "^=" "]#"))
- (global-ligature-mode t))
+ ;; (global-ligature-mode t))
+ )
#+end_src
** Line numbers
Display relative line numbers except in certain modes.
: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
(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
: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
program[calendar] = emacsclient -ce '(acheam-calendar)'
program[calc] = emacsclient -ce '(progn (calc) (windmove-up) (delete-window))'
program[emacs] = emacsclient -c
+ program[bookmarks] = /home/armaa/src/bin/bookmarks
+ program[browser] = chorizo
bind[email] = MOD+Control+1
bind[irc] = MOD+Control+2
bind[calendar] = MOD+Control+4
bind[calc] = MOD+Control+5
bind[emacs] = MOD+Control+Return
+ bind[bookmarks] = MOD+Control+o
+ bind[browser] = MOD+Control+p
#+end_src
*** Quirks
Float some specific programs by default.
}
_uup() {
- rsync "$1" "root@armaanb.net:/var/ftp/pub/$2" --chmod 644
+ rsync "$1" "armaa@armaanb.net:/srv/ftp/pub/$2" --chmod 644 --progress
}
ufile() {