From 934b19045a387ac8e43d763f32a35f032ba624f7 Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Sun, 22 May 2022 14:49:37 -0400 Subject: [PATCH] emacs: changed spacemacs config --- emacs/spacemacs/.spacemacs | 72 +++++++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 21 deletions(-) diff --git a/emacs/spacemacs/.spacemacs b/emacs/spacemacs/.spacemacs index 827c090..0056f9d 100644 --- a/emacs/spacemacs/.spacemacs +++ b/emacs/spacemacs/.spacemacs @@ -32,35 +32,39 @@ This function should only modify configuration layer settings." ;; List of configuration layers to load. dotspacemacs-configuration-layers - '( + '(csv + python ;; ---------------------------------------------------------------- ;; Example of useful layers you may want to use right away. ;; Uncomment some layer names and press `SPC f e R' (Vim style) or ;; `M-m f e R' (Emacs style) to install them. ;; ---------------------------------------------------------------- ;; (dart :variables dart-server-sdk-path "/bin/cache/dart-sdk/") + (csharp :variables + csharp-backend nil) rust tabs auto-completion (auto-completion :variables - auto-completion-return-key-behavior 'complete - auto-completion-tab-key-behavior 'cycle - auto-completion-complete-with-key-sequence nil - auto-completion-complete-with-key-sequence-delay 0.1 - auto-completion-minimum-prefix-length 2 - auto-completion-idle-delay 0.2 - auto-completion-private-snippets-directory nil - auto-completion-enable-snippets-in-popup nil - auto-completion-enable-help-tooltip t - auto-completion-use-company-box nil - auto-completion-enable-sort-by-usage nil) + auto-completion-return-key-behavior 'complete + auto-completion-tab-key-behavior 'cycle + auto-completion-complete-with-key-sequence nil + auto-completion-complete-with-key-sequence-delay 0.1 + auto-completion-minimum-prefix-length 2 + auto-completion-idle-delay 0.2 + auto-completion-private-snippets-directory nil + auto-completion-enable-snippets-in-popup nil + auto-completion-enable-help-tooltip 't + auto-completion-use-company-box nil + auto-completion-enable-sort-by-usage nil) ;; better-defaults emacs-lisp - git + (git :variables + git-magit-status-fullscreen t) helm (lsp :variables - lsp-lens-enable t - lsp-ui-doc-enable t) + lsp-lens-enable t + lsp-ui-doc-enable t) ;; markdown multiple-cursors org @@ -68,10 +72,13 @@ This function should only modify configuration layer settings." ;; shell-default-height 30 ;; shell-default-position 'bottom) (spell-checking :variables - spell-checking-enable-by-default nil) + spell-checking-enable-by-default nil) syntax-checking ;; version-control - treemacs) + treemacs + json + (evil-snipe :variables evil-snipe-enable-alternate-f-and-t-behaviors t) + ) ;; List of additional packages that will be installed without being wrapped @@ -82,7 +89,7 @@ This function should only modify configuration layer settings." ;; `dotspacemacs/user-config'. To use a local version of a package, use the ;; `:location' property: '(your-package :location "~/path/to/your-package/") ;; Also include the dependencies as they will not be resolved automatically. - dotspacemacs-additional-packages '() + dotspacemacs-additional-packages '(format-all) ;; A list of packages that cannot be updated. dotspacemacs-frozen-packages '() @@ -268,7 +275,7 @@ It should only modify the values of Spacemacs settings." ;; a non-negative integer (pixel size), or a floating-point (point size). ;; Point size is recommended, because it's device independent. (default 10.0) dotspacemacs-default-font '("Source Code Pro" - :size 12.0 + :size 11.0 :weight normal :width normal) @@ -572,23 +579,45 @@ This function is called at the very end of Spacemacs startup, after layer configuration. Put your configuration code here, except for variables that should be set before packages are loaded." + (setq rust-format-on-save t) ;; (global-set-key (kbd "M-1") 'evil-jump-forward) ;; (setq centaur-tabs-show-count t) (define-key winum-keymap (kbd "M-1") 'tab-bar-switch-to-tab) ;; (evil-define-key '(normal) nil (kbd "C-i") 'evil-jump-forward) (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward) + (evil-define-key* '(normal insert visual) 'global (kbd "C-s") 'escape-and-save) + (evil-define-key* '(normal visual) 'global (kbd "gD") 'lsp-find-references) + + (global-set-key (kbd "C--") 'spacemacs/scale-down-font) + (global-set-key (kbd "C-+") 'spacemacs/scale-up-font) + (global-set-key (kbd "C-=") 'spacemacs/reset-font-size) (spacemacs/set-leader-keys "." 'lazy-helm/spacemacs/helm-find-files) + (spacemacs/set-leader-keys ":" 'helm-projectile-find-file) (spacemacs/declare-prefix "o" "open external") (spacemacs/set-leader-keys "ot" 'open-external-terminal) + (spacemacs/set-leader-keys "gg" 'magit-status) + (spacemacs/set-leader-keys "ee" 'flycheck-explain-error-at-point) + ;; (spacemacs/set-leader-keys "br" '(revert-buffer nil nil)) + (setq evil-escape-key-sequence "kj") (defun open-external-terminal () "Open external terminal" (interactive) (call-process-shell-command "alacritty&" nil 0)) -) + + (defun escape-and-save() + "Evil escape and then save buffer" + (interactive) + (evil-escape) + (condition-case nil + (format-all-buffer) + (error nil)) + (save-buffer)) + + ) ;; Do not write anything past this comment. This is where Emacs will ;; auto-generate custom variable definitions. @@ -603,8 +632,9 @@ This function is called at the very end of Spacemacs initialization." ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(evil-want-Y-yank-to-eol nil) + '(org-babel-load-languages '((csharp . t) (emacs-lisp))) '(package-selected-packages - '(company-quickhelp stickyfunc-enhance srefactor yasnippet-snippets treemacs-magit smeargle orgit-forge orgit org-rich-yank org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download org-contrib org-cliplink org lsp-ui lsp-origami origami htmlize helm-org-rifle helm-lsp helm-git-grep helm-company helm-c-yasnippet gnuplot gitignore-templates git-timemachine git-modes git-messenger git-link fuzzy forge yaml magit ghub closql emacsql-sqlite emacsql treepy magit-section git-commit with-editor transient flyspell-correct-helm flyspell-correct flycheck-pos-tip evil-org centaur-tabs auto-yasnippet yasnippet auto-dictionary ac-ispell auto-complete toml-mode ron-mode racer pos-tip rust-mode helm-gtags ggtags flycheck-rust dap-mode lsp-treemacs bui lsp-mode counsel-gtags counsel swiper ivy company cargo markdown-mode ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection string-edit spaceline-all-the-icons restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-terminal-cursor-changer evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line))) + '(csv-mode yapfify sphinx-doc pytest pyenv-mode pydoc py-isort poetry pippel pipenv pyvenv pip-requirements nose lsp-python-ms lsp-pyright live-py-mode importmagic epc ctable concurrent deferred helm-pydoc helm-cscope xcscope cython-mode company-anaconda blacken anaconda-mode pythonic evil-snipe omnisharp csharp-mode web-beautify prettier-js json-reformat json-navigator hierarchy json-mode json-snatcher format-all language-id inheritenv company-quickhelp stickyfunc-enhance srefactor yasnippet-snippets treemacs-magit smeargle orgit-forge orgit org-rich-yank org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download org-contrib org-cliplink org lsp-ui lsp-origami origami htmlize helm-org-rifle helm-lsp helm-git-grep helm-company helm-c-yasnippet gnuplot gitignore-templates git-timemachine git-modes git-messenger git-link fuzzy forge yaml magit ghub closql emacsql-sqlite emacsql treepy magit-section git-commit with-editor transient flyspell-correct-helm flyspell-correct flycheck-pos-tip evil-org centaur-tabs auto-yasnippet yasnippet auto-dictionary ac-ispell auto-complete toml-mode ron-mode racer pos-tip rust-mode helm-gtags ggtags flycheck-rust dap-mode lsp-treemacs bui lsp-mode counsel-gtags counsel swiper ivy company cargo markdown-mode ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection string-edit spaceline-all-the-icons restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-terminal-cursor-changer evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful.