diff options
Diffstat (limited to 'home-manager/programs/emacs/config.org')
| -rw-r--r-- | home-manager/programs/emacs/config.org | 401 |
1 files changed, 236 insertions, 165 deletions
diff --git a/home-manager/programs/emacs/config.org b/home-manager/programs/emacs/config.org index a21da11..3370e88 100644 --- a/home-manager/programs/emacs/config.org +++ b/home-manager/programs/emacs/config.org @@ -7,7 +7,9 @@ * Table Of Contents :toc: - [[#progs-to-load-first][Progs to load first]] + - [[#optimise-gc][Optimise gc]] - [[#use-package][use-package]] + - [[#save-history][Save history]] - [[#meow-mode][Meow mode]] - [[#general-keybindings][General keybindings]] - [[#gui-tweaks][GUI tweaks]] @@ -31,28 +33,39 @@ - [[#better-ux][Better UX]] - [[#vertico][Vertico]] - [[#consult][Consult]] - - [[#treemacs][Treemacs]] - [[#pairs][Pairs]] - [[#debugging][Debugging]] - [[#move-lines][Move lines]] - [[#truncate-lines][Truncate lines]] -- [[#eat-terminal][EAT terminal]] + - [[#no-littering][No littering]] + - [[#rainbow-delimiters][Rainbow delimiters]] + - [[#crux][Crux]] +- [[#eat-terminal][Eat terminal]] - [[#eat][Eat]] + - [[#eat-toggle][Eat-toggle]] + - [[#eat-modes][Eat modes]] - [[#lsp][LSP]] - [[#languages][Languages]] - [[#corfu][Corfu]] - [[#flycheck][Flycheck]] - [[#tree-sitter][Tree-sitter]] - [[#snippets][Snippets]] +- [[#dired][Dired]] + - [[#bindings][Bindings]] - [[#additional-apps][Additional apps]] - [[#telegram-lol][Telegram lol]] - [[#magit][Magit]] - [[#exwm][EXWM]] -- [[#dired][Dired]] - - [[#bindings][Bindings]] - - [[#icons-1][Icons]] + - [[#jupyter][Jupyter]] + - [[#orgnote][Orgnote]] + - [[#codeium][Codeium]] +- [[#runtime-performance][Runtime Performance]] * Progs to load first +** Optimise gc +#+begin_src emacs-lisp + (setq gc-cons-threshold (* 50 1000 1000)) +#+end_src ** use-package #+begin_src emacs-lisp (require 'use-package) @@ -60,6 +73,10 @@ (setq use-package-always-ensure t use-package-expand-minimally t)) #+end_src +** Save history +#+begin_src emacs-lisp + (savehist-mode 1) +#+end_src ** Meow mode #+begin_src emacs-lisp (use-package meow @@ -190,12 +207,12 @@ "fc" '((lambda () (interactive) (find-file "~/.nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config") "fu" '(sudo-edit-find-file :wk "Sudo find file") "fU" '(sudo-edit :wk "Sudo edit file") - "l" '(lsp-keymap-prefix :wk "LSP") ;; Opening.. things "o" '(:ignore t) - "ot" '(eat-toggle :wk "Eat terminal"))) + "ot" '(eat-toggle :wk "Eat terminal") + "om" '(magit-status :wk "Magit"))) + #+end_src - * GUI tweaks ** Disable gui shit #+begin_src emacs-lisp @@ -228,17 +245,16 @@ ** Display line numbers #+begin_src emacs-lisp (add-hook 'prog-mode-hook 'display-line-numbers-mode) -(add-hook 'prog-mode-hook 'visual-line-mode) +(visual-line-mode 1) #+end_src ** Theme #+begin_src emacs-lisp -(use-package autothemer) (use-package catppuccin-theme :ensure t :config (load-theme 'catppuccin t) - (setq catppuccin-flavor 'mocha) + (setq catppuccin-flavor 'macchiato) (catppuccin-reload)) #+end_src @@ -248,16 +264,29 @@ :ensure t :if (display-graphic-p)) #+end_src - ** Modeline #+begin_src emacs-lisp - (use-package doom-modeline - :init (doom-modeline-mode 1) + (use-package mood-line + + ;; Enable mood-line :config - (setq doom-modeline-height 35 ;; sets modeline height - doom-modeline-bar-width 5 ;; sets right bar width - doom-modeline-persp-name t ;; adds perspective name to modeline - doom-modeline-persp-icon t)) ;; adds folder icon next to persp name + (mood-line-mode) + :custom + (mood-line-meow-state-alist + '((normal "N" . mood-line-meow-normal) + (insert "I" . mood-line-meow-insert) + (keypad "K" . mood-line-meow-keypad) + (beacon "B" . mood-line-meow-beacon) + (motion "M" . mood-line-meow-motion))) + (mood-line-glyph-alist mood-line-glyphs-fira-code) + :custom-face + (mood-line-meow-beacon ((t (:foreground "#f9e2af" :weight bold)))) + (mood-line-meow-insert ((t (:foreground "#a6e3a1" :weight bold)))) + (mood-line-meow-keypad ((t (:foreground "#cba6f7" :weight bold)))) + (mood-line-meow-motion ((t (:foreground "#fab387" :weight bold)))) + (mood-line-meow-normal ((t (:weight bold)))) + (mode-line-inactive ((t (:box (:line-width (2 . 6) :color "#11111b") :inverse-video nil :foreground "#6c7086" :background "#11111b")))) + (mode-line ((t (:box (:line-width (2 . 6) :color "#181825") :background "#181825"))))) #+end_src ** Smooth scroll @@ -305,23 +334,25 @@ ** Enabling toc #+begin_src emacs-lisp (use-package toc-org - :init (add-hook 'org-mode-hook 'toc-org-enable)) + :hook (org-mode-hook . toc-org-mode)) #+end_src ** Org bullets #+begin_src emacs-lisp (use-package org-bullets - :init (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))) + :hook (org-mode-hook . (lambda () (org-bullets-mode 1)))) #+end_src ** Auto-tangle #+begin_src emacs-lisp - (use-package org-auto-tangle - :init (add-hook 'org-mode-hook 'org-auto-tangle-mode)) + (use-package org-auto-tangle + :config + (add-hook 'org-mode-hook 'org-auto-tangle-mode)) #+end_src ** Org-download #+begin_src emacs-lisp - (use-package org-download - :hook (dired-mode-hook . org-download-enable)) + ;; (use-package org-download + ;; :hook + ;; (dired-mode-hook . org-download-enable)) #+end_src ** Direnv #+begin_src emacs-lisp @@ -332,15 +363,17 @@ * Better UX ** Vertico #+begin_src emacs-lisp - (use-package vertico - :init - (vertico-mode) - :bind (:map vertico-map - ("M-j" . vertico-next) - ("M-k" . vertico-previous)) - :config - (savehist-mode 1)) - (use-package emacs + (use-package vertico + :init + (vertico-mode) + :bind (:map vertico-map + ("M-j" . vertico-next) + ("M-k" . vertico-previous) + ("RET" . vertico-directory-enter) + ("DEL" . vertico-directory-delete-char) + ("M-DEL" . vertico-directory-delete-word))) + + (use-package emacs :init ;; Add prompt indicator to `completing-read-multiple'. ;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma. @@ -378,17 +411,15 @@ #+begin_src emacs-lisp (use-package marginalia :bind (:map minibuffer-local-map - ("M-A" . marginalia-cycle)) + ("M-A" . marginalia-cycle)) :init (marginalia-mode)) #+end_src ** Consult #+begin_src emacs-lisp - (use-package consult + (use-package consult ;; Replace bindings. Lazily loaded due by `use-package'. :bind (;; C-c bindings in `mode-specific-map' - ("C-c M-x" . consult-mode-command) - ("C-c h" . consult-history) ("C-c k" . consult-kmacro) ("C-c m" . consult-man) ("C-c i" . consult-info) @@ -398,7 +429,6 @@ ("C-x b" . consult-buffer) ;; orig. switch-to-buffer ("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window ("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame - ("C-x r b" . consult-bookmark) ;; orig. bookmark-jump ("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer ;; Custom M-# bindings for fast register access ("M-#" . consult-register-load) @@ -408,20 +438,14 @@ ("M-y" . consult-yank-pop) ;; orig. yank-pop ;; M-g bindings in `goto-map' ("M-g e" . consult-compile-error) - ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck + ("M-g f" . consult-flycheck) ;; Alternative: consult-flycheck ("M-g g" . consult-goto-line) ;; orig. goto-line ("M-g M-g" . consult-goto-line) ;; orig. goto-line ("M-g o" . consult-outline) ;; Alternative: consult-org-heading - ("M-g m" . consult-mark) - ("M-g k" . consult-global-mark) - ("M-g i" . consult-imenu) - ("M-g I" . consult-imenu-multi) ;; M-s bindings in `search-map' - ("M-s d" . consult-find) - ("M-s D" . consult-locate) + ("M-s d" . consult-fd) ("M-s g" . consult-grep) ("M-s G" . consult-git-grep) - ("M-s r" . consult-ripgrep) ("M-s l" . consult-line) ("M-s L" . consult-line-multi) ("M-s k" . consult-keep-lines) @@ -434,9 +458,8 @@ ("M-s l" . consult-line) ;; needed by consult-line to detect isearch ("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch ;; Minibuffer history - :map minibuffer-local-map - ("M-s" . consult-history) ;; orig. next-matching-history-element - ("M-r" . consult-history)) ;; orig. previous-matching-history-element + :map eshell-mode-map + ("M-r" . consult-history)) ;; Enable automatic preview at point in the *Completions* buffer. This is ;; relevant when you use the default completion UI. @@ -455,10 +478,6 @@ ;; This adds thin lines, sorting and hides the mode line of the window. (advice-add #'register-preview :override #'consult-register-window) - ;; Use Consult to select xref locations with preview - (setq xref-show-xrefs-function #'consult-xref - xref-show-definitions-function #'consult-xref) - ;; Configure other variables and modes in the :config section, ;; after lazily loading the package. :config @@ -475,7 +494,7 @@ consult-bookmark consult-recent-file consult-xref consult--source-bookmark consult--source-file-register consult--source-recent-file consult--source-project-recent-file) - ;; :preview-key "M-." + ;; :preview-key "M-." ;; Optionally configure the narrowing key. ;; Both < and C-+ work reasonably well. @@ -487,33 +506,19 @@ ;; By default `consult-project-function' uses `project-root' from project.el. ;; Optionally configure a different project root function. - ;;;; 1. project.el (the default) + ;;;; 1. project.el (the default) ;; (setq consult-project-function #'consult--default-project--function) - ;;;; 2. vc.el (vc-root-dir) + ;;;; 2. vc.el (vc-root-dir) ;; (setq consult-project-function (lambda (_) (vc-root-dir))) - ;;;; 3. locate-dominating-file + ;;;; 3. locate-dominating-file ;; (setq consult-project-function (lambda (_) (locate-dominating-file "." ".git"))) - ;;;; 4. projectile.el (projectile-project-root) + ;;;; 4. projectile.el (projectile-project-root) ;; (autoload 'projectile-project-root "projectile") ;; (setq consult-project-function (lambda (_) (projectile-project-root))) - ;;;; 5. No project support + ;;;; 5. No project support ;; (setq consult-project-function nil) ) #+end_src -** Treemacs -#+begin_src emacs-lisp - (use-package treemacs - :config - (setq treemacs-no-png-images t)) -#+end_src -*** Treemacs evil -#+begin_src emacs-lisp - (use-package treemacs-evil) -#+end_src -*** Treemacs all the icons -#+begin_src emacs-lisp - (use-package treemacs-all-the-icons) -#+end_src ** Pairs #+begin_src emacs-lisp (use-package smartparens @@ -538,9 +543,6 @@ :pre-handlers '(:rem sp-ruby-pre-handler) :post-handlers '(:rem sp-ruby-post-handler)) - ;; Don't eagerly escape Swift style string interpolation - (sp-local-pair 'swift-mode "\\(" ")" :when '(sp-in-string-p)) - ;; Don't do square-bracket space-expansion where it doesn't make sense to (sp-local-pair '(emacs-lisp-mode org-mode markdown-mode gfm-mode) "[" nil :post-handlers '(:rem ("| " "SPC"))) @@ -564,16 +566,15 @@ :post-handlers '(("| " "SPC") (" | " "*") ("|[i]\n[i]" "RET")))) - ;; (use-package parinfer-rust-mode - ;; :hook (lisp-mode-hook . parinfer-rust-mode)) - ;; (electric-pair-mode 1) #+end_src + ** Debugging #+begin_src emacs-lisp - (use-package dap-mode - :config - (require 'dap-python) - (setq dap-python-debugger 'debugpy)) + ;; (use-package dap-mode + ;; :defer t + ;; :config + ;; (require 'dap-python) + ;; (setq dap-python-debugger 'debugpy)) #+end_src ** Move lines #+begin_src emacs-lisp @@ -583,17 +584,29 @@ #+end_src ** Truncate lines #+begin_src emacs-lisp - (set-default 'truncate-lines t) + (global-visual-line-mode t) +#+end_src +** No littering +#+begin_src emacs-lisp + (use-package no-littering) +#+end_src +** Rainbow delimiters +#+begin_src emacs-lisp + (use-package rainbow-delimiters + :hook (prog-mode . rainbow-delimiters-mode)) +#+end_src +** Crux +#+begin_src emacs-lisp + (use-package crux) #+end_src -* EAT terminal +* Eat terminal ** Eat #+begin_src emacs-lisp - (use-package eat - :custom - (eat-semi-char-non-bound-keys - '(seq-difference eat-semi-char-non-bound-keys '([C-left] [C-right])))) + (use-package eat + :custom + (eat-enable-auto-line-mode t)) #+end_src -*** Eat-toggle +** Eat-toggle #+begin_src emacs-lisp (defun eat-toggle() "Open eat terminal as a popup." @@ -609,11 +622,31 @@ (unless (derived-mode-p 'eat-mode) (eat)))))) #+end_src +** Eat modes +#+begin_src emacs-lisp + ;; (defun eat-modes() + ;; (cond + ;; ((and (eq major-mode 'eat-mode) (member 'meow-normal-mode local-minor-modes)) + ;; (eat-emacs-mode)) + ;; ((and (eq major-mode 'eat-mode) (member 'meow-insert-mode local-minor-modes)) + ;; (eat-semi-char-mode)))) + ;; (add-hook 'meow-normal-mode-hook #'eat-modes) + ;; (add-hook 'meow-insert-mode-hook #'eat-modes) +#+end_src +** Fish completion +#+begin_src emacs-lisp + (use-package fish-completion + :config + (global-fish-completion-mode)) +#+end_src +** Eshell +#+begin_src emacs-lisp +#+end_src * LSP #+begin_src emacs-lisp (use-package lsp-mode :custom - (lsp-completion-provider :none) + (lsp-completion-provider :none) ;; we use Corfu! :init (defun my/orderless-dispatch-flex-first (_pattern index _total) @@ -623,10 +656,15 @@ (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults)) '(orderless))) + ;; Optionally configure the first word as flex filtered. (add-hook 'orderless-style-dispatchers #'my/orderless-dispatch-flex-first nil 'local) - (add-to-list 'completion-at-point-functions (cape-capf-buster #'lsp-completion-at-point)) + + ;; Optionally configure the cape-capf-buster. :hook + (rust-mode-hook . lsp) + (lsp-mode-hook . (lambda () + (setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point))))) (lsp-completion-mode . my/lsp-mode-setup-completion)) #+end_src ** Languages @@ -641,34 +679,17 @@ #+end_src *** Rust #+begin_src emacs-lisp - (use-package rustic - :ensure - :bind (:map rustic-mode-map - ("M-j" . lsp-ui-imenu) - ("M-?" . lsp-find-references) - ("C-c C-c l" . flycheck-list-errors) - ("C-c C-c a" . lsp-execute-code-action) - ("C-c C-c r" . lsp-rename) - ("C-c C-c q" . lsp-workspace-restart) - ("C-c C-c Q" . lsp-workspace-shutdown) - ("C-c C-c s" . lsp-rust-analyzer-status)) - :config - ;; uncomment for less flashiness - ;; (setq lsp-eldoc-hook nil) - ;; (setq lsp-enable-symbol-highlighting nil) - ;; (setq lsp-signature-auto-activate nil) - - ;; comment to disable rustfmt on save - (setq rustic-format-on-save t)) + (use-package rust-mode + :mode "\\.rs\\'") (use-package flycheck-rust :config (with-eval-after-load 'rust-mode - (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))) + (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))) #+end_src *** Fish #+begin_src emacs-lisp (use-package fish-mode - :mode "(.fish)$") + :mode "\\.fish\\'") #+end_src *** Nix #+begin_src emacs-lisp @@ -684,25 +705,21 @@ :ensure nix-mode :commands (nix-repl)) #+end_src -*** Yuck -#+begin_src emacs-lisp - (use-package yuck-mode) -#+end_src *** Web #+begin_src emacs-lisp - (use-package web-mode - :config - (add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode)) - (add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))) + (use-package web-mode + :mode + ("\\.phtml\\'" + "\\.tpl\\.php\\'" + "\\.[agj]sp\\'" + "\\.as[cp]x\\'" + "\\.erb\\'" + "\\.mustache\\'" + "\\.djhtml\\'")) #+end_src *** JavaScript #+begin_src emacs-lisp - (use-package js2-mode) + (use-package js2-mode) #+end_src ** Corfu #+begin_src emacs-lisp @@ -711,6 +728,7 @@ (corfu-cycle t) (corfu-preselect 'prompt) (corfu-auto t) + (corfu-popupinfo-delay 0.0) :bind (:map corfu-map ("TAB" . corfu-next) @@ -719,7 +737,11 @@ ([backtab] . corfu-previous)) :init - (global-corfu-mode)) + (global-corfu-mode) + (corfu-history-mode) + (corfu-popupinfo-mode) + :config + (add-to-list 'savehist-additional-variables 'corfu-history)) (use-package emacs :init (setq completion-cycle-threshold 3) @@ -731,31 +753,30 @@ #+end_src *** Cape #+begin_src emacs-lisp - (use-package cape - ;; Bind dedicated completion commands - :bind (("C-c p p" . completion-at-point) ;; capf - ("C-c p t" . complete-tag) ;; etags - ("C-c p d" . cape-dabbrev) ;; or dabbrev-completion - ("C-c p h" . cape-history) - ("C-c p f" . cape-file) - ("C-c p k" . cape-keyword) - ("C-c p s" . cape-elisp-symbol) - ("C-c p e" . cape-elisp-block) - ("C-c p a" . cape-abbrev) - ("C-c p l" . cape-line) - ("C-c p w" . cape-dict) - ("C-c p :" . cape-emoji)) - :init - (add-to-list 'completion-at-point-functions #'cape-dabbrev) - (add-to-list 'completion-at-point-functions #'cape-file) - (add-to-list 'completion-at-point-functions #'cape-elisp-block) - ) + (use-package cape + ;; Bind dedicated completion commands + ;; :bind (("C-c p p" . completion-at-point) ;; capf + ;; ("C-c p t" . complete-tag) ;; etags + ;; ("C-c p d" . cape-dabbrev) ;; or dabbrev-completion + ;; ("C-c p h" . cape-history) + ;; ("C-c p f" . cape-file) + ;; ("C-c p k" . cape-keyword) + ;; ("C-c p s" . cape-elisp-symbol) + ;; ("C-c p e" . cape-elisp-block) + ;; ("C-c p a" . cape-abbrev) + ;; ("C-c p l" . cape-line) + ;; ("C-c p w" . cape-dict) + ;; ("C-c p :" . cape-emoji)) + :config + (add-to-list 'completion-at-point-functions #'cape-dabbrev) + (add-to-list 'completion-at-point-functions #'cape-file) + (add-to-list 'completion-at-point-functions #'cape-elisp-block) + ) #+end_src - ** Flycheck #+begin_src emacs-lisp - (use-package flycheck - :init (global-flycheck-mode)) + (use-package flycheck + :init (global-flycheck-mode)) #+end_src ** Tree-sitter #+begin_src emacs-lisp @@ -771,9 +792,22 @@ #+end_src ** Snippets #+begin_src emacs-lisp - (use-package yasnippet - :init (yas-global-mode)) - (use-package yasnippet-snippets) + ;; (use-package yasnippet + ;; :init (yas-global-mode)) + ;; (use-package yasnippet-snippets) +#+end_src +* Dired +** Bindings +#+begin_src emacs-lisp + (use-package dirvish + :init + (dirvish-override-dired-mode) + :custom + (dired-listing-switches "-Al --group-directories-first") + :bind (:map dired-mode-map + ("h" . 'dired-up-directory) + ("l" . 'dired-find-file) + ("v" . 'meow-visit))) #+end_src * Additional apps ** Telegram lol @@ -792,20 +826,57 @@ ;; (require 'exwm-config) ;; (exwm-config-example) #+end_src -* Dired -** Bindings +** Jupyter #+begin_src emacs-lisp - (use-package dired - :ensure nil - :custom ((dired-listing-switches "-agho --group-directories-first")) - :bind (:map dired-mode-map - ("h" . 'dired-up-directory) - ("l" . 'dired-find-file) - ("v" . 'meow-visit))) + ;; (use-package code-cells) #+end_src -** Icons +** Orgnote #+begin_src emacs-lisp - (use-package all-the-icons-dired - :init (add-hook 'dired-mode-hook 'all-the-icons-dired-mode)) + ;; (use-package orgnote + ;; :defer t) #+end_src +** Codeium +#+begin_src emacs-lisp + ;; (use-package codeium + ;; :init + ;; ;; use globally + ;; (add-to-list 'completion-at-point-functions #'codeium-completion-at-point) + ;; :config + ;; (setq use-dialog-box nil) ;; do not use popup boxes + + ;; ;; if you don't want to use customize to save the api-key + ;; ;; (setq codeium/metadata/api_key "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") + + ;; ;; get codeium status in the modeline + ;; (setq codeium-mode-line-enable + ;; (lambda (api) (not (memq api '(CancelRequest Heartbeat AcceptCompletion))))) + ;; (add-to-list 'mode-line-format '(:eval (car-safe codeium-mode-line)) t) + ;; ;; alternatively for a more extensive mode-line + ;; ;; (add-to-list 'mode-line-format '(-50 "" codeium-mode-line) t) + ;; ;; use M-x codeium-diagnose to see apis/fields that would be sent to the local language server + ;; (setq codeium-api-enabled + ;; (lambda (api) + ;; (memq api '(GetCompletions Heartbeat CancelRequest GetAuthToken RegisterUser auth-redirect AcceptCompletion)))) + ;; ;; you can also set a config for a single buffer like this: + ;; ;; (add-hook 'python-mode-hook + ;; ;; (lambda () + ;; ;; (setq-local codeium/editor_options/tab_size 4))) + + ;; ;; You can overwrite all the codeium configs! + ;; ;; for example, we recommend limiting the string sent to codeium for better performance + ;; (defun my-codeium/document/text () + ;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (min (+ (point) 1000) (point-max)))) + ;; ;; if you change the text, you should also change the cursor_offset + ;; ;; warning: this is measured by UTF-8 encoded bytes + ;; (defun my-codeium/document/cursor_offset () + ;; (codeium-utf8-byte-length + ;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (point)))) + ;; (setq codeium/document/text 'my-codeium/document/text) + ;; (setq codeium/document/cursor_offset 'my-codeium/document/cursor_offset)) +#+end_src +* Runtime Performance +#+begin_src emacs-lisp + (setq gc-cons-threshold (* 2 1000 1000)) + (setq read-process-output-max (* 1024 1024)) +#+end_src |
