diff options
Diffstat (limited to 'users/programs/emacs/site-lisp/init-programming.el')
| -rw-r--r-- | users/programs/emacs/site-lisp/init-programming.el | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/users/programs/emacs/site-lisp/init-programming.el b/users/programs/emacs/site-lisp/init-programming.el deleted file mode 100644 index a2299cf..0000000 --- a/users/programs/emacs/site-lisp/init-programming.el +++ /dev/null @@ -1,199 +0,0 @@ -;;; init-programming.el --- Configure things related to programming -*- lexical-binding: t -*- -;; Author: Franck Cuny <franck@fcuny.net> - -;;; Commentary: - -;; Configure things related to programming - -;;; Code: - -(use-package magit - :bind ("C-x g" . magit-status) - :hook (git-commit-mode . (lambda () (setq fill-column 72))) - :custom - (magit-diff-refine-hunk t) - (magit-repository-directories '(("~/workspace" . 1))) - (magit-repolist-column-flag-alist '((magit-untracked-files . "N") - (magit-unstaged-files . "U") - (magit-staged-files . "S"))) - (magit-repolist-columns '(("Name" 25 magit-repolist-column-ident nil) - ("" 3 magit-repolist-column-flag) - ("Version" 25 magit-repolist-column-version - ((:sort magit-repolist-version<))) - ("B<U" 3 magit-repolist-column-unpulled-from-upstream - ((:right-align t) - (:sort <))) - ("B>U" 3 magit-repolist-column-unpushed-to-upstream - ((:right-align t) - (:sort <))) - ("Path" 99 magit-repolist-column-path nil))) - (magit-clone-default-directory "~/workspace/") - :config - ;; show ANSI colors in the process buffer, so it's easier to read what's going on - ;; for some reasons if it's in the `:custom' section it does not get set - (setq magit-process-finish-apply-ansi-colors t)) - -(use-package git-link - :defines git-link-remote-alist - :bind ("C-c Y" . git-link) - :commands (git-link git-link-commit git-link-homepage) - :custom - (git-link-open-in-browser t) - :config - ;; sets up roblox git enterprise as a git-link handler - (add-to-list 'git-link-remote-alist '("github\\.rblx\\.com" git-link-github)) - (add-to-list 'git-link-commit-remote-alist '("github\\.rblx\\.com" git-link-commit-github))) - -(use-package elec-pair - :hook (prog-mode . electric-pair-mode)) - -(use-package eldoc - :diminish - :hook ((emacs-lisp-mode) . eldoc-mode) - :custom - (eldoc-idle-delay 1) - (eldoc-documentation-strategy #'eldoc-documentation-default) - ;; Don't resize the echo area if the documentation is longer. This is very - ;; distracting when combined with Eglot's highlight functionality. - (eldoc-echo-area-use-multiline-p nil)) - -(use-package compile - :hook (compilation-filter . ansi-color-compilation-filter) - :custom - (compilation-always-kill t) - (compilation-context-lines 10) - (compilation-disable-input t) - (compilation-scroll-output 'first-error) - (compilation-scroll-output t) - (compilation-skip-threshold 2) - ;; Save all buffers on M-x `compile' - (compilation-ask-about-save nil)) - -(use-package direnv - :custom - (direnv-always-show-summary nil) - :config - (direnv-mode)) - -(use-package flymake - :bind (:prefix "C-c !" - :prefix-map flymake-prefix-map - ("l" . consult-flymake) - ("d" . flymake-show-buffer-diagnostics) - ("D" . flymake-show-project-diagnostics) - ("n" . flymake-goto-next-error) - ("p" . flymake-goto-prev-error)) - :hook - (prog-mode . flymake-mode) - :custom - (flymake-start-on-save-buffer t) - (flymake-fringe-indicator-position 'left-fringe) - (flymake-suppress-zero-counters t) - (flymake-proc-compilation-prevents-syntax-check t) - (flymake-no-changes-timeout 9999) - (elisp-flymake-byte-compile-load-path load-path)) - -(use-package eglot - :bind (:map eglot-mode-map - ("C-c l a" . eglot-code-actions) - ("C-c l r" . eglot-rename) - ("C-c l f" . eglot-format-buffer)) - :hook ((go-mode . eglot-ensure) - (python-mode . eglot-ensure) - (nix-mode . eglot-ensure)) - :custom - (eglot-send-changes-idle-time 0.1) - :config - (setq eglot-autoshutdown t - ;; Disable logging of events. - eglot-events-buffer-size 0) - (setq-default eglot-workspace-configuration - '(:pylsp (:plugins (:ruff (:enabled t))) - :nil (:formatting (:command ["nixfmt"])) - :gopls (:usePlaceholders t - :staticcheck t - :completeUnimported t - :matcher "CaseSensitive"))) - ;; uses https://github.com/nix-community/nixd for the LSP server instead of rnix - (add-to-list 'eglot-server-programs '(nix-mode . ("nil")))) - -(use-package emacs-lisp-mode - :bind (:map emacs-lisp-mode-map - ("C-c C-r" . eval-region) - ("C-c C-d" . eval-defun) - ("C-c C-b" . eval-buffer)) - :hook ((emacs-lisp-mode . flymake-mode))) - -(use-package go-mode - :hook ((go-mode . (lambda () (setq tab-width 4))) - (go-mode . (lambda () (add-hook 'before-save-hook 'eglot-format-buffer nil t)))) - :bind (:map go-mode-map - ("C-c C-c" . compile)) - :config - (with-eval-after-load 'exec-path-from-shell - (exec-path-from-shell-copy-envs '("GOPATH" "GOBIN")))) - -(use-package gotest - :after go-mode - :custom - (go-test-verbose t)) - -(use-package nix-mode - :hook ((nix-mode . (lambda () (add-hook 'before-save-hook 'eglot-format-buffer nil t)))) - :custom - (nix-indent-function 'nix-indent-line)) - -(use-package python-mode) - -(use-package ruby-mode) - -(use-package json-mode) - -(use-package json-reformat - :after json-mode) - -(use-package jq-mode - :mode "\\.jq\\'") - -(use-package terraform-mode - :mode "\.tf\\'") - -(use-package hcl-mode - :mode "\.nomad\\'") - -(use-package toml-mode) - -(use-package yaml-mode) - -(use-package docker - :bind ("C-c d" . docker) - :diminish - :init - (use-package docker-image :commands docker-images) - (use-package docker-volume :commands docker-volumes) - (use-package docker-network :commands docker-containers) - (use-package docker-compose :commands docker-compose) - - (use-package docker-container - :commands docker-containers - :custom - (docker-containers-shell-file-name "/bin/bash") - (docker-containers-show-all nil))) - -(use-package docker-compose-mode - :mode "docker-compose.*\.yml\\'") - -(use-package dockerfile-mode - :mode "Dockerfile[a-zA-Z.-]*\\'") - -(use-package protobuf-mode - :mode "\\.proto\\'") - -(use-package css-mode - :custom - (css-indent-offset 2) - (cssm-indent-level 1)) - -(provide 'init-programming) - -;;; init-programming.el ends here |
