From 4c7de90983f2a7be726d3a2919d5aefa4aef0065 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Wed, 12 Jan 2022 11:44:42 +0000
Subject: [PATCH] Added tree sitter parser library

---
 config.org |   61 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/config.org b/config.org
index 44bee07..dbb6a3d 100644
--- a/config.org
+++ b/config.org
@@ -168,23 +168,22 @@
 ** Helm core
 Helm aids the user interface for emacs. Adds visual and auto-complete feedback for emacs commands.
 #+BEGIN_SRC emacs-lisp
-  (use-package helm-config
-    :ensure helm
+  (use-package helm
     :bind (("M-x" . helm-M-x)
            ("C-x C-f" . helm-find-files)
            ("M-y" . helm-show-kill-ring)
            ("C-x b" . helm-mini)
            ("C-c h o" . helm-occur))
     :config
-    (setq helm-M-x-fuzzy-match t)
-    (setq helm-buffers-fuzzy-matching t
-          helm-recentf-fuzzy-match    t)
-    (setq helm-split-window-in-side-p           t ; open helm buffer inside current window, not occupy whole other window
+    (setq helm-mode-fuzzy-match                 t
+          helm-completion-in-regionfuzzy-match  t
+          helm-split-window-inside-p            t ; open helm buffer inside current window, not occupy whole other window
           helm-move-to-line-cycle-in-source     t ; move to end or beginning of source when reaching top or bottom of source.
           helm-ff-search-library-in-sexp        t ; search for library in `require' and `declare-function' sexp.
           helm-scroll-amount                    8 ; scroll 8 lines other window using M-<next>/M-<prior>
           helm-ff-file-name-history-use-recentf t
-          helm-echo-input-in-header-line t)
+          helm-echo-input-in-header-line        t
+          completion-styles                     '(flex))
     (defun spacemacs//helm-hide-minibuffer-maybe ()
       "Hide minibuffer in Helm session if we use the header line as input field."
       (when (with-helm-buffer helm-echo-input-in-header-line)
@@ -198,7 +197,12 @@
               'spacemacs//helm-hide-minibuffer-maybe)
     (helm-mode 1))
 #+END_SRC
-
+*** Helm git
+Give helm git awareness.
+#+BEGIN_SRC emacs-lisp
+  (use-package helm-ls-git
+    :bind (("C-x C-d" . helm-browse-project)))
+#+END_SRC
 ** Projectile
 Projectile is project management framework for emacs.
 Helps in navigation and management of projects.
@@ -704,6 +708,12 @@
   (use-package highlight-indentation
     :hook (prog-mode . highlight-indentation-mode))
 #+END_SRC
+
+** Auto revert mode
+Update unchanged buffers if underlying file changes.
+#+BEGIN_SRC emacs-lisp
+  (global-auto-revert-mode)
+#+END_SRC
 * Mode line tweaks
 Diminish is used but is included in init.el such that it can be used throughout this document
 ** Spaceline
@@ -790,7 +800,8 @@
              rust-mode
              sh-mode
              ;; verilog-mode
-             go-mode) . lsp))
+             go-mode
+             python-mode) . lsp))
     :init
     (setq lsp-keymap-prefix "C-c l")
     :commands lsp
@@ -895,7 +906,7 @@
   (add-hook 'magit-process-prompt-functions
             #'magit-process-general-yn-prompt-hook)
 #+END_SRC
-*** Gerrit integration
+*** COMMENT Gerrit integration
 Gerrit takes ~origin:refs/for/master~ as a destination.
 Enable magit to work with its oddities.
 #+BEGIN_SRC emacs-lisp
@@ -948,6 +959,18 @@
            ("M-RET" . 'srefactor-refactor-at-point)
            :map c++-mode-map
            ("M-RET" . 'srefactor-refactor-at-point)))
+#+END_SRC
+
+** Tree sitter
+Parser library.
+Provides better syntax highlighting and some other neat features.
+#+BEGIN_SRC emacs-lisp
+  (use-package tree-sitter
+    :diminish t)
+  (use-package tree-sitter-langs
+    :config
+    (global-tree-sitter-mode)
+    (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
 #+END_SRC
 
 ** Language specific configs
@@ -1024,9 +1047,9 @@
                                              "BreakBeforeBraces: Linux,"
                                              "AllowShortIfStatementsOnASingleLine: false,"
                                              "IndentCaseLabels: false}"))))
-
-  (use-package clang-format
-    :hook (c-mode-common . (set-clang-format-style)))
+  (add-hook 'c-mode-common-hook 'set-clang-format-style)
+  
+  (use-package clang-format)
 
   ;;   (defun clang-format-on-save ()
   ;;     (add-hook 'before-save-hook 'clang-format-buffer nil t))
@@ -1269,6 +1292,15 @@
 #+BEGIN_SRC emacs-lisp
   (use-package company-go)
 #+END_SRC
+*** Python
+**** COMMENT LSP server
+Use jedi, idk why.
+#+BEGIN_SRC emacs-lisp
+  (use-package lsp-jedi
+    :config
+    (add-to-list 'lsp-disabled-clients 'pyls)
+    (add-to-list 'lsp-enabled-clients 'jedi))
+#+END_SRC
 * Org mode
 ** Up to date org
 Pull the latest org mode from the repository, rather than the org which comes with emacs.
@@ -1357,7 +1389,8 @@
 Call pandoc on org buffer from org export.
 Need to add ~#+OPTIONS: H:99~ to enable large level header exports.
 #+BEGIN_SRC emacs-lisp
-  (use-package ox-pandoc)
+  (when (executable-find "pandoc")
+    (use-package ox-pandoc))
 #+END_SRC
 
 *** COMMENT Dokuwiki Wiki

--
Gitblit v1.9.3