summaryrefslogtreecommitdiff
path: root/emacs/custom/fcuny-prog.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/custom/fcuny-prog.el')
-rw-r--r--emacs/custom/fcuny-prog.el99
1 files changed, 99 insertions, 0 deletions
diff --git a/emacs/custom/fcuny-prog.el b/emacs/custom/fcuny-prog.el
new file mode 100644
index 0000000..9717df0
--- /dev/null
+++ b/emacs/custom/fcuny-prog.el
@@ -0,0 +1,99 @@
+(require 'fcuny-vars)
+
+(use-package auto-fill
+ :hook (prog-mode . auto-fill-mode)
+ :custom
+ ;; this does not seem to work ..
+ (comment-fill-column 80)
+ (comment-auto-fill-only-comments t))
+
+(use-package company
+ :ensure t
+ :diminish company-mode
+ :custom
+ (company-minimum-prefix-length 2)
+ (company-tooltip-align-annotations t)
+ (company-tooltip-limit 12)
+ (company-idle-delay 1))
+
+(use-package lsp-mode
+ :ensure t
+ :commands (lsp lsp-deferred)
+ :diminish lsp-mode
+ :hook (((go-mode) . lsp-deferred)
+ (lsp-mode . (lambda() (let ((lsp-keymap-prefix "C-c l"))
+ (lsp-enable-which-key-integration)))))
+ :config
+ (define-key lsp-mode-map (kbd "C-c l") lsp-command-map)
+ :bind
+ (("C-c l i" . lsp-ui-imenu))
+ :custom
+ (lsp-session-file (expand-file-name "lsp-session-v1" fcuny/path-emacs-var))
+ (lsp-enable-snippet t)
+ (lsp-signature-doc-lines 5)
+ (lsp-modeline-diagnostic-scope :workspace)
+ (lsp-completion-provider :capf)
+ (lsp-completion-enable t)
+ (lsp-enable-indentation t)
+ (lsp-prefer-flymake nil))
+
+(use-package lsp-ui
+ :ensure t
+ :hook (lsp-mode . lsp-ui-mode)
+ :commands lsp-ui-mode
+ :custom
+ (lsp-ui-doc-delay 0.4)
+ (lsp-ui-doc-enable t)
+ (lsp-ui-doc-position 'top)
+ (lsp-ui-doc-include-signature t)
+ (lsp-ui-peek-enable t)
+ (lsp-ui-sideline-enable t)
+ (lsp-ui-imenu-enable t)
+ (lsp-ui-flycheck-enable t))
+
+(use-package lsp-ivy
+ :ensure t
+ :commands lsp-ivy-workspace-symbol)
+
+(use-package sh-script
+ :mode ("bashrc" . sh-mode)
+ :hook (after-save . executable-make-buffer-file-executable-if-script-p)
+ :config
+ (setq-default sh-indentation 2
+ sh-basic-offset 2))
+
+(use-package python
+ :mode (("\\.py$" . python-mode)
+ ("\\.aurora$" . python-mode))
+ :commands python-mode
+ :hook ((python-mode . eldoc-mode))
+ :custom (python-indent-offset 2))
+
+(use-package make-mode
+ :config
+ (add-hook 'makefile-mode-hook (lambda () (setq-local tab-width 2))))
+
+(use-package go-mode
+ :ensure t
+ :hook ((before-save . lsp-format-buffer)
+ (before-save . lsp-organize-imports))
+ :config
+ (when (memq window-system '(mac ns))
+ (exec-path-from-shell-copy-env "GOPATH"))
+ :custom
+ (tab-width 4))
+
+(use-package gotest
+ :ensure t)
+
+(use-package lisp-mode
+ :bind
+ (("C-c C-e" . eval-buffer)
+ ("C-c C-r" . eval-region)))
+
+(use-package puppet-mode
+ :ensure t
+ :bind (:map puppet-mode-map
+ ("C-c |" . puppet-align-block)))
+
+(provide 'fcuny-prog)