From 6257322d751dc36eaaf509682da164f6aef3ff90 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Sat, 3 Sep 2022 12:01:26 -0400 Subject: Big upgrade to javascript/typescript to use a lanugage server --- lisp/general.el | 200 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 107 insertions(+), 93 deletions(-) (limited to 'lisp/general.el') diff --git a/lisp/general.el b/lisp/general.el index cedc5fa..dc3af36 100644 --- a/lisp/general.el +++ b/lisp/general.el @@ -1,95 +1,109 @@ -(defun setup-general() - ;; menu bars - (menu-bar-mode -1) - (toggle-scroll-bar -1) - (tool-bar-mode -1) - (setq mac-shift-modifier 'meta) - - ;; Default Values - ;(setq-default indent-tabs-mode t) ; use spaces only if nil - (setq-default tab-width 4) ; Assuming you want your tabs to be four spaces wide - (set-face-attribute 'default nil :font "Droid Sans Mono-12") - (set-fontset-font t nil "Courier New" nil 'append) - (set-fontset-font t '(?😊 . ?😎) "Segoe UI Emoji") - - ;;(set-face-attribute 'default nil :height 110 :family "Consolas") - (set-language-environment "UTF-8") - (set-default-coding-systems 'utf-8) - - ;; Cursor - (setq-default cursor-type 'bar) - (blink-cursor-mode 1) - - ;; Margin - (global-linum-mode 1) - ;;(require 'minimap) - ;;(minimap-mode 1) - (require 'perfect-margin) - (perfect-margin-mode 1) - - ;; Initialization screen - (setq inhibit-splash-screen t) - (setq initial-scratch-message "") - (setq initial-major-mode 'text-mode) - ;(desktop-save-mode 1) - - ;; Projectile for projects - (require 'projectile) - (projectile-mode +1) - (define-key projectile-mode-map (kbd "s-q") 'projectile-command-map) - (define-key projectile-mode-map [?\s-t] 'projectile-switch-project) - (define-key projectile-mode-map [?\s-p] 'projectile-find-file) - - ;; Tree - (require 'neotree) - (global-set-key [f8] 'neotree-toggle) - (setq neo-smart-open t) - ;;(setq projectile-switch-project-action 'neotree-projectile-action) - (setq neo-theme (if (display-graphic-p) 'icons 'arrow)) - - ;; Smooth scroll - (setq redisplay-dont-pause t - scroll-margin 1 - scroll-step 1 - scroll-conservatively 10000 - scroll-preserve-screen-position 1) - - ;; Show flycheck always and after save - (use-package flycheck :ensure t) - (global-flycheck-mode) - (add-hook 'after-init-hook #'global-flycheck-mode) - - ;; Emojis - (use-package emojify - :config - (when (member "Segoe UI Emoji" (font-family-list)) - (set-fontset-font - t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend)) - (setq emojify-display-style 'unicode) - (setq emojify-emoji-styles '(unicode)) - (bind-key* (kbd "C-c e") #'emojify-insert-emoji)) ; override binding in any mode - - ;; == company-mode == - (use-package company - :ensure t - :defer t - :init (add-hook 'after-init-hook 'global-company-mode) - :config - (use-package company-irony :ensure t :defer t) - (setq company-idle-delay 0 - company-minimum-prefix-length 2 - company-show-numbers t - company-tooltip-limit 20 - company-dabbrev-downcase nil - company-backends '((company-irony company-gtags)) - company-vscode-light-icons-margin 1 - ) - :bind ("C-;" . company-complete-common) - ) - - ;; Flycheck - (eval-after-load 'flycheck - '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) -) + +;;; Code: + +;; Backup files +(setq backup-directory-alist `(("." . "~/.emacs_saves"))) +(setq backup-by-copying t) +(setq delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t) + +;; menu bars +(menu-bar-mode -1) +(toggle-scroll-bar -1) +(tool-bar-mode -1) +(setq mac-shift-modifier 'meta) + +;; Default Values + ;(setq-default indent-tabs-mode t) ; use spaces only if nil +(setq-default tab-width 4) ; Assuming you want your tabs to be four spaces wide +(set-face-attribute 'default nil :font "Droid Sans Mono-12") +(set-fontset-font t nil "Courier New" nil 'append) +(set-fontset-font t '(?😊 . ?😎) "Segoe UI Emoji") + +;;(set-face-attribute 'default nil :height 110 :family "Consolas") +(set-language-environment "UTF-8") +(set-default-coding-systems 'utf-8) + +;; Cursor +(setq-default cursor-type 'bar) +(blink-cursor-mode 1) + +;; Margin +(global-linum-mode 1) +;;(require 'minimap) +;;(minimap-mode 1) +(require 'perfect-margin) +(perfect-margin-mode 1) + +;; Initialization screen +(setq inhibit-splash-screen t) +(setq initial-scratch-message "") +(setq initial-major-mode 'text-mode) + ;(desktop-save-mode 1) + +;; Projectile for projects +(require 'projectile) +(projectile-mode +1) +(define-key projectile-mode-map (kbd "s-q") 'projectile-command-map) +(define-key projectile-mode-map [?\s-t] 'projectile-switch-project) +(define-key projectile-mode-map [?\s-p] 'projectile-find-file) + +;; Tree +(require 'neotree) +(global-set-key [f8] 'neotree-toggle) +(setq neo-smart-open t) +;;(setq projectile-switch-project-action 'neotree-projectile-action) +(setq neo-theme (if (display-graphic-p) 'icons 'arrow)) + +;; Smooth scroll +(setq redisplay-dont-pause t + scroll-margin 1 + scroll-step 1 + scroll-conservatively 10000 + scroll-preserve-screen-position 1) + + +;; Line highlighting +(global-hl-line-mode 1) +(set-face-background 'hl-line "gray97") + +;; Show flycheck always and after save +(use-package flycheck :ensure t) +(global-flycheck-mode) +(add-hook 'after-init-hook #'global-flycheck-mode) + +;; Emojis +(use-package emojify + :config + (when (member "Segoe UI Emoji" (font-family-list)) + (set-fontset-font + t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend)) + (setq emojify-display-style 'unicode) + (setq emojify-emoji-styles '(unicode)) + (bind-key* (kbd "C-c e") #'emojify-insert-emoji)) ; override binding in any mode + +;; Company mode +(use-package company + :ensure t + :defer t + :init (add-hook 'after-init-hook 'global-company-mode) + :config + (use-package company-irony :ensure t :defer t) + (setq company-idle-delay 0 + company-minimum-prefix-length 2 + company-show-numbers t + company-tooltip-limit 20 + company-dabbrev-downcase nil + company-backends '((company-irony company-gtags)) + company-vscode-light-icons-margin 1 + ) + :bind ("C-;" . company-complete-common) + ) + +;; Flycheck +(eval-after-load 'flycheck '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) (provide 'general) +;;; general.el ends here -- cgit v1.2.1