summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2020-11-11 22:24:03 +0100
committerJoel Klinghed <the_jk@spawned.biz>2020-11-11 22:24:03 +0100
commitcb094d574aa6ea1d672ee17a3cf2513cac6e5156 (patch)
treea938eeacbc135f06427b49c97cfcd9259afb3cda
parentf10029645ef689e05b31d654804cd5541151ce8e (diff)
willow: Remove ycmd
Add kotlin-mode Increase clean-buffer-list to 3days Add rename-current-buffer-file Go back to ProggyCleanTT Improve Java template (org instead of com as base package name and fiddling with the indentation) Add Kotlin template Bump flycheck c++ to c++17
-rw-r--r--emacs-willow81
1 files changed, 39 insertions, 42 deletions
diff --git a/emacs-willow b/emacs-willow
index e64ba92..cf7f5da 100644
--- a/emacs-willow
+++ b/emacs-willow
@@ -12,7 +12,7 @@
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(setq
- package-selected-packages '(meson-mode groovy-mode gradle-mode flycheck-ycmd company-ycmd ido-vertical-mode rg))
+ package-selected-packages '(meson-mode groovy-mode gradle-mode kotlin-mode flycheck ido-vertical-mode rg))
;; use (package-install-selected-packages) to install the ones above
;; show matching parentheses (and other characters)
@@ -45,14 +45,32 @@
;; Clean the buffer list at midnight
(require 'midnight)
-;; Set clean-buffer-list delay to 1 day
-(setq clean-buffer-list-delay-general 1)
+;; Set clean-buffer-list delay to 3 days
+(setq clean-buffer-list-delay-general 3)
(if (not (boundp 'clean-buffer-list-kill-regexps))
(setq clean-buffer-list-kill-regexps '()))
;; Add preprocessed buffers to the list
(add-to-list 'clean-buffer-list-kill-regexps
'("\\`\\*.*-preprocessed\\*\\'"))
+(defun rename-current-buffer-file ()
+ "Renames current buffer and file it is visiting."
+ (interactive)
+ (let* ((name (buffer-name))
+ (filename (buffer-file-name))
+ (basename (file-name-nondirectory filename)))
+ (if (not (and filename (file-exists-p filename)))
+ (error "Buffer '%s' is not visiting a file!" name)
+ (let ((new-name (read-file-name "New name: " (file-name-directory filename) basename nil basename)))
+ (if (get-buffer new-name)
+ (error "A buffer named '%s' already exists!" new-name)
+ (rename-file filename new-name 1)
+ (rename-buffer new-name)
+ (set-visited-file-name new-name)
+ (set-buffer-modified-p nil)
+ (message "File '%s' successfully renamed to '%s'"
+ name (file-name-nondirectory new-name)))))))
+
;; load rg
(require 'rg)
@@ -81,7 +99,7 @@
(add-to-list 'default-frame-alist '(user-size . t))
;; frame font and color
(add-to-list 'default-frame-alist
- '(font . "-*-inconsolata-*-*-*-*-*-120-*-*-*-*-*"))
+ '(font . "-*-ProggyCleanTT-*-*-*-*-*-120-*-*-*-*-*"))
(add-to-list 'default-frame-alist '(cursor-color . "green"))
(add-to-list 'default-frame-alist '(foreground-color . "grey"))
(add-to-list 'default-frame-alist '(background-color . "black"))
@@ -195,12 +213,21 @@
'(define-auto-insert
'("\\.\\(java\\)\\'" . "Java source")
'((file-name-base buffer-file-name)
- "package " (mapconcat 'identity (member "com" (split-string (file-name-directory buffer-file-name) "/" t)) ".") ";" \n
+ "package " (mapconcat 'identity (member "org" (split-string (file-name-directory buffer-file-name) "/" t)) ".") ";" \n
\n
"class " str " {" \n
- _ \n
- str "() {" ?\n
- " " "}" ?\n ;; > should work here but it doesn't
+ str "() {" \n
+ > _ ?\n
+ " }" ?\n
+ "}" \n)))
+(eval-after-load 'autoinsert
+ '(define-auto-insert
+ '("\\.\\(kt\\)\\'" . "Kotlin source")
+ '((file-name-base buffer-file-name)
+ "package " (mapconcat 'identity (member "org" (split-string (file-name-directory buffer-file-name) "/" t)) ".") \n
+ \n
+ "class " str "() {" \n
+ > _ ?\n
"}" \n)))
(auto-insert-mode t)
;; don't ask before using auto-insert
@@ -229,38 +256,8 @@
;; flycheck
(require 'flycheck)
(global-flycheck-mode)
-
-;; code completion
-
-;; ycmd setup
-;; # make sure to use python3
-;; # git clone https://github.com/Valloric/ycmd.git
-;; # cd ycmd
-;; # git submodule update --init --recursive
-;; # ./build.py --system-libclang --clang-completer
-;; # mkdir -p ~/.emacs.d/ycmd/third_party
-;; # cp -r {ycmd,ycm_core.so,CORE_VERSION,cpp} ~/.emacs.d/ycmd/
-;; # cp -r third_party/{bottle,clang,frozendict,jedi_deps,python-future,requests_deps,waitress} ~/.emacs.d/ycmd/third_party/
-
-(set-variable 'ycmd-server-command `("python3" ,(file-truename "~/.emacs.d/ycmd/ycmd/")))
-(set-variable 'ycmd-extra-conf-whitelist '("~/source/*"))
-(require 'ycmd)
-(add-hook 'after-init-hook #'global-ycmd-mode)
-
-(require 'company-ycmd)
-(company-ycmd-setup)
-(add-hook 'after-init-hook 'global-company-mode)
-
-(require 'flycheck-ycmd)
-(flycheck-ycmd-setup)
-
-(add-hook 'python-mode-hook (lambda () (add-to-list 'flycheck-disabled-checkers 'ycmd)))
-(add-hook 'java-mode-hook (lambda () (add-to-list 'flycheck-disabled-checkers 'ycmd)))
-
-;; disable flycheck indicatoion in terminal mode as it will conflict with
-;; company
-(when (not (display-graphic-p))
- (setq flycheck-indication-mode nil))
+(setq flycheck-check-syntax-automatically '(save new-line))
+(setq flycheck-python-pylint-executable "/usr/bin/python3")
;; replace ch alias fro grep with cchh alias, ie if starting with a ".h" file
;; you might still want to search in cc files
@@ -293,10 +290,10 @@
(add-hook 'c++-mode-hook
(lambda()
- (setq flycheck-clang-language-standard "c++14"
+ (setq flycheck-clang-language-standard "c++17"
flycheck-clang-definitions '("HAVE_CONFIG_H")
flycheck-clang-include-path
- '("../src" "../build"))
+ '("../src" "../build" "/usr/include/taglib"))
(c-set-style "default c++")))
;; Opera Java hook