From e051558fd5f0ca4a3c3ef1ff12aa8f85c459fa2a Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Fri, 14 Jan 2022 04:51:54 +0000
Subject: [PATCH] Made theme switcher function. Need to figure out how to complete list of themes with helm and automatically install arbitrary themes
---
config.org | 114 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 64 insertions(+), 50 deletions(-)
diff --git a/config.org b/config.org
index 6024c19..3aedeba 100644
--- a/config.org
+++ b/config.org
@@ -22,48 +22,36 @@
Theme switcher, using a cond allows loading of many preconfigured themes which can be switched between easily.
Zenburn theme is my default.
#+BEGIN_SRC emacs-lisp
- (setq emacs-theme 'zenburn)
-
(defun disable-all-themes ()
(dolist (i custom-enabled-themes)
(disable-theme i)))
- (cond ((eq emacs-theme 'zenburn)
- (use-package zenburn-theme
- :init
- (disable-all-themes)
- :config
- (load-theme 'zenburn t)))
- ((eq emacs-theme 'doom-one)
- (use-package doom-themes
- :init
- (disable-all-themes)
- :config
- (setq doom-themes-enable-bolt t
- doom-themes-enable-italic t)
- (load-theme 'doom-one t)
- (doom-themes-visual-bell-config)
- (doom-themes-org-config)))
- ((eq emacs-theme 'nord)
- (use-package nord-theme
- :init
- (disable-all-themes)
- :config
- (load-theme 'nord t)))
- ((eq emacs-theme 'solarized)
- (use-package solarized-theme
- :init
- (disable-all-themes)
- :config
- (load-theme 'solarized-dark t)))
- ((eq emacs-theme 'jetbrains-darcula)
- (use-package jetbrains-darcula-theme
- :init
- (disable-all-themes)
- :config
- (load-theme 'jetbrains-darcula t)))
- ((eq emacs-theme 'none)
- (disable-all-themes)))
+ (defun set-theme (theme)
+ "Set the theme with theme downloading"
+ (interactive "SWhat theme to load? ")
+ (cond ((eq theme 'zenburn)
+ (use-package zenburn-theme))
+ ((string-match-p "^doom" "doom-one")
+ (use-package doom-themes
+ :config
+ (setq doom-themes-enable-bolt t
+ doom-themes-enable-italic t)
+ (doom-themes-visual-bell-config)
+ (doom-themes-org-config)))
+ ((eq theme 'nord)
+ (use-package nord-theme))
+ ((eq theme 'solarized)
+ (use-package solarized-theme))
+ ((eq theme 'jetbrains-darcula)
+ (use-package jetbrains-darcula-theme))
+ ((eq theme 'none)
+ (disable-all-themes)))
+ (setq emacs-theme theme)
+ (when (not (eq theme 'none))
+ (load-theme theme))
+ (message (format "Theme set to: %s" theme)))
+
+ (set-theme 'zenburn)
#+END_SRC
** Default font
@@ -168,23 +156,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 +185,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.
@@ -796,7 +788,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
@@ -956,6 +949,18 @@
("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
*** C/C++
**** Flycheck
@@ -1030,9 +1035,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))
@@ -1275,6 +1280,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.
--
Gitblit v1.10.0