diff --git a/.config/emacs/init.org b/.config/emacs/init.org index 84d21f7..0cb2f39 100644 --- a/.config/emacs/init.org +++ b/.config/emacs/init.org @@ -236,6 +236,7 @@ Finish up org-transclusion valign ;; Programming Languages + sly tuareg dune merlin @@ -460,15 +461,19 @@ Setup other stuff ;; (internal-border-width . 12))) (add-hook 'text-mode-hook (lambda () (setq fill-column 80) (turn-on-auto-fill))) -(setq-default display-line-numbers 'relative) +;; (setq display-line-numbers 'relative) (make-variable-buffer-local 'global-hl-line-mode) -(defun joe/disable-line-numbers () (display-line-numbers-mode 0)) +(defun joe/set-display-line-numbers () + (setq display-line-numbers 'relative)) +(add-hook 'prog-mode-hook #'joe/set-display-line-numbers) -(dolist (mode '( dashboard-mode-hook org-mode-hook term-mode-hook eww-mode-hook eat-mode-hook - vterm-mode-hook dirvish-directory-view-mode-hook eshell-mode-hook lsp-ui-doc-frame-mode-hook - dired-mode-hook org-agenda-mode-hook shell-mode-hook magit-mode-hook compilation-mode-hook mu4e-headers-mode-hook mu4e-main-mode-hook)) - (add-hook mode #'joe/disable-line-numbers)) +;; (defun joe/disable-line-numbers () (display-line-numbers-mode 0)) + +;; (dolist (mode '( dashboard-mode-hook org-mode-hook term-mode-hook eww-mode-hook eat-mode-hook +;; vterm-mode-hook dirvish-directory-view-mode-hook eshell-mode-hook lsp-ui-doc-frame-mode-hook +;; dired-mode-hook org-agenda-mode-hook shell-mode-hook magit-mode-hook compilation-mode-hook mu4e-headers-mode-hook mu4e-main-mode-hook)) +;; (add-hook mode #'joe/disable-line-numbers)) (set-window-margins nil 0) (setq-default right-fringe-width 10) @@ -803,6 +808,12 @@ Fill region is great, except when you don't need it... (meow-global-mode t) (setq scroll-preserve-screen-position nil) #+end_src +*** COMMENT expand-region +#+begin_src emacs-lisp +(evil-global-set-key 'insert (kbd "C-M-e") #'er/expand-region) +(evil-global-set-key 'insert (kbd "C-M-p") #'er/mark-inside-pairs) +(evil-global-set-key 'insert (kbd "C-M-f") #'er/mark-method-call) +#+end_src *** Boon #+begin_src emacs-lisp :tangle no (defun joe/psp-scroll-down-half-page () @@ -940,6 +951,7 @@ Fill region is great, except when you don't need it... map) "my-keys-minor-mode keymap.") +(evil-global-set-key 'normal (kbd "'") #'evil-goto-mark) (define-key joe/evil-space-mode-map (kbd "M-'") #'embark-dwim) (define-key joe/evil-space-mode-map (kbd "C-'") #'embark-act) (define-key joe/evil-space-mode-map (kbd "C-/") #'comment-line) @@ -2435,6 +2447,27 @@ file." #+end_src ** Programming Languages +*** COMMENT treesitter +#+begin_src emacs-lisp +(setq major-mode-remap-alist + '((csharp-mode . csharp-ts-mode))) + +#+end_src + +To run the default hooks, I came up with this, which is either really stupid or really cool. +This checks if it’s a ts mode then runs their counterparts. + +– MahmoudAdam +[[https://www.emacswiki.org/emacs/Tree-sitter][Link]] + +#+begin_src emacs-lisp +(defun run-non-ts-hooks () + (let ((major-name (symbol-name major-mode))) + (when (string-match-p ".*-ts-mode" major-name) + (run-hooks (intern (concat (replace-regexp-in-string "-ts" "" major-name) "-hook")))))) + +(add-hook 'prog-mode-hook 'run-non-ts-hooks) +#+end_src *** CSharp Omnisharp is very slow to start, so I want to start it manually, but not if the