diff options
| author | Jack Jamison <jackqjamison@gmail.com> | 2025-09-04 14:14:51 -0400 |
|---|---|---|
| committer | Jack Jamison <jackqjamison@gmail.com> | 2025-09-04 14:14:51 -0400 |
| commit | 18a67326bdf8b16dfc0fc14d641b312d879a18c2 (patch) | |
| tree | c1915acf66bcdf8ee9a480bf3e84e97351ea0cb3 /.config/emacs/init.el | |
| parent | 2df30d446380659d39e81ad3bcbb1411b8d49a41 (diff) | |
improve emacs
Diffstat (limited to '.config/emacs/init.el')
| -rw-r--r-- | .config/emacs/init.el | 58 |
1 files changed, 45 insertions, 13 deletions
diff --git a/.config/emacs/init.el b/.config/emacs/init.el index d5e2440..378e6d1 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -30,13 +30,8 @@ (setq custom-file (expand-file-name "customs.el" user-emacs-directory)) (load custom-file :no-error-if-file-is-missing) -;; no littering -(use-package no-littering - :config - (let ((dir (no-littering-expand-var-file-name "lock-files/"))) - (make-directory dir t) - (setq lock-file-name-transforms `((".*" ,dir t)))) - (setq custom-file (no-littering-expand-etc-file-name "custom.el"))) +;; no lockfiles +(setq create-lockfiles nil) ;; backups in one folder (setq backup-directory-alist @@ -79,8 +74,8 @@ (setq-default fill-column 80) (global-display-line-numbers-mode t) (setq display-line-numbers-width-start t - display-line-numbers-type t - truncate-lines t) + display-line-numbers-type t) +(setq-default truncate-lines t) ;; rainbow delimiters (use-package rainbow-delimiters @@ -294,7 +289,8 @@ (lsp-idle-delay 0.1) (lsp-enable-indentation nil) :hook ((c++-mode . lsp) - (c-mode . lsp)) + (c-mode . lsp) + (typst-ts-mode . lsp)) :commands lsp) (use-package lsp-ui @@ -340,18 +336,30 @@ ;; == text completion (use-package corfu - :bind (:map corfu-map - ("C-g" . corfu-quit)) + :bind + (:map corfu-map + ("C-g" . corfu-quit)) :init + (add-hook 'corfu-mode-hook + (lambda () + ;; disable orderless + (setq-local completion-styles '(basic) + completion-category-overrides nil + completion-category-defaults nil))) (global-corfu-mode) (corfu-history-mode)) +(use-package completion-preview + :ensure nil + :hook (prog-mode . completion-preview-mode)) + ;; == snippets (use-package yasnippet :diminish yas-minor-mode :config (yas-reload-all) - (add-hook 'prog-mode-hook 'yas-minor-mode) + :hook + (prog-mode . yas-minor-mode) :bind (:map yas-keymap ("M-n" . yas-next-field) @@ -376,6 +384,17 @@ (use-package yasnippet-snippets :after yasnippet) +;; == treesitter +(setq treesit-language-source-alist + '((cpp "https://github.com/tree-sitter/tree-sitter-cpp") + (c "https://github.com/tree-sitter/tree-sitter-c") + (typst "https://github.com/uben0/tree-sitter-typst"))) +(dolist (lang treesit-language-source-alist) + (unless (treesit-language-available-p (car lang)) + (treesit-install-language-grammar (car lang)))) +(setq treesit-load-name-override-list + '((c++ "libtree-sitter-cpp"))) + ;; == languages ;; === c mode @@ -397,6 +416,19 @@ org-src-tab-acts-natively t org-edit-src-content-indentation t)) +;; == typst modes +(use-package typst-ts-mode + :vc (:url "https://codeberg.org/meow_king/typst-ts-mode" + :rev :newest)) + +(with-eval-after-load 'lsp-mode + (add-to-list 'lsp-language-id-configuration + '(typst-ts-mode . "typst")) + (lsp-register-client + (make-lsp-client :new-connection (lsp-stdio-connection "tinymist") + :activation-fn (lsp-activate-on "typst") + :server-id 'theme-check))) + ;; == random functionality ;; erc (setq erc-join-buffer 'window) |
