summary refs log tree commit diff
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)