Compare commits

...
Sign in to create a new pull request.

70 commits

Author SHA1 Message Date
Stefan Schwarz
5d6057567c up 2025-03-06 10:15:08 +01:00
Stefan Schwarz
0ad243c895 graphql mode 2024-03-12 14:58:13 +01:00
Stefan Schwarz
be13a7de2d markdown image size 2024-03-12 14:58:09 +01:00
Stefan Schwarz
9626c60fdd evil escape for better escaping 2024-03-12 14:57:31 +01:00
Stefan Schwarz
f01c9be2cf feat: recentf 2024-03-12 14:56:55 +01:00
Stefan Schwarz
0c7b273392 fix(general): fix escape key 2023-09-15 11:38:37 +02:00
Stefan Schwarz
42289b0d6e fix(python): remove pywright 2023-09-15 11:38:22 +02:00
Stefan Schwarz
95135255eb chore(terraform): cleanup 2023-09-15 11:38:02 +02:00
Stefan Schwarz
a931c4d44d feat(treemacs): add 2023-09-15 11:37:48 +02:00
Stefan Schwarz
9397be5f43 light mode 2023-03-14 16:03:18 +01:00
Stefan Schwarz
c6064eca17 add W as write 2023-03-14 16:02:21 +01:00
Stefan Schwarz
82b1900b7b fix scrollbar mode 2023-01-24 11:43:34 +01:00
Stefan Schwarz
b367cc7b6e fix l&k keybindings 2022-07-18 12:04:06 +02:00
Stefan Schwarz
1a2bcef321 cleanup evil colleciton and surround 2022-07-18 11:58:47 +02:00
Stefan Schwarz
6ba2386c28 fix indent 2022-07-18 11:49:23 +02:00
Stefan Schwarz
d8d6794eda ripgrep options 2022-07-18 08:51:01 +02:00
Stefan Schwarz
6931970496 fix helm C-jk bindings 2022-07-18 08:50:47 +02:00
Stefan Schwarz
f5dd91bc7b fix undo redo 2022-07-15 08:25:09 +02:00
Stefan Schwarz
0b903d3bda more helm 2022-07-14 12:33:49 +02:00
Stefan Schwarz
dc270f5506 cleanup 2022-07-14 12:33:36 +02:00
Stefan Schwarz
62a28e5a2d replace ivy with helm 2022-07-14 10:46:07 +02:00
Stefan Schwarz
3da203460b update gitignore 2022-07-14 10:45:57 +02:00
Stefan Schwarz
f7fe5de023 cleanup org setup 2022-07-08 14:18:51 +02:00
Stefan Schwarz
daa736aee6 remove jira integration 2022-07-08 14:18:27 +02:00
Stefan Schwarz
4bcc4d212a cleanup evil setup 2022-07-08 14:17:37 +02:00
Stefan Schwarz
e1493ae4db sort ivy minibuffer bindings 2022-07-08 14:17:16 +02:00
Stefan Schwarz
c6ddd95404 document fix undo 2022-07-08 14:07:29 +02:00
Stefan Schwarz
5c5e0b7ff6 remove scratch buffer message 2022-07-08 14:07:00 +02:00
Stefan Schwarz
eff75f8911 cleanup newlines 2022-07-08 14:05:56 +02:00
Stefan Schwarz
52ebcadde6 enforce spaces in markdown 2022-07-08 14:05:47 +02:00
Stefan Schwarz
2724f2a1b2 terraform save on exit 2022-06-30 10:31:54 +02:00
Stefan Schwarz
25d9f3b6f8 store undo history files in .emacs.d 2022-06-30 10:31:39 +02:00
Stefan Schwarz
6a1760ac24 show hidden files in fzf but no git 2022-06-29 10:17:19 +02:00
Stefan Schwarz
92d4c82034 show column numbers by default 2022-06-29 10:17:07 +02:00
Stefan Schwarz
5884224a9f use fd as search instead fzf (fast) 2022-04-22 14:44:14 +02:00
d35f3a4ac2 add snippets 2022-04-03 00:48:04 +02:00
cd97e24115 code actions 2022-03-27 00:13:31 +01:00
f24d7192ca lsp easy mode 2022-03-27 00:13:31 +01:00
Stefan Schwarz
0ab1fa8516 swithc php language server 2022-03-02 17:17:40 +01:00
Stefan Schwarz
9c26c2a5e9 add keybinding for ripgrep 2022-03-02 17:17:40 +01:00
Stefan Schwarz
ec76d893a6 add support for yaml mode 2022-03-02 17:17:40 +01:00
Stefan Schwarz
830d4fd2b7 fix fontsize 2022-03-02 17:17:40 +01:00
c8c4490958 fix undo 2022-02-27 23:02:24 +01:00
cd4899b69e add nix mode 2022-02-14 10:39:30 +01:00
3622699968 switch to dracula 2022-02-12 20:51:30 +01:00
Stefan Schwarz
a305faada8 add terraform lsp 2022-01-31 14:01:30 +01:00
dd996c2674 switch from evil-magit to evil-collection 2022-01-29 21:25:27 +01:00
4d9771379b Merge branch 'master' of ssh://git.kube.f2o.io:7722/foosinn/emacs.d 2021-12-07 14:11:12 +01:00
e7d3a3d2e4 direnv 2021-11-13 01:03:16 +01:00
Stefan Schwarz
ea8f662523 fix undo-redo 2021-10-04 13:19:32 +02:00
Stefan Schwarz
b5ba7cf800 add roam mode 2021-08-17 09:37:12 +02:00
Stefan Schwarz
a23ec69399 clean yaml langserver 2021-08-17 09:19:19 +02:00
Stefan Schwarz
2185a0a860 remove terraform 2021-08-17 09:12:23 +02:00
Stefan Schwarz
e8819d3fa7 add typescript langserver 2021-08-17 09:11:53 +02:00
Stefan Schwarz
9f64ad258a add to orgmode 2021-08-17 09:11:11 +02:00
Stefan Schwarz
a53e407029 use a bit more orgmode 2021-03-30 17:35:36 +02:00
Stefan Schwarz
94177a0928 update emacs settigns 2021-02-09 12:11:59 +01:00
Stefan Schwarz
4e62af3f79 cleanup 2021-02-09 12:11:53 +01:00
Stefan Schwarz
1dffb6d9e9 add relative nine numbers 2021-02-09 12:11:43 +01:00
Stefan Schwarz
816770d9d4 test fzf instead of projectile-find-file 2021-02-09 12:11:21 +01:00
Stefan Schwarz
3df5119937 fix indent 2021-02-09 12:11:15 +01:00
Stefan Schwarz
cf2d01d75d fix puppet langserver path 2021-02-09 12:11:05 +01:00
Stefan Schwarz
edbdfa739a add line numbers 2021-02-09 12:10:58 +01:00
Stefan Schwarz
d05e8ff6c7 add direnv to be happy on nixos 2021-02-09 12:10:38 +01:00
Stefan Schwarz
4ed8e55d30 work 2020-10-05 10:37:20 +02:00
Stefan Schwarz
e94d04e366 add php lang server 2020-08-24 11:24:37 +02:00
Stefan Schwarz
f464d2a64b updates from home 2020-08-14 09:56:38 +02:00
Stefan Schwarz
be9bcdf083 php ls changes 2020-08-04 15:51:38 +02:00
Stefan Schwarz
b778fb1993 no focus in childframes 2020-08-04 15:51:17 +02:00
Stefan Schwarz
59e2f474d3 fix puppet langserver 2020-08-04 15:51:09 +02:00
10 changed files with 320 additions and 128 deletions

22
.gitignore vendored
View file

@ -1,9 +1,25 @@
/auto-save-list /auto-save-list
/%backup%~
/backups /backups
/elpa /bookmarks
/recentf
/.cache /.cache
/elpa
/elpa_
/eshell
/games
/ktramp.el
/kubernetes-tramp.el
/.lsp-session-v1 /.lsp-session-v1
/org-roam.db
/projectile-bookmarks.eld /projectile-bookmarks.eld
/projectile.cache
/recentf
/request
/tamp
/tramp
/transient/ /transient/
projectile.cache /undo-tree-hist
/url
/.lsp-eslint-choices
/eln-cache/
/quelpa/

386
init.el
View file

@ -13,24 +13,25 @@
(setq backup-directory-alist `(("." . "~/.emacs.d/backups")) ) ; which directory to put backups file (setq backup-directory-alist `(("." . "~/.emacs.d/backups")) ) ; which directory to put backups file
(setq vc-follow-symlinks t ) ; don't ask for confirmation when opening symlinked file (setq vc-follow-symlinks t ) ; don't ask for confirmation when opening symlinked file
(setq auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)) ) ;transform backups file name (setq auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)) ) ;transform backups file name
(setq undo-tree-history-directory-alist `(("." . "~/.emacs.d/undo-tree-hist/"))) ; fix undo tree folder
(setq inhibit-startup-screen t ) ; inhibit useless and old-school startup screen (setq inhibit-startup-screen t ) ; inhibit useless and old-school startup screen
(setq ring-bell-function 'ignore ) ; silent bell when you make a mistake (setq ring-bell-function 'ignore ) ; silent bell when you make a mistake
(setq coding-system-for-read 'utf-8 ) ; use utf-8 by default (setq coding-system-for-read 'utf-8 ) ; use utf-8 by default
(setq coding-system-for-write 'utf-8 ) (setq coding-system-for-write 'utf-8 )
(setq sentence-end-double-space nil) ; sentence SHOULD end with only a point. (setq sentence-end-double-space nil) ; sentence SHOULD end with only a point.
(setq initial-scratch-message "Welcome in Emacs") ; print a default message in the empty scratch buffer opened at startup (setq initial-scratch-message "") ; print a default message in the empty scratch buffer opened at startup
(setq focus-follows-mouse nil) (setq focus-follows-mouse nil) ; stop popups from getting focus
(setq mouse-autoselect-window nil) ; stop popups from getting focus
;; global keybindings (setq display-line-numbers 'relative) ; show relative line-numers
(global-set-key (kbd "C-k") 'previous-line) (setq column-number-mode t) ; show column number
(global-set-key (kbd "C-j") 'next-line) (recentf-mode 1)
;; package manager ;; package manager
(require 'package) (require 'package)
(setq package-enable-at-startup nil) ; tells emacs not to load any packages before starting up (setq package-enable-at-startup nil) ; tells emacs not to load any packages before starting up
(setq package-archives '(("org" . "http://orgmode.org/elpa/") (setq package-archives '(("org" . "http://orgmode.org/elpa/")
("gnu" . "http://elpa.gnu.org/packages/") ("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/"))) ("melpa" . "https://melpa.org/packages/")))
(package-initialize) (package-initialize)
;; use package ;; use package
@ -40,74 +41,141 @@
(require 'use-package) (require 'use-package)
;; themes ;; themes
(use-package doom-themes :ensure t) (use-package doom-themes :ensure t
(use-package monokai-theme :ensure t
:config :config
(load-theme 'doom-laserwave t)) (load-theme 'doom-one-light t)
(use-package all-the-icons :ensure t) (rainbow-mode))
(use-package doom-modeline :ensure t (use-package doom-modeline :ensure t
:hook (after-init . doom-modeline-mode)) :hook (after-init . doom-modeline-mode))
(set-face-attribute 'default nil (set-face-attribute 'default nil
:family "Meslo LG S DZ" :family "CaskaydiaCove Nerd Font"
:height 105 :height 120
:weight 'normal :weight 'normal
:width 'normal) :width 'normal)
;; evil config ;; evil config
(use-package evil :ensure t (use-package evil :ensure t
:config (evil-mode 1)) :init
(use-package evil-surround (setq evil-want-integration t)
:ensure t (setq evil-want-keybinding nil)
:config :config
(global-evil-surround-mode 1) (evil-mode 1)
(evil-define-key 'visual evil-surround-mode-map "s" 'evil-surround-region) (global-display-line-numbers-mode))
) (evil-ex-define-cmd "W[rite]" 'evil-write)
(define-key evil-insert-state-map (kbd "C-k") nil)
(define-key evil-insert-state-map (kbd "C-v") nil)
(define-key evil-insert-state-map (kbd "C-v") 'evil-paste-after)
(use-package evil-surround :ensure t
:after evil
:config (global-evil-surround-mode 1))
(use-package evil-collection :ensure t
:after evil
:config (evil-collection-init)
:custom (evil-collection-setup-minibuffer t))
(use-package evil-matchit :ensure t (use-package evil-matchit :ensure t
:config (global-evil-matchit-mode 1)) :config (global-evil-matchit-mode 1))
(use-package undo-tree :ensure t
;; ivy config
(use-package ivy :ensure t
:config :config
(setq ivy-height 10) (global-undo-tree-mode)
(setq ivy-use-virtual-buffers t) (evil-set-undo-system 'undo-tree))
(setq enable-recursive-minibuffers t) (use-package evil-escape :ensure t
(setq ivy-re-builders-alist :config
'((swiper . ivy--regex-plus) (setq-default evil-escape-delay 0.2)
(t . ivy--regex-fuzzy))) (evil-escape-mode 1))
(ivy-mode 1)
(define-key ivy-minibuffer-map (kbd "C-j") 'ivy-next-line)
(define-key ivy-minibuffer-map (kbd "C-k") 'ivy-previous-line)
(define-key ivy-minibuffer-map (kbd "C-h") (kbd "DEL"))
(define-key ivy-minibuffer-map (kbd "C-S-h") help-map)
(define-key ivy-minibuffer-map (kbd "C-l") 'ivy-alt-done)
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit))
(use-package ivy-xref :ensure t
:init (setq xref-show-xrefs-function #'ivy-xref-show-xrefs))
(use-package ivy-rich :ensure t
:config (ivy-rich-mode 1))
;; counsel ;; helm config
(use-package counsel :ensure t (use-package helm :ensure t
:config (counsel-mode 1)) :bind (
(use-package counsel-projectile :ensure t) ([remap apropos] . helm-apropos)
(use-package swiper :ensure t) ([remap find-library] . helm-locate-library)
([remap bookmark-jump] . helm-bookmarks)
([remap execute-extended-command] . helm-M-x)
([remap find-file] . helm-find-files)
([remap imenu-anywhere] . helm-imenu-anywhere)
([remap imenu] . helm-semantic-or-imenu)
([remap noop-show-kill-ring] . helm-show-kill-ring)
([remap persp-switch-to-buffer] . helm-mini)
([remap switch-to-buffer] . helm-buffers-list)
([remap projectile-find-file] . helm-projectile-find-file)
([remap projectile-recentf] . helm-projectile-recentf)
([remap projectile-switch-project] . helm-projectile-switch-project)
([remap projectile-switch-to-buffer] . helm-projectile-switch-to-buffer)
([remap recentf-open-files] . helm-recentf)
:map helm-map
("C-k" . helm-previous-line)
("C-j" . helm-next-line)
("C-p" . helm-previous-line)
("C-n" . helm-next-line)
("C-h" . nil)
("C-h" . helm-find-files-up-one-level)
("C-l" . nil)
("C-l" . helm-ff-RET)
("ESC" . abort-recursive-edit)
:map helm-find-files-map
("C-l" . nil)
("C-l" . helm-ff-RET)
)
:preface
(setq
helm-display-buffer-default-height 0.25
helm-display-header-line nil
helm-ff-file-name-history-use-recentf t
helm-find-files-doc-header nil
helm-mode-line-string nil
helm-move-to-line-cycle-in-source t)
:config
(require 'helm-config)
(helm-mode 1))
(use-package helm-lsp :ensure t)
(use-package helm-company :ensure t)
(use-package swiper-helm :ensure t)
(use-package helm-projectile :ensure t)
(use-package helm-ag :ensure t
:config
(setq helm-ag-base-command "rg --vimgrep --no-heading --smart-case"))
;; projectile ;; projectile
(use-package projectile :ensure t (use-package projectile :ensure t
:config (projectile-mode +1)) :config (projectile-mode +1))
;; treemacs
(use-package treemacs :ensure t)
(use-package all-the-icons :ensure t)
(use-package treemacs-evil :ensure t
:after (treemacs evil))
(use-package treemacs-projectile :ensure t
:after (treemacs projectile))
(use-package lsp-treemacs :ensure t
:after (treemacs lsp)
:config
(lsp-treemacs-sync-mode 1))
;; which key ;; which key
(use-package which-key :ensure t (use-package which-key :ensure t
:config :config
(which-key-mode 1) (which-key-mode)
(which-key-setup-side-window-bottom) (which-key-setup-side-window-bottom)
(which-key-setup-minibuffer) (which-key-setup-minibuffer)
(setq which-key-idle-delay .3) (setq which-key-idle-delay .3)
) )
;; jira
(use-package org-jira :ensure t
:config
(jiralib-url "https://thomannio.atlassian.net"))
;; langs ;; langs
;; ;;
;; nixos
(use-package nix-mode :ensure t
:mode "\\.nix\\'")
;; terraform
(use-package terraform-mode :ensure t
:config
(add-hook 'terraform-mode-hook #'terraform-format-on-save-mode))
;; rego
(use-package rego-mode :ensure t)
;; vue ;; vue
(use-package vue-mode :ensure t (use-package vue-mode :ensure t
:config :config
@ -141,6 +209,10 @@
"ma" 'puppet-align-block "ma" 'puppet-align-block
) )
) )
(use-package markdown-mode :ensure t
:config
(add-hook 'markdown-mode-hook (lambda () (setq indent-tabs-mode nil)))
(set-variable 'markdown-max-image-size '(800 . 600)))
;; php ;; php
(use-package php-mode :ensure t) (use-package php-mode :ensure t)
;; k8s ;; k8s
@ -151,19 +223,28 @@
(use-package rust-mode :ensure t (use-package rust-mode :ensure t
:config :config
(setq rust-format-on-save t) (setq rust-format-on-save t)
(add-hook 'rust-mode-hook (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil))))
(lambda () (setq indent-tabs-mode nil))) ;; python
) (use-package python-black
(add-hook 'rust-mode-hook :ensure t
(lambda () (setq indent-tabs-mode nil))) :hook (python-mode . python-black-on-save-mode-enable-dwim))
;; bazel / starlak
(use-package bazel-mode :ensure t)
;; code-with-fun ;; code-with-fun
(use-package evil-org :ensure t
:after org
:hook (org-mode . (lambda () evil-org-mode)))
(use-package direnv :ensure t
:config
(direnv-mode))
(use-package rainbow-mode :ensure t
:config
(rainbow-mode))
(use-package hl-todo :ensure t
:config
(hl-todo-mode))
(use-package whitespace (use-package whitespace
:config :config
(setq whitespace-style '(face empty tabs lines-tail trailing)) (setq whitespace-style '(face empty tabs trailing))
(global-whitespace-mode t)) (global-whitespace-mode t))
(use-package company (use-package company
:config :config
@ -172,53 +253,94 @@
(define-key company-active-map (kbd "C-p") 'company-select-previous) (define-key company-active-map (kbd "C-p") 'company-select-previous)
(define-key company-active-map (kbd "C-j") 'company-select-next) (define-key company-active-map (kbd "C-j") 'company-select-next)
(define-key company-active-map (kbd "C-k") 'company-select-previous) (define-key company-active-map (kbd "C-k") 'company-select-previous)
(setq company-idle-delay 0.2 (define-key company-search-map (kbd "C-n") 'company-select-next)
(define-key company-search-map (kbd "C-p") 'company-select-previous)
(define-key company-search-map (kbd "C-j") 'company-select-next)
(define-key company-search-map (kbd "C-k") 'company-select-previous)
(setq company-idle-delay 0.1
company-minimum-prefix-length 2 company-minimum-prefix-length 2
company-require-match nil company-require-match nil))
company-dabbrev-ignore-case nil (use-package graphql-mode :ensure t)
company-dabbrev-downcase nil)
)
(use-package highlight-indentation :ensure t) (use-package highlight-indentation :ensure t)
(use-package quelpa-use-package :ensure t)
(use-package copilot :ensure t
:after evil
:quelpa (copilot :fetcher github
:repo "zerolfx/copilot.el"
:branch "main"
:files ("dist" "*.el"))
:bind ("C-," . 'copilot-accept-completion)
:hook (go-mode . copilot-mode)
:hook (python-mode . copilot-mode)
:hook (rust-mode . copilot-mode)
)
;; lsp ;; lsp
(use-package lsp-mode :ensure t (use-package lsp-mode :ensure t
:commands (lsp lsp-deferred) :commands (lsp lsp-deferred)
:hook :hook
(c++-mode . lsp-deferred) (c++-mode . lsp-deferred)
(dockerfile-mode . lsp-deferred)
(go-mode . lsp-deferred) (go-mode . lsp-deferred)
(javascript-mode . lsp-deferred) (javascript-mode . lsp-deferred)
(js2-mode . lsp-deferred) (js2-mode . lsp-deferred)
(php-mode . lsp-deferred)
(puppet-mode . lsp-deferred) (puppet-mode . lsp-deferred)
(python-mode . lsp-deferred) (python-mode . lsp-deferred)
(ruby-mode . lsp-deferred) (ruby-mode . lsp-deferred)
(rust-mode . lsp-deferred) (rust-mode . lsp-deferred)
(terraform-mode . lsp-deferred)
(vue-mode . lsp-deferred) (vue-mode . lsp-deferred)
(yaml-mode . lsp-deferred)
:config :config
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection '("/usr/bin/terraform-lsp" "-enable-log-file"))
:major-modes '(hcl-mode)
:server-id 'terraform-ls))
(lsp-register-client (lsp-register-client
(make-lsp-client (make-lsp-client
:new-connection :new-connection
(lsp-stdio-connection '("bundle" (lsp-stdio-connection
"exec" '("bundle" "exec" "--keep-file-descriptors"
"--keep-file-descriptors" "/nix/store/pgjhgk5d41q6jjxiympqjs3qzxf52mg9-puppet-editor-services-9fd4984/puppet-languageserver"
"/home/stefan/Apps/puppet-editor-services/puppet-languageserver" "--local-workspace=/home/stefan/git/sysadmin/puppet" "--debug=/tmp/puplsp" "--stdio"))
"--debug=/tmp/puplsp" :environment-fn (lambda() '(("BUNDLE_GEMFILE" . "/home/stefan/Apps/puppet-editor-services/Gemfile")))
"--stdio"))
:major-modes '(puppet-mode) :major-modes '(puppet-mode)
:server-id 'puppet-languageserver)) :server-id 'puppet-languageserver))
(add-to-list 'lsp-language-id-configuration '(puppet-mode . "puppet-languageserver")) (add-to-list 'lsp-language-id-configuration '(puppet-mode . "puppet-languageserver"))
(lsp-register-client (lsp-register-client
(make-lsp-client (make-lsp-client
:new-connection :new-connection
(lsp-stdio-connection '("/home/stefan/Apps/yaml-language-server/bin/yaml-language-server" (lsp-stdio-connection '("nix-shell" "-p" "nodePackages.yaml-language-server"
"--stdio")) "--run" "yaml-language-server --stdio"))
:major-modes '(yaml-mode) :major-modes '(yaml-mode)
:server-id 'yaml-languageserver)) :server-id 'nix-yls))
(add-to-list 'lsp-language-id-configuration '(yaml-mode . "yaml-languageserver")) (add-to-list 'lsp-language-id-configuration '(yaml-mode . "yaml-language-server"))
(lsp-register-client
(make-lsp-client
:new-connection
(lsp-stdio-connection '("nix-shell" "-p" "nodePackages.typescript-language-server"
"--run" "typescript-language-server --stdio"))
:major-modes '(js2-mode)
:server-id 'nix-tls))
(add-to-list 'lsp-language-id-configuration '(js2-mode . "nix-tls"))
(lsp-register-client
(make-lsp-client
:new-connection
(lsp-stdio-connection
'("nix-shell" "-p" "phpactor" "--run" "phpactor language-server"))
:major-modes '(php-mode)
:server-id 'php-custom))
(add-to-list 'lsp-language-id-configuration '(puppet-mode . "php-custom"))
(lsp-register-client
(make-lsp-client
:new-connection
(lsp-stdio-connection '("nix-shell" "-p" "rnix-lsp" "--run" "rnix-lsp"))
:major-modes '(nix-mode)
:server-id 'nix))
(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix-custom"))
(setq lsp-auto-configure t (setq lsp-auto-configure t
lsp-auto-guess-root t lsp-auto-guess-root t
lsp-enable-indentation t lsp-enable-indentation t
@ -226,44 +348,27 @@
lsp-before-save-edits t lsp-before-save-edits t
lsp-enable-snippet t lsp-enable-snippet t
) )
(defvar lsp-vetur-validation-template nil)
) )
(use-package flycheck :ensure t (use-package flycheck :ensure t
:init (global-flycheck-mode)) :init (global-flycheck-mode))
(use-package lsp-ui :ensure t (use-package lsp-ui :ensure t
:commands lsp-ui-mode :commands lsp-ui-mode)
:config
(setq lsp-ui-doc-position 'at-point
lsp-ui-doc-use-childframe t)
)
(use-package company-lsp :ensure t
:commands company-lsp)
(use-package yasnippet :ensure t (use-package yasnippet :ensure t
:config (yas-global-mode 1)) :config (yas-global-mode 1))
(use-package yasnippet-snippets :ensure t) (use-package yasnippet-snippets :ensure t)
(use-package smartparens :ensure t (use-package smartparens :ensure t
:config (smartparens-global-mode 1)) :config (smartparens-global-mode 1))
;; treemacs
(use-package treemacs :ensure t)
(use-package lsp-treemacs :ensure t
:commands lsp-treemacs-errors-list)
(use-package treemacs-evil :ensure t
:after treemacs evil)
(use-package treemacs-evil :ensure t
:after treemacs evil)
(use-package treemacs-evil :ensure t
:after treemacs evil)
;; magit ;; magit
(use-package evil-magit :ensure t)
(use-package magit :ensure t) (use-package magit :ensure t)
;; general config ;; general config
(use-package general :ensure t (use-package general :ensure t
:config :config
(global-set-key (kbd "<escape>") 'evil-escape)
(global-set-key (kbd "C-c C-g") 'evil-escape)
(menu-bar-mode -1) (menu-bar-mode -1)
(toggle-scroll-bar -1) (scroll-bar-mode -1)
(tool-bar-mode -1) (tool-bar-mode -1)
(general-define-key (general-define-key
:states '(normal visual insert emacs) :states '(normal visual insert emacs)
@ -271,10 +376,9 @@
:non-normal-prefix "C-SPC" :non-normal-prefix "C-SPC"
;; simple command ;; simple command
"SPC" 'counsel-M-x "SPC" 'helm-M-x
"'" '(iterm-focus :which-key "iterm") "'" '(iterm-focus :which-key "iterm")
"?" '(iterm-goto-filedir-or-home :which-key "iterm - goto dir") "?" '(iterm-goto-filedir-or-home :which-key "iterm - goto dir")
"/" 'counsel-ag
"TAB" '(foo/switch-to-last-buffer :which-key "prev buffer") "TAB" '(foo/switch-to-last-buffer :which-key "prev buffer")
;; Applications ;; Applications
@ -284,16 +388,16 @@
;; Buffers ;; Buffers
"b" '(:ignore t :which-key "Buffers") "b" '(:ignore t :which-key "Buffers")
"bb" 'switch-to-buffer "bb" 'helm-buffers-list
"bd" 'evil-delete-buffer "bd" 'evil-delete-buffer
"bn" 'next-buffer "bn" 'next-buffer
"bn" 'next-buffer "bn" 'next-buffer
"br" 'helm-recentf
"bs" 'foo/switch-to-scratch-buffer "bs" 'foo/switch-to-scratch-buffer
;; Files ;; Files
"ff" 'counsel-find-file "ff" 'helm-find-files
"fL" 'counsel-locate "fr" 'helm-recentf
"fr" 'counsel-recentf
"fR" 'foo/rename-current-buffer-file "fR" 'foo/rename-current-buffer-file
"fD" 'foo/delete-current-buffer-file "fD" 'foo/delete-current-buffer-file
"fc" 'foo/copy-file' "fc" 'foo/copy-file'
@ -319,27 +423,46 @@
"mj" 'imenu "mj" 'imenu
"me" 'lsp-ui-flycheck-list "me" 'lsp-ui-flycheck-list
"mn" 'flycheck-next-error "mn" 'flycheck-next-error
"ms" 'lsp-ivy-workspace-symbol
"mS" 'lsp-ivy-global-workspace-symbol
"m RET" 'lsp-execute-code-action
;; Projectile ;; Projectile
"p" '(:ignore t :which-key "Projectile") "p" '(:ignore t :which-key "Projectile")
"p SPC" 'counsel-projectile "pb" 'helm-projectile-switch-to-buffer
"pb" 'counsel-projectile-switch-to-buffer "pd" 'helm-projectile-find-dir
"pd" 'counsel-projectile-find-dir "pp" 'helm-projectile-switch-project
"pp" 'counsel-projectile-switch-project "pf" 'helm-projectile-find-file
"pf" 'counsel-projectile-find-file "pr" 'helm-projectile-recentf
"pr" 'projectile-recentf "pg" 'helm-ag
"/" 'helm-ag
;; Swyper ;; Swyper
"s" '(:ignore t :which-key "Swyper") "s" '(:ignore t :which-key "Swyper")
"ss" 'swiper "ss" 'swiper-helm
"sb" 'swiper-all
"sw" 'avy-goto-word-0 "sw" 'avy-goto-word-0
;; Treemacs ;; Ticket (jira)
"ft" 'treemacs "tpg" 'org-jira-get-projects
"fB" 'treemacs-bookmark "tib" 'org-jira-browse-issue
"fT" 'treemacs-find-file "tig" 'org-jira-get-issues
"f M-t" 'treemacs-find-tag "tij" 'org-jira-get-issues-from-custom-jql
"tih" 'org-jira-get-issues-headonly
"tiu" 'org-jira-update-issue
"tiw" 'org-jira-progress-issue
"tin" 'org-jira-progress-issue-next
"tia" 'org-jira-assign-issue
"tir" 'org-jira-refresh-issue
"tiR" 'org-jira-refresh-issues-in-buffer
"tic" 'org-jira-create-issue
"tik" 'org-jira-copy-current-issue-key
"tsc" 'org-jira-create-subtask
"tsg" 'org-jira-get-subtasks
"tcc" 'org-jira-add-comment
"tcu" 'org-jira-update-comment
"twu" 'org-jira-update-worklogs-from-org-clocks
"ttj" 'org-jira-todo-to-jira
"tif" 'org-jira-get-issues-by-fixversion
;; Window ;; Window
"w" '(:ignore t :which-key "Window") "w" '(:ignore t :which-key "Window")
@ -375,12 +498,23 @@
"wV" 'split-window-right-and-focus "wV" 'split-window-right-and-focus
"ww" 'other-window "ww" 'other-window
"wx" 'kill-buffer-and-window "wx" 'kill-buffer-and-window
))
))
;; custom functions ;; custom functions
(defun foo/helm-or-evil-escape ()
"Escape from anything."
(interactive)
(cond ((minibuffer-window-active-p (minibuffer-window))
;; quit the minibuffer if open.
(abort-recursive-edit))
;; Run all escape hooks. If any returns non-nil, then stop there.
;; ((cl-find-if #'funcall doom-escape-hook))
;; don't abort macros
((or defining-kbd-macro executing-kbd-macro) nil)
;; Back to the default
((keyboard-quit))))
(defun foo/toggle-maximize-buffer () "Maximize buffer." (defun foo/toggle-maximize-buffer () "Maximize buffer."
(interactive) (interactive)
(save-excursion (save-excursion
@ -445,6 +579,7 @@ initialized with the current directory instead of filename."
(yes-or-no-p (yes-or-no-p
(format "Create directory '%s'?" dir))) (format "Create directory '%s'?" dir)))
(make-directory dir t))) (make-directory dir t)))
(rename-file filename new-name 1) (rename-file filename new-name 1)
(rename-buffer new-name) (rename-buffer new-name)
(set-visited-file-name new-name) (set-visited-file-name new-name)
@ -497,19 +632,20 @@ initialized with the current directory instead of filename."
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(auth-source-save-behavior nil)
'(custom-safe-themes '(custom-safe-themes
(quote '("2853dd90f0d49439ebd582a8cbb82b9b3c2a02593483341b257f88add195ad76" "a138ec18a6b926ea9d66e61aac28f5ce99739cf38566876dc31e29ec8757f6e2" "afa47084cb0beb684281f480aa84dab7c9170b084423c7f87ba755b15f6776ef" "234dbb732ef054b109a9e5ee5b499632c63cc24f7c2383a849815dacc1727cb6" "a0be7a38e2de974d1598cf247f607d5c1841dbcef1ccd97cded8bea95a7c7639" "47db50ff66e35d3a440485357fb6acb767c100e135ccdf459060407f8baea7b2" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "0d01e1e300fcafa34ba35d5cf0a21b3b23bc4053d388e352ae6a901994597ab1" "835868dcd17131ba8b9619d14c67c127aa18b90a82438c8613586331129dda63" "da186cce19b5aed3f6a2316845583dbee76aea9255ea0da857d1c058ff003546" "8d7b028e7b7843ae00498f68fad28f3c6258eda0650fe7e17bfb017d51d0e2a2" "1278c5f263cdb064b5c86ab7aa0a76552082cf0189acf6df17269219ba496053" "e19ac4ef0f028f503b1ccafa7c337021834ce0d1a2bca03fcebc1ef635776bea" "78e6be576f4a526d212d5f9a8798e5706990216e9be10174e3f3b015b8662e27" "7a7b1d475b42c1a0b61f3b1d1225dd249ffa1abb1b7f726aec59ac7ca3bf4dae" "6c98bc9f39e8f8fd6da5b9c74a624cbb3782b4be8abae8fd84cbc43053d7c175" "d47f868fd34613bd1fc11721fe055f26fd163426a299d45ce69bef1f109e1e71" "745d03d647c4b118f671c49214420639cb3af7152e81f132478ed1c649d4597d" "a7b20039f50e839626f8d6aa96df62afebb56a5bbd1192f557cb2efb5fcfb662" "246a9596178bb806c5f41e5b571546bb6e0f4bd41a9da0df5dfbca7ec6e2250c" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" "3d54650e34fa27561eb81fc3ceed504970cc553cfd37f46e8a80ec32254a3ec3" "613aedadd3b9e2554f39afe760708fc3285bf594f6447822dd29f947f0775d6c" "f91395598d4cb3e2ae6a2db8527ceb83fed79dbaf007f435de3e91e5bda485fb" "711efe8b1233f2cf52f338fd7f15ce11c836d0b6240a18fffffc2cbd5bfe61b0" "01cf34eca93938925143f402c2e6141f03abb341f27d1c2dba3d50af9357ce70" "37144b437478e4c235824f0e94afa740ee2c7d16952e69ac3c5ed4352209eefb" "93ed23c504b202cf96ee591138b0012c295338f38046a1f3c14522d4a64d7308" "f7216d3573e1bd2a2b47a2331f368b45e7b5182ddbe396d02b964b1ea5c5dc27" "c4bdbbd52c8e07112d1bfd00fee22bf0f25e727e95623ecb20c4fa098b74c1bd" "f2927d7d87e8207fa9a0a003c0f222d45c948845de162c885bf6ad2a255babfd" "71e5acf6053215f553036482f3340a5445aee364fb2e292c70d9175fb0cc8af7" "99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default))
("99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default))) '(helm-minibuffer-history-key "M-p")
'(package-selected-packages '(package-selected-packages
(quote '(evil-escape copilot editorconfig quelpa-use-package lsp-treemacs treemacs-projectile treemacs-evil treemacs graphql-mode helm-ag undo-tree direnv lsp-ivy bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy))
(bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy))) '(require-final-newline t)
'(require-final-newline t)) '(warning-suppress-types '(((flycheck syntax-checker)))))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(lsp-clients-php-server-command (quote ("php /home/stefan/Apps/php-language-server/vendor/bin/psalm-language-server")))) )
(provide 'init) (provide 'init)
;;; init.el ends here ;;; init.el ends here

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-ae
# key: Ae
# --
Ä

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-Oe
# key: Oe
# --
Ö

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-Ue
# key: Ue
# --
Ü

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-ae
# key: ae
# --
ä

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-fuer
# key: fuer
# --
für

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-gruss
# key: Gruss
# --
Gruß

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-oe
# key: oe
# --
ö

View file

@ -0,0 +1,5 @@
# -*- mode: snippet -*-
# name: umlaut-ue
# key: ue
# --
ü