diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index ea558b4..70ec0dc 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -32,12 +32,14 @@ 'core/performance 'core/editor 'core/keybindings + 'core/buffer ;; Tools 'tools/completion 'tools/project 'tools/lsp 'tools/dap + 'tools/treesitter ;; Languages 'lang/c diff --git a/emacs/.emacs.d/lisp/core/buffer.el b/emacs/.emacs.d/lisp/core/buffer.el new file mode 100644 index 0000000..e19d3f8 --- /dev/null +++ b/emacs/.emacs.d/lisp/core/buffer.el @@ -0,0 +1,22 @@ +;;; buffer.el -*- lexical-binding: t; -*- + +(use-package ibuffer + :ensure t) + + +(use-package ibuffer-tramp + :ensure t) + +(use-package ibuffer-vc + :ensure t) + +(use-package ibuffer-projectile + :ensure t) + +(add-hook 'ibuffer-mode-hook + (lambda () + (ibuffer-projectile-set-filter-groups))) + +(provide 'buffer) + +;;; buffer.el ends here diff --git a/emacs/.emacs.d/lisp/core/ui.el b/emacs/.emacs.d/lisp/core/ui.el index e4a7287..222fc98 100644 --- a/emacs/.emacs.d/lisp/core/ui.el +++ b/emacs/.emacs.d/lisp/core/ui.el @@ -53,17 +53,18 @@ ;; Setting default directory for Org files (setq org-directory "~/Remotes/pCloud/Org") -(use-package ivy +;; Highlight keywords to remember the activity when coding. +(use-package hl-todo :ensure t - :config - (ivy-mode 1)) + :commands (global-hl-todo-mode) + :init (global-hl-todo-mode)) -(use-package consult - :ensure t - :defer t) - -(use-package ibuffer - :ensure t) +(setq hl-todo-keyword-faces + '(("TODO" . "#94e2d5") + ("FIXME" . "#f38ba8") + ("DEBUG" . "#cba6f7") + ("GOTCHA" . "#eba0ac") + ("STUB" . "#89b4fa"))) (provide 'ui) ;;; ui.el ends here diff --git a/emacs/.emacs.d/lisp/lang/golang.el b/emacs/.emacs.d/lisp/lang/golang.el index 0b85f32..2e6c663 100644 --- a/emacs/.emacs.d/lisp/lang/golang.el +++ b/emacs/.emacs.d/lisp/lang/golang.el @@ -58,6 +58,14 @@ ("gopls.analyses.useany" t) ("gopls.env" ((GO111MODULE . "on")))))) +(with-eval-after-load 'flycheck + ;; Usa golangci-lint in Go + (add-hook 'go-ts-mode-hook + (lambda () + (setq-local flycheck-checker 'golangci-lint) + (setq-local flycheck-check-syntax-automatically '(save mode-enabled)) + (flycheck-mode 1)))) + (use-package dap-dlv-go :after (dap-mode go-ts-mode)) diff --git a/emacs/.emacs.d/lisp/lang/shell.el b/emacs/.emacs.d/lisp/lang/shell.el index 592e703..11ccff9 100644 --- a/emacs/.emacs.d/lisp/lang/shell.el +++ b/emacs/.emacs.d/lisp/lang/shell.el @@ -1,3 +1,6 @@ +(with-eval-after-load 'flycheck + (add-hook 'bash-ts-mode-hook 'flycheck-mode)) + (use-package reformatter :ensure t :config diff --git a/emacs/.emacs.d/lisp/tools/completion.el b/emacs/.emacs.d/lisp/tools/completion.el index 19570c8..5428134 100644 --- a/emacs/.emacs.d/lisp/tools/completion.el +++ b/emacs/.emacs.d/lisp/tools/completion.el @@ -1,30 +1,14 @@ -;; Highlight keywords to remember the activity when coding. -(use-package hl-todo +;;; completion.el -*- lexical-binding: t; -*- + +(use-package ivy :ensure t - :commands (global-hl-todo-mode) - :init (global-hl-todo-mode)) + :config + (ivy-mode 1)) -(setq hl-todo-keyword-faces - '(("TODO" . "#94e2d5") - ("FIXME" . "#f38ba8") - ("DEBUG" . "#cba6f7") - ("GOTCHA" . "#eba0ac") - ("STUB" . "#89b4fa"))) +(use-package consult + :ensure t + :defer t) -(use-package ibuffer-tramp - :ensure t) - -(use-package ibuffer-vc - :ensure t) - -(use-package ibuffer-projectile - :ensure t) - -(add-hook 'ibuffer-mode-hook - (lambda () - (ibuffer-projectile-set-filter-groups))) - -;; Add autocomplete feature to Emacs (use-package company :ensure t :custom @@ -39,7 +23,10 @@ ;; Static analysis for code base (use-package flycheck :ensure t - :hook (prog-mode . flycheck-mode)) + :hook (prog-mode . flycheck-mode) + :config + (setq flycheck-check-syntax-automatically '(save mode-enabled))) -(with-eval-after-load 'flycheck - (add-hook 'bash-ts-mode-hook 'flycheck-mode)) +(provide 'completion) + +;;; completion.el ends here diff --git a/emacs/.emacs.d/lisp/tools/lsp.el b/emacs/.emacs.d/lisp/tools/lsp.el index fb2fd7a..d01159a 100644 --- a/emacs/.emacs.d/lisp/tools/lsp.el +++ b/emacs/.emacs.d/lisp/tools/lsp.el @@ -1,28 +1,6 @@ -(use-package treesit - :ensure nil - :config - (setq treesit-font-lock-level 4) - (setq treesit-auto-install t) - (setq major-mode-remap-alist - '((c-mode . c-ts-mode) - (c++-mode . c++-ts-mode) - (go-mode . go-ts-mode) - (go-mod-mode . go-mod-ts-mode) - (python-mode . python-ts-mode) - (sh-mode . bash-ts-mode))) - (setq treesit-language-source-alist - '((c "https://github.com/tree-sitter/tree-sitter-c") - (cpp "https://github.com/tree-sitter/tree-sitter-cpp") - (python "https://github.com/tree-sitter/tree-sitter-python") - (bash "https://github.com/tree-sitter/tree-sitter-bash") - (go "https://github.com/tree-sitter/tree-sitter-go") - (gomod "https://github.com/camdencheek/tree-sitter-go-mod")))) - (use-package lsp-mode :ensure t :commands (lsp lsp-deferred) - ;; :init - ;; (setq lsp-keymap-prefix "C-c l") :hook ((c-mode c-ts-mode diff --git a/emacs/.emacs.d/lisp/tools/treesitter.el b/emacs/.emacs.d/lisp/tools/treesitter.el new file mode 100644 index 0000000..2da6872 --- /dev/null +++ b/emacs/.emacs.d/lisp/tools/treesitter.el @@ -0,0 +1,25 @@ +;;; treesitter.el -*- lexical-binding: t; -*- + +(use-package treesit + :ensure nil + :config + (setq treesit-font-lock-level 4) + (setq treesit-auto-install t) + (setq major-mode-remap-alist + '((c-mode . c-ts-mode) + (c++-mode . c++-ts-mode) + (go-mode . go-ts-mode) + (go-mod-mode . go-mod-ts-mode) + (python-mode . python-ts-mode) + (sh-mode . bash-ts-mode))) + (setq treesit-language-source-alist + '((c "https://github.com/tree-sitter/tree-sitter-c") + (cpp "https://github.com/tree-sitter/tree-sitter-cpp") + (python "https://github.com/tree-sitter/tree-sitter-python") + (bash "https://github.com/tree-sitter/tree-sitter-bash") + (go "https://github.com/tree-sitter/tree-sitter-go") + (gomod "https://github.com/camdencheek/tree-sitter-go-mod")))) + +(provide 'treesitter) + +;;; treesitter.el ends here