 (use-package doom-modeline
   :ensure t
   :init (doom-modeline-mode 1))
+
+(use-package json-mode
+  :ensure t)
 
 (use-package web-mode
   :ensure t

 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(custom-safe-themes
   (quote
    ("a06658a45f043cd95549d6845454ad1c1d6e24a99271676ae56157619952394a" "123a8dabd1a0eff6e0c48a03dc6fb2c5e03ebc7062ba531543dfbce587e86f2a" default)))
 '(helm-completion-style (quote emacs))
 '(inhibit-startup-screen t)
 '(package-selected-packages
   (quote
    (aggressive-indent elixir-mode web-mode doom-modeline yard-mode yasnippet-snippets rspec-mode ace-jump-mode yasnippet yasipped diminish browse-at-remote haml-mode crystal-mode lsp-ui exec-path-from-shell company-lsp lsp-mode forge smartparens all-the-icons helm-rg fish-mode editorconfig yaml-mode helm-ag go-mode git-gutter company rubocop projectile-rails evil-args company-mode robe gruvbox-theme dashboard slim-mode helm-projectile helm evil-magit magit general flycheck linum-relative projectile evil-surround ivy which-key use-package evil evil-visual-mark-mode)))
 '(safe-local-variable-values
   (quote
    ((ansible-vault-password-file . "/home/ntraum/coding/vincura/ansible/vault-password.txt")
     (rubocop-autocorrect-on-save . t)))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.

  (set-face-attribute 'default nil :height 140)
  )

(load-theme 'gruvbox)

;; https://stackoverflow.com/a/9697222/1425701
(defun comment-or-uncomment-region-or-line ()
