summaryrefslogtreecommitdiff
path: root/lisp/general.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/general.el')
-rw-r--r--lisp/general.el200
1 files changed, 107 insertions, 93 deletions
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