My setup(Almost the powerful C++ IDE) and Consume so many resources in GUI.

This page summarizes the projects mentioned and recommended in the original post on /r/emacs

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • powerline

    emacs powerline (by milkypostman)

  • ;; ;;;;;;;;;;;;;;;;; PACKAGES ;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;; C++ ;;;;;;;;;;;;;;;;; ;; (require 'package) ;; (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (setq package-archives '( ("gnu" . "http://elpa.gnu.org/packages/") ;;("marmalade" . "https://marmalade-repo.org/packages/") ;;("milkmelpa" . "http://melpa.milkbox.net/packages/") ;;("stablemelpa" . "http://stable.melpa.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/") ;;("melpa" . "http://melpa.org/packages/") )) (package-initialize) (setq package-selected-packages '( avy all-the-icons centaur-tabs ;;cmake-ide cmake-mode company company-prescient company-quickhelp company-quickhelp-terminal ;counsel ;counsel-projectile dashboard dashboard-ls dap-mode eldoc-box ;;eldoc-overlay flycheck flycheck-inline helm-lsp helm-swoop helm-xref highlight-indentation hydra iedit imenu-anywhere imenu-list indent-guide ivy all-the-icons-ivy-rich ivy-dired-history ivy-file-preview ivy-prescient ivy-rich ivy-xref lsp-ivy lsp-mode lsp-treemacs lsp-ui markdown-preview-mode neotree org-bullets page-break-lines powerline projectile quick-peek ;; workgroups2 ;; Beta selectrum selectrum-prescient smartparens swiper treemacs use-package which-key yasnippet )) (when (cl-find-if-not #'package-installed-p package-selected-packages) (package-refresh-contents) (mapc #'package-install package-selected-packages)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dasboard (require 'dashboard) (dashboard-setup-startup-hook) (use-package dashboard :config (setq show-week-agenda-p t) (setq dashboard-items '((recents . 15) (agenda . 5))) (setq dashboard-set-heading-icons t) (setq dashboard-set-file-icons t) (setq dashboard-set-init-info t) (setq dashboard-startup-banner 3) (setq dashboard-set-navigator t) (dashboard-setup-startup-hook) ) ;; Set the title ;;(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard") ;; Set the banner (setq dashboard-startup-banner [official]) ;; Value can be ;; 'official which displays the official emacs logo ;; 'logo which displays an alternative emacs logo ;; 1, 2 or 3 which displays one of the text banners ;; "path/to/your/image.png" or "path/to/your/text.txt" which displays whatever image/text you would prefer ;; Content is not centered by default. To center, set (setq dashboard-center-content t) (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) (setq dashboard-items '((recents . 5) (bookmarks . 5) (projects . 5) (agenda . 5) (registers . 5))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Detect files and modes (which-key-mode) (add-hook 'c-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp) ;;(add-hook 'lisp-mode-hook 'lsp) (add-hook 'cmake-mode-hook 'company-mode) ;;(add-hook 'emacs-lisp-mode-hook 'lsp) ;; ;; Switch between Header and Source (add-hook 'c-mode-common-hook (lambda() (local-set-key (kbd "M-o") 'ff-find-other-file))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LSP + Company (setq gc-cons-threshold (* 100 1024 1024) read-process-output-max (* 1024 1024) treemacs-space-between-root-nodes nil company-idle-delay 0.0 ;; company-cmake t company-show-numbers nil company-minimum-prefix-length 1 company-dabbrev-other-buffers t company-dabbrev-code-other-buffers 'all company-dabbrev-code-everywhere t ; company-dabbrev-downcase nil ; company-transformers '(company-sort-prefer-same-case-prefix) ;; (company-sort-by-occurrence) ;; (company-sort-by-backend-importance) ;; (company-sort-prefer-same-case-prefix) lsp-idle-delay 0.1 ) ;; clangd is fast (require 'lsp-mode) ;;(add-hook 'XXX-mode-hook #'lsp) (add-hook 'emacs-lisp-mode #'lsp-deferred) (add-hook 'lisp-mode-hook #'lsp-deferred) ;;(add-hook 'prog-mode-hook #'lsp) ;; (add-hook 'js-mode-hook #'lsp) ;; (add-hook '-mode-hook #'lsp) (add-hook 'XXX-mode-hook #'lsp) (with-eval-after-load 'lsp-mode (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (require 'dap-cpptools) (yas-global-mode)) (require 'dap-cpptools) (setq dap-auto-configure-features '(sessions locals controls tooltip)) (eval-after-load 'company '(add-to-list 'company-backends '( company-capf company-bbdb company-files company-yasnippet company-cmake company-clang ))) (global-set-key (kbd "C-c c") 'company-complete-common) ;;company-capf company-bbdb company-files company-yasnippet company-dabbrev-code company-semantic company-cmake ;;;; company ;; (use-package company ;; :ensure ;; :defer 4 ;; :init (progn ;; (global-company-mode) ;; (setq company-global-modes '(not python-mode cython-mode sage-mode)) ;; ) ;; :config (progn ;; (setq company-tooltip-limit 20 ;; company-idle-delay .1 ;; company-echo-delay 0 ;; company-begin-commands '(self-insert-command) ;; company-transformers '(company-sort-by-occurrence) ;; company-selection-wrap-around t ;; company-idle-delay .1 ;; company-minimum-prefix-length 1 ;; company-selection-wrap-around t ;; company-dabbrev-downcase nil ;; ) ;; (bind-keys :map company-active-map ;; ("C-n" . company-select-next) ;; ("C-p" . company-select-previous) ;; ("C-d" . company-show-doc-buffer) ;; ("" . company-complete) ;; ("" . company-abort) ;; ) ;; ) ;; ) ;; (setq lsp-enable-snippet t) ;; (setq lsp-enable-symbol-highlighting t) (setq lsp-ui-doc-header t) (setq lsp-ui-doc-include-signature t) ;;(setq lsp-ui-doc-alignment 'window) ;;(setq lsp-ui-doc-glance t) (setq lsp-ui-doc-enable t) ;; (setq lsp-ui-doc-enable nil) (setq lsp-ui-doc-show-with-cursor t) (setq lsp-ui-doc-show-with-mouse t) ;;(setq lsp-ui-doc-text-scale-level 5) (setq lsp-ui-doc-position 'at-point) (setq lsp-lens-mode t) (setq lsp-lens-enable t) (setq lsp-headerline-breadcrumb-enable t) (setq lsp-ui-sideline-show-code-actions t) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-hover t) (setq lsp-modeline-code-actions-enable t) (setq lsp-diagnostics-provider :flycheck) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-diagnostics t) (setq lsp-eldoc-enable-hover t) (setq lsp-modeline-diagnostics-enable t) (setq lsp-signature-auto-activate t) ;; you could manually request them via `lsp-signature-activate` (setq lsp-signature-render-documentation t) ;;(setq lsp-completion-provider :company-mode) (setq lsp-completion-show-detail t) (setq lsp-completion-show-kind t) (require 'eldoc-box) (eldoc-box-hover-mode ) ;;(use-package eldoc-overlay ;; :ensure t ;; :init (eldoc-overlay-mode 1)) ;; (use-package ;; lsp-ui ;; :hook (lsp-mode . lsp-ui-mode) ;; :after flycheck ;; :bind (:map lsp-mode-map ;; ("" . lsp-find-references) ;; ("S-" . lsp-ui-peek-find-references) ;; ("" . lsp-find-definition) ;; ("S-" . lsp-find-declaration) ;; ("" . lsp-ui-doc-glance) ;; ("C-c f" . lsp-format-buffer) ;; ("C-" . lsp-ui-sideline-apply-code-actions) ;; ("M-p" . lsp-ui-find-prev-reference) ;; ("M-n" . lsp-ui-find-next-reference)) ;; :custom (lsp-ui-sideline-diagnostic-max-lines 3) ;; (lsp-ui-flycheck-enable t) ;; (lsp-ui-doc-enable nil) ;; (lsp-ui-sideline-ignore-duplicate t) ;; (lsp-ui-sideline-show-code-actions t) ;; (lsp-ui-sideline-show-hover t) ;; (lsp-ui-sideline-show-symbol nil) ;; (lsp-ui-sideline-actions-kind-regex ".*") ;; (lsp-clients-clangd-args '("--compile-commands-dir=build" ;; "--header-insertion=never") nil nil ;; "Customized with use-package lsp-clients") ;; :custom-face ;; ;; Make the sideline overlays less annoying ;; (lsp-ui-sideline-global ((t ;; (:background "444444")))) ;; (lsp-ui-sideline-symbol-info ((t ;; (:foreground "gray45" ;; :slant italic ;; :height 0.99))))) ;; No es compatible con helm ;(setq lsp-ui-peek-mode t) ;; (global-set-key (kbd " ") #'lsp-ui-imenu) ;; (setq lsp-ui-imenu-auto-refresh t) ;; ;;;;;;;;;;;;;;;;; Centaur Tabs ;;;;;;;;;;;;;;;;; ;; (require 'centaur-tabs) (centaur-tabs-mode t) (global-set-key (kbd "M-") 'centaur-tabs-backward) (global-set-key (kbd "M-") 'centaur-tabs-forward) (centaur-tabs-headline-match) ;(setq centaur-tabs-style "alternate") ;(setq centaur-tabs-style "box") (setq centaur-tabs-style "rounded") ;(setq centaur-tabs-style "bar") (setq centaur-tabs-set-icons t) (setq centaur-tabs-plain-icons t) (setq centaur-tabs-set-close-button nil) (setq centaur-tabs-set-modified-marker t) (centaur-tabs-change-fonts "arial" 160) (setq centaur-tabs-set-bar 'under) ;; Note: If you're not using Spacmeacs, in order for the underline to display ;; correctly you must add the following line: (setq x-underline-at-descent-line t) ;; ;;;;;;;;;;;;;;;;; Ido Mode ;;;;;;;;;;;;;;;;; ;; ;;(ido-mode t) ;; Do not use ;; ;;;;;;;;;;;;;;;;; Indent-Guide ;;;;;;;;;;;;;;;;; ;; (require 'indent-guide) (indent-guide-global-mode) (setq indent-guide-delay 0.1) ;(set-face-background 'indent-guide-face "dimwhite") ;;(set-face-background 'indent-guide-face "gray") ;;(set-face-background 'indent-guide-face "#000000") ;;(set-face-background 'indent-guide-face "blue") (setq indent-guide-recursive t) (setq indent-guide-char "|") ;; ;;;;;;;;;;;;;;;;; Neotree ;;;;;;;;;;;;;;;;; ;; ;(require 'neotree) ;(global-set-key (kbd " ") 'neotree-toggle) ;(setq-default neo-show-hidden-files t) ;(setq neo-smart-open t) ; (neotree-show) ;; ;;;;;;;;;;;;;;;;; treemacs ;;;;;;;;;;;;;;;;; ;; (use-package treemacs :ensure t :defer t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :config (progn (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-deferred-git-apply-delay 0.5 treemacs-directory-name-transformer #'identity treemacs-display-in-side-window t treemacs-eldoc-display t treemacs-file-event-delay 5000 treemacs-file-extension-regex treemacs-last-period-regex-value treemacs-file-follow-delay 0.2 treemacs-file-name-transformer #'identity treemacs-follow-after-init t treemacs-expand-after-init t treemacs-git-command-pipe "" treemacs-goto-tag-strategy 'refetch-index treemacs-indentation 2 treemacs-indentation-string " " treemacs-is-never-other-window nil treemacs-max-git-entries 5000 treemacs-missing-project-action 'ask treemacs-move-forward-on-expand nil treemacs-no-png-images nil treemacs-no-delete-other-windows t treemacs-project-follow-cleanup nil treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) treemacs-position 'left treemacs-read-string-input 'from-child-frame treemacs-recenter-distance 0.1 treemacs-recenter-after-file-follow nil treemacs-recenter-after-tag-follow nil treemacs-recenter-after-project-jump 'always treemacs-recenter-after-project-expand 'on-distance treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") treemacs-show-cursor nil treemacs-show-hidden-files t treemacs-silent-filewatch nil treemacs-silent-refresh nil treemacs-sorting 'alphabetic-asc treemacs-select-when-already-in-treemacs 'move-back treemacs-space-between-root-nodes t treemacs-tag-follow-cleanup t treemacs-tag-follow-delay 1.5 treemacs-user-mode-line-format nil treemacs-user-header-line-format nil treemacs-width 35 treemacs-width-is-initially-locked t treemacs-workspace-switch-cleanup nil) ;; The default width and height of the icons is 22 pixels. If you are ;; using a Hi-DPI display, uncomment this to double the icon size. ;;(treemacs-resize-icons 44) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (treemacs-fringe-indicator-mode 'always) (pcase (cons (not (null (executable-find "git"))) (not (null treemacs-python-executable))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (treemacs-hide-gitignored-files-mode nil)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t 1" . treemacs-delete-other-windows) (" " . treemacs) ("C-x t B" . treemacs-bookmark) ("C-x t C-t" . treemacs-find-file) ("C-x t M-t" . treemacs-find-tag))) (use-package treemacs-evil :after (treemacs evil) :ensure t) (use-package treemacs-projectile :after (treemacs projectile) :ensure t) (use-package treemacs-icons-dired :after (treemacs dired) :ensure t :config (treemacs-icons-dired-mode)) (use-package treemacs-magit :after (treemacs magit) :ensure t) (use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode :after (treemacs persp-mode) ;;or perspective vs. persp-mode :ensure t :config (treemacs-set-scope-type 'Perspectives)) (with-eval-after-load 'treemacs (define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) ;; ;;;;;;;;;;;;;;;;; iMenu ;;;;;;;;;;;;;;;;; ;; (global-set-key (kbd " ") #'imenu-list-smart-toggle) ;; (setq imenu-list-focus-after-activation t) ;; (global-set-key (kbd "C-.") #'imenu-anywhere) ;(imenu-list-smart-toggle) (setq imenu-list-size 40) ;;(setq imenu-list-auto-resize t) ;;(setq imenu-max-item-length 40) ;;(setq imenu-min-item-length 30) ;; ;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;; ;; (projectile-mode +1) ;; Recommended keymap prefix on macOS ;; (define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) ;; Recommended keymap prefix on Windows/Linux (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) ;;(setq projectile-project-search-path '("~/Workspace_SDD/emacs/")) ;; Usar ;; Projectile puede detectar proyectos con archivos cmake, git ..., pero tambien para "forzarlo" en la carpeta crea un archivo .projectile ;;(setq projectile-indexing-method 'native) (setq projectile-enable-caching t) (setq projectile-require-project-root t) (setq projectile-switch-project-action #'projectile-dired) (setq projectile-switch-project-action #'projectile-find-dir) (setq projectile-find-dir-includes-top-level t) ;; ;;;;;;;;;;;;;;;;; Powerline ;;;;;;;;;;;;;;;;; ;; ;; https://github.com/milkypostman/powerline (require 'powerline) (powerline-center-theme) (setq powerline-default-separator 'wave) ;(powerline-raw mode-line-mule-info nil 'l) ;;(setq powerline-arrow-shape 'arrow) ;; the default (setq powerline-arrow-shape 'curve) ;; give your mode-line curves ;;(setq powerline-arrow-shape 'arrow14) ;; best for small fonts ;; ParenMode. ;; https://www.emacswiki.org/emacs/ShowParenMode ;;(require 'paren) (show-paren-mode 1) (setq show-paren-delay 0) (setq show-paren-style 'mixed) ;; Smartparens (require 'smartparens-config) (smartparens-global-mode t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details ;; ;; helm from https://github.com/emacs-helm/helm ;; ;;(require 'helm) ;; (helm-mode) ;; (require 'helm-xref) ;; (define-key global-map [remap find-file] #'helm-find-files) ;; (define-key global-map [remap execute-extended-command] #'helm-M-x) ;; (define-key global-map [remap switch-to-buffer] #'helm-mini) ;; ;;(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) ;; ;; ;; This Solves the error with Flycheck ;; (setq helm-always-two-windows t ;; helm-split-window-inside-p t) ;; ;; Locate the helm-swoop folder to your path ;; ;;(add-to-list 'load-path "~/.emacs.d/elisp/helm-swoop") ;; (require 'helm-swoop) ;; ;; Change the keybinds to whatever you like :) ;; (global-set-key (kbd "M-i") 'helm-swoop) ;; (global-set-key (kbd "M-I") 'helm-swoop-back-to-last-point) ;; (global-set-key (kbd "C-c M-i") 'helm-multi-swoop) ;; (global-set-key (kbd "C-x M-i") 'helm-multi-swoop-all) ;; ;; When doing isearch, hand the word over to helm-swoop ;; (define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch) ;; ;; From helm-swoop to helm-multi-swoop-all ;; (define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop) ;; ;; When doing evil-search, hand the word over to helm-swoop ;; ;; (define-key evil-motion-state-map (kbd "M-i") 'helm-swoop-from-evil-search) ;; ;; Instead of helm-multi-swoop-all, you can also use helm-multi-swoop-current-mode ;; (define-key helm-swoop-map (kbd "M-m") 'helm-multi-swoop-current-mode-from-helm-swoop) ;; ;; Move up and down like isearch ;; (define-key helm-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-swoop-map (kbd "C-s") 'helm-next-line) ;; (define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line) ;; ;; Save buffer when helm-multi-swoop-edit complete ;; (setq helm-multi-swoop-edit-save t) ;; ;; If this value is t, split window inside the current window ;; (setq helm-swoop-split-with-multiple-windows nil) ;; ;; Split direcion. 'split-window-vertically or 'split-window-horizontally ;; (setq helm-swoop-split-direction 'split-window-vertically) ;; ;; If nil, you can slightly boost invoke speed in exchange for text color ;; (setq helm-swoop-speed-or-color nil) ;; ;; ;; Go to the opposite side of line from the end or beginning of line ;; (setq helm-swoop-move-to-line-cycle t) ;; ;; Optional face for line numbers ;; ;; Face name is `helm-swoop-line-number-face` ;; (setq helm-swoop-use-line-number-face t) ;; ;; If you prefer fuzzy matching ;; (setq helm-swoop-use-fuzzy-match t) ;; ;; If you would like to use migemo, enable helm's migemo feature ;; ;;(helm-migemo-mode 1) ;; ;; ;;;;;;;;;;;;;;;;; Ivy ;;;;;;;;;;;;;;;;; ;; (ivy-mode) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) ;; enable this if you want `swiper' to use it ;; (setq search-default-mode #'char-fold-to-regexp) (global-set-key (kbd "C-x C-b") 'ibuffer-list-buffers) (global-set-key "\C-s" 'swiper) (global-set-key (kbd "C-c C-r") 'ivy-resume) ;;(global-set-key (kbd "") 'ivy-resume) (global-set-key (kbd "M-x") 'counsel-M-x) (global-set-key (kbd "C-x C-f") 'counsel-find-file) (global-set-key (kbd " f") 'counsel-describe-function) (global-set-key (kbd " v") 'counsel-describe-variable) (global-set-key (kbd " o") 'counsel-describe-symbol) (global-set-key (kbd " l") 'counsel-find-library) (global-set-key (kbd " i") 'counsel-info-lookup-symbol) (global-set-key (kbd " u") 'counsel-unicode-char) (global-set-key (kbd "C-c g") 'counsel-git) (global-set-key (kbd "C-c j") 'counsel-git-grep) (global-set-key (kbd "C-c k") 'counsel-ag) (global-set-key (kbd "C-x l") 'counsel-locate) (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) ;; ;; ;; Ivy rich (require 'ivy-rich) (all-the-icons-ivy-rich-mode 1) (ivy-rich-mode 1) (setcdr (assq t ivy-format-functions-alist) #'ivy-format-function-line) (ivy-rich-modify-columns 'ivy-switch-buffer '((ivy-rich-switch-buffer-size (:align right)) (ivy-rich-switch-buffer-major-mode (:width 20 :face error)))) ;; ;; ;; Ivy icons ;; Whether display the icons (setq all-the-icons-ivy-rich-icon t) ;; Whether display the colorful icons. ;; It respects `all-the-icons-color-icons'. (setq all-the-icons-ivy-rich-color-icon t) ;; The icon size (setq all-the-icons-ivy-rich-icon-size 1.0) ;; Whether support project root (setq all-the-icons-ivy-rich-project t) ;; Definitions for ivy-rich transformers. ;; See `ivy-rich-display-transformers-list' for details." ;; all-the-icons-ivy-rich-display-transformers-list ;; Slow Rendering ;; If you experience a slow down in performance when rendering multiple icons simultaneously, ;; you can try setting the following variable (setq inhibit-compacting-font-caches t) ;; M-? ;; ;; Ivy xref (require 'ivy-xref) ;; xref initialization is different in Emacs 27 - there are two different ;; variables which can be set rather than just one (when (>= emacs-major-version 27) (setq xref-show-definitions-function #'ivy-xref-show-defs)) ;; Necessary in Emacs <27. In Emacs 27 it will affect all xref-based ;; commands other than xref-find-definitions (e.g. project-find-regexp) ;; as well (setq xref-show-xrefs-function #'ivy-xref-show-xrefs) ;; Ivy history (require 'savehist) (add-to-list 'savehist-additional-variables 'ivy-dired-history-variable) (savehist-mode 1) ;; ;; or if you use desktop-save-mode ;;(add-to-list 'desktop-globals-to-save 'ivy-dired-history-variable) (with-eval-after-load 'dired (require 'ivy-dired-history) ;; if you are using ido,you'd better disable ido for dired ;; (define-key (cdr ido-minor-mode-map-entry) [remap dired] nil) ;in ido-setup-hook (define-key dired-mode-map "," 'dired)) ;; ;; Selectrum (selectrum-mode +1) ;; to make sorting and filtering more intelligent (selectrum-prescient-mode +1) ;; to save your command history on disk, so the sorting gets more ;; intelligent over time (prescient-persist-mode +1) ;; ;; ;; Prescient ;; https://github.com/raxod502/prescient.el (ivy-prescient-mode) (company-prescient-mode) ;;(selectrum-prescient-mode) ;; ;;;;;;;;;;;;;;;;; Flycheck ;;;;;;;;;;;;;;;;; ;; ;; (require 'flycheck) ;; (add-hook 'after-init-hook #'global-flycheck-mode) ;; (global-flycheck-mode) ;; (autoload 'flycheck "flycheck-list-errors") ;; ;; Flycheck inline ;; (with-eval-after-load 'flycheck ;; (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) ;; ;; (setq flycheck-inline-display-function ;; ;; (lambda (msg pos err) ;; ;; (let* ((ov (quick-peek-overlay-ensure-at pos)) ;; ;; (contents (quick-peek-overlay-contents ov))) ;; ;; (setf (quick-peek-overlay-contents ov) ;; ;; (concat contents (when contents "\n") msg)) ;; ;; (quick-peek-update ov))) ;; ;; flycheck-inline-clear-function #'quick-peek-hide) ;; ;; (require 'flycheck-tip) ;; ;; (define-key your-prog-mode (kbd "C-c C-n") 'flycheck-tip-cycle) ;; ;(flycheck-tip-use-timer 'verbose) ;; ;;(setq flycheck-indication-mode 'left-fringe) ;; ;(setq flycheck-check-syntax-automatically '(mode-enabled )) ;; ;(with-eval-after-load 'flycheck (flycheck-pos-tip-mode)) ;; ;(setq flycheck-highlighting-mode 'columns) ;; ;(setq flycheck-highlighting-mode 'symbols) ;; (setq flycheck-highlighting-mode 'lines) ;; (add-to-list 'display-buffer-alist ;; `(,(rx bos "*Flycheck errors*" eos) ;; (display-buffer-reuse-window ;; display-buffer-in-side-window) ;; (side . bottom) ;; (reusable-frames . visible) ;; (window-height . 0.13))) ;; (add-hook 'flycheck-after-syntax-check-hook ;; (lambda () ;; (if flycheck-current-errors ;; (flycheck-list-errors) ;; (when (get-buffer "*Flycheck errors*") ;; (switch-to-buffer "*Flycheck errors*") ;; (kill-buffer (current-buffer)) ;; ;;;(delete-window) ;; )))) (provide 'Emacs_Packages) ;;; Emacs_Packages.el ends here

  • helm

    Emacs incremental completion and selection narrowing framework (by emacs-helm)

  • ;; ;;;;;;;;;;;;;;;;; PACKAGES ;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;; C++ ;;;;;;;;;;;;;;;;; ;; (require 'package) ;; (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (setq package-archives '( ("gnu" . "http://elpa.gnu.org/packages/") ;;("marmalade" . "https://marmalade-repo.org/packages/") ;;("milkmelpa" . "http://melpa.milkbox.net/packages/") ;;("stablemelpa" . "http://stable.melpa.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/") ;;("melpa" . "http://melpa.org/packages/") )) (package-initialize) (setq package-selected-packages '( avy all-the-icons centaur-tabs ;;cmake-ide cmake-mode company company-prescient company-quickhelp company-quickhelp-terminal ;counsel ;counsel-projectile dashboard dashboard-ls dap-mode eldoc-box ;;eldoc-overlay flycheck flycheck-inline helm-lsp helm-swoop helm-xref highlight-indentation hydra iedit imenu-anywhere imenu-list indent-guide ivy all-the-icons-ivy-rich ivy-dired-history ivy-file-preview ivy-prescient ivy-rich ivy-xref lsp-ivy lsp-mode lsp-treemacs lsp-ui markdown-preview-mode neotree org-bullets page-break-lines powerline projectile quick-peek ;; workgroups2 ;; Beta selectrum selectrum-prescient smartparens swiper treemacs use-package which-key yasnippet )) (when (cl-find-if-not #'package-installed-p package-selected-packages) (package-refresh-contents) (mapc #'package-install package-selected-packages)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dasboard (require 'dashboard) (dashboard-setup-startup-hook) (use-package dashboard :config (setq show-week-agenda-p t) (setq dashboard-items '((recents . 15) (agenda . 5))) (setq dashboard-set-heading-icons t) (setq dashboard-set-file-icons t) (setq dashboard-set-init-info t) (setq dashboard-startup-banner 3) (setq dashboard-set-navigator t) (dashboard-setup-startup-hook) ) ;; Set the title ;;(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard") ;; Set the banner (setq dashboard-startup-banner [official]) ;; Value can be ;; 'official which displays the official emacs logo ;; 'logo which displays an alternative emacs logo ;; 1, 2 or 3 which displays one of the text banners ;; "path/to/your/image.png" or "path/to/your/text.txt" which displays whatever image/text you would prefer ;; Content is not centered by default. To center, set (setq dashboard-center-content t) (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) (setq dashboard-items '((recents . 5) (bookmarks . 5) (projects . 5) (agenda . 5) (registers . 5))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Detect files and modes (which-key-mode) (add-hook 'c-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp) ;;(add-hook 'lisp-mode-hook 'lsp) (add-hook 'cmake-mode-hook 'company-mode) ;;(add-hook 'emacs-lisp-mode-hook 'lsp) ;; ;; Switch between Header and Source (add-hook 'c-mode-common-hook (lambda() (local-set-key (kbd "M-o") 'ff-find-other-file))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LSP + Company (setq gc-cons-threshold (* 100 1024 1024) read-process-output-max (* 1024 1024) treemacs-space-between-root-nodes nil company-idle-delay 0.0 ;; company-cmake t company-show-numbers nil company-minimum-prefix-length 1 company-dabbrev-other-buffers t company-dabbrev-code-other-buffers 'all company-dabbrev-code-everywhere t ; company-dabbrev-downcase nil ; company-transformers '(company-sort-prefer-same-case-prefix) ;; (company-sort-by-occurrence) ;; (company-sort-by-backend-importance) ;; (company-sort-prefer-same-case-prefix) lsp-idle-delay 0.1 ) ;; clangd is fast (require 'lsp-mode) ;;(add-hook 'XXX-mode-hook #'lsp) (add-hook 'emacs-lisp-mode #'lsp-deferred) (add-hook 'lisp-mode-hook #'lsp-deferred) ;;(add-hook 'prog-mode-hook #'lsp) ;; (add-hook 'js-mode-hook #'lsp) ;; (add-hook '-mode-hook #'lsp) (add-hook 'XXX-mode-hook #'lsp) (with-eval-after-load 'lsp-mode (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (require 'dap-cpptools) (yas-global-mode)) (require 'dap-cpptools) (setq dap-auto-configure-features '(sessions locals controls tooltip)) (eval-after-load 'company '(add-to-list 'company-backends '( company-capf company-bbdb company-files company-yasnippet company-cmake company-clang ))) (global-set-key (kbd "C-c c") 'company-complete-common) ;;company-capf company-bbdb company-files company-yasnippet company-dabbrev-code company-semantic company-cmake ;;;; company ;; (use-package company ;; :ensure ;; :defer 4 ;; :init (progn ;; (global-company-mode) ;; (setq company-global-modes '(not python-mode cython-mode sage-mode)) ;; ) ;; :config (progn ;; (setq company-tooltip-limit 20 ;; company-idle-delay .1 ;; company-echo-delay 0 ;; company-begin-commands '(self-insert-command) ;; company-transformers '(company-sort-by-occurrence) ;; company-selection-wrap-around t ;; company-idle-delay .1 ;; company-minimum-prefix-length 1 ;; company-selection-wrap-around t ;; company-dabbrev-downcase nil ;; ) ;; (bind-keys :map company-active-map ;; ("C-n" . company-select-next) ;; ("C-p" . company-select-previous) ;; ("C-d" . company-show-doc-buffer) ;; ("" . company-complete) ;; ("" . company-abort) ;; ) ;; ) ;; ) ;; (setq lsp-enable-snippet t) ;; (setq lsp-enable-symbol-highlighting t) (setq lsp-ui-doc-header t) (setq lsp-ui-doc-include-signature t) ;;(setq lsp-ui-doc-alignment 'window) ;;(setq lsp-ui-doc-glance t) (setq lsp-ui-doc-enable t) ;; (setq lsp-ui-doc-enable nil) (setq lsp-ui-doc-show-with-cursor t) (setq lsp-ui-doc-show-with-mouse t) ;;(setq lsp-ui-doc-text-scale-level 5) (setq lsp-ui-doc-position 'at-point) (setq lsp-lens-mode t) (setq lsp-lens-enable t) (setq lsp-headerline-breadcrumb-enable t) (setq lsp-ui-sideline-show-code-actions t) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-hover t) (setq lsp-modeline-code-actions-enable t) (setq lsp-diagnostics-provider :flycheck) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-diagnostics t) (setq lsp-eldoc-enable-hover t) (setq lsp-modeline-diagnostics-enable t) (setq lsp-signature-auto-activate t) ;; you could manually request them via `lsp-signature-activate` (setq lsp-signature-render-documentation t) ;;(setq lsp-completion-provider :company-mode) (setq lsp-completion-show-detail t) (setq lsp-completion-show-kind t) (require 'eldoc-box) (eldoc-box-hover-mode ) ;;(use-package eldoc-overlay ;; :ensure t ;; :init (eldoc-overlay-mode 1)) ;; (use-package ;; lsp-ui ;; :hook (lsp-mode . lsp-ui-mode) ;; :after flycheck ;; :bind (:map lsp-mode-map ;; ("" . lsp-find-references) ;; ("S-" . lsp-ui-peek-find-references) ;; ("" . lsp-find-definition) ;; ("S-" . lsp-find-declaration) ;; ("" . lsp-ui-doc-glance) ;; ("C-c f" . lsp-format-buffer) ;; ("C-" . lsp-ui-sideline-apply-code-actions) ;; ("M-p" . lsp-ui-find-prev-reference) ;; ("M-n" . lsp-ui-find-next-reference)) ;; :custom (lsp-ui-sideline-diagnostic-max-lines 3) ;; (lsp-ui-flycheck-enable t) ;; (lsp-ui-doc-enable nil) ;; (lsp-ui-sideline-ignore-duplicate t) ;; (lsp-ui-sideline-show-code-actions t) ;; (lsp-ui-sideline-show-hover t) ;; (lsp-ui-sideline-show-symbol nil) ;; (lsp-ui-sideline-actions-kind-regex ".*") ;; (lsp-clients-clangd-args '("--compile-commands-dir=build" ;; "--header-insertion=never") nil nil ;; "Customized with use-package lsp-clients") ;; :custom-face ;; ;; Make the sideline overlays less annoying ;; (lsp-ui-sideline-global ((t ;; (:background "444444")))) ;; (lsp-ui-sideline-symbol-info ((t ;; (:foreground "gray45" ;; :slant italic ;; :height 0.99))))) ;; No es compatible con helm ;(setq lsp-ui-peek-mode t) ;; (global-set-key (kbd " ") #'lsp-ui-imenu) ;; (setq lsp-ui-imenu-auto-refresh t) ;; ;;;;;;;;;;;;;;;;; Centaur Tabs ;;;;;;;;;;;;;;;;; ;; (require 'centaur-tabs) (centaur-tabs-mode t) (global-set-key (kbd "M-") 'centaur-tabs-backward) (global-set-key (kbd "M-") 'centaur-tabs-forward) (centaur-tabs-headline-match) ;(setq centaur-tabs-style "alternate") ;(setq centaur-tabs-style "box") (setq centaur-tabs-style "rounded") ;(setq centaur-tabs-style "bar") (setq centaur-tabs-set-icons t) (setq centaur-tabs-plain-icons t) (setq centaur-tabs-set-close-button nil) (setq centaur-tabs-set-modified-marker t) (centaur-tabs-change-fonts "arial" 160) (setq centaur-tabs-set-bar 'under) ;; Note: If you're not using Spacmeacs, in order for the underline to display ;; correctly you must add the following line: (setq x-underline-at-descent-line t) ;; ;;;;;;;;;;;;;;;;; Ido Mode ;;;;;;;;;;;;;;;;; ;; ;;(ido-mode t) ;; Do not use ;; ;;;;;;;;;;;;;;;;; Indent-Guide ;;;;;;;;;;;;;;;;; ;; (require 'indent-guide) (indent-guide-global-mode) (setq indent-guide-delay 0.1) ;(set-face-background 'indent-guide-face "dimwhite") ;;(set-face-background 'indent-guide-face "gray") ;;(set-face-background 'indent-guide-face "#000000") ;;(set-face-background 'indent-guide-face "blue") (setq indent-guide-recursive t) (setq indent-guide-char "|") ;; ;;;;;;;;;;;;;;;;; Neotree ;;;;;;;;;;;;;;;;; ;; ;(require 'neotree) ;(global-set-key (kbd " ") 'neotree-toggle) ;(setq-default neo-show-hidden-files t) ;(setq neo-smart-open t) ; (neotree-show) ;; ;;;;;;;;;;;;;;;;; treemacs ;;;;;;;;;;;;;;;;; ;; (use-package treemacs :ensure t :defer t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :config (progn (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-deferred-git-apply-delay 0.5 treemacs-directory-name-transformer #'identity treemacs-display-in-side-window t treemacs-eldoc-display t treemacs-file-event-delay 5000 treemacs-file-extension-regex treemacs-last-period-regex-value treemacs-file-follow-delay 0.2 treemacs-file-name-transformer #'identity treemacs-follow-after-init t treemacs-expand-after-init t treemacs-git-command-pipe "" treemacs-goto-tag-strategy 'refetch-index treemacs-indentation 2 treemacs-indentation-string " " treemacs-is-never-other-window nil treemacs-max-git-entries 5000 treemacs-missing-project-action 'ask treemacs-move-forward-on-expand nil treemacs-no-png-images nil treemacs-no-delete-other-windows t treemacs-project-follow-cleanup nil treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) treemacs-position 'left treemacs-read-string-input 'from-child-frame treemacs-recenter-distance 0.1 treemacs-recenter-after-file-follow nil treemacs-recenter-after-tag-follow nil treemacs-recenter-after-project-jump 'always treemacs-recenter-after-project-expand 'on-distance treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") treemacs-show-cursor nil treemacs-show-hidden-files t treemacs-silent-filewatch nil treemacs-silent-refresh nil treemacs-sorting 'alphabetic-asc treemacs-select-when-already-in-treemacs 'move-back treemacs-space-between-root-nodes t treemacs-tag-follow-cleanup t treemacs-tag-follow-delay 1.5 treemacs-user-mode-line-format nil treemacs-user-header-line-format nil treemacs-width 35 treemacs-width-is-initially-locked t treemacs-workspace-switch-cleanup nil) ;; The default width and height of the icons is 22 pixels. If you are ;; using a Hi-DPI display, uncomment this to double the icon size. ;;(treemacs-resize-icons 44) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (treemacs-fringe-indicator-mode 'always) (pcase (cons (not (null (executable-find "git"))) (not (null treemacs-python-executable))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (treemacs-hide-gitignored-files-mode nil)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t 1" . treemacs-delete-other-windows) (" " . treemacs) ("C-x t B" . treemacs-bookmark) ("C-x t C-t" . treemacs-find-file) ("C-x t M-t" . treemacs-find-tag))) (use-package treemacs-evil :after (treemacs evil) :ensure t) (use-package treemacs-projectile :after (treemacs projectile) :ensure t) (use-package treemacs-icons-dired :after (treemacs dired) :ensure t :config (treemacs-icons-dired-mode)) (use-package treemacs-magit :after (treemacs magit) :ensure t) (use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode :after (treemacs persp-mode) ;;or perspective vs. persp-mode :ensure t :config (treemacs-set-scope-type 'Perspectives)) (with-eval-after-load 'treemacs (define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) ;; ;;;;;;;;;;;;;;;;; iMenu ;;;;;;;;;;;;;;;;; ;; (global-set-key (kbd " ") #'imenu-list-smart-toggle) ;; (setq imenu-list-focus-after-activation t) ;; (global-set-key (kbd "C-.") #'imenu-anywhere) ;(imenu-list-smart-toggle) (setq imenu-list-size 40) ;;(setq imenu-list-auto-resize t) ;;(setq imenu-max-item-length 40) ;;(setq imenu-min-item-length 30) ;; ;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;; ;; (projectile-mode +1) ;; Recommended keymap prefix on macOS ;; (define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) ;; Recommended keymap prefix on Windows/Linux (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) ;;(setq projectile-project-search-path '("~/Workspace_SDD/emacs/")) ;; Usar ;; Projectile puede detectar proyectos con archivos cmake, git ..., pero tambien para "forzarlo" en la carpeta crea un archivo .projectile ;;(setq projectile-indexing-method 'native) (setq projectile-enable-caching t) (setq projectile-require-project-root t) (setq projectile-switch-project-action #'projectile-dired) (setq projectile-switch-project-action #'projectile-find-dir) (setq projectile-find-dir-includes-top-level t) ;; ;;;;;;;;;;;;;;;;; Powerline ;;;;;;;;;;;;;;;;; ;; ;; https://github.com/milkypostman/powerline (require 'powerline) (powerline-center-theme) (setq powerline-default-separator 'wave) ;(powerline-raw mode-line-mule-info nil 'l) ;;(setq powerline-arrow-shape 'arrow) ;; the default (setq powerline-arrow-shape 'curve) ;; give your mode-line curves ;;(setq powerline-arrow-shape 'arrow14) ;; best for small fonts ;; ParenMode. ;; https://www.emacswiki.org/emacs/ShowParenMode ;;(require 'paren) (show-paren-mode 1) (setq show-paren-delay 0) (setq show-paren-style 'mixed) ;; Smartparens (require 'smartparens-config) (smartparens-global-mode t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details ;; ;; helm from https://github.com/emacs-helm/helm ;; ;;(require 'helm) ;; (helm-mode) ;; (require 'helm-xref) ;; (define-key global-map [remap find-file] #'helm-find-files) ;; (define-key global-map [remap execute-extended-command] #'helm-M-x) ;; (define-key global-map [remap switch-to-buffer] #'helm-mini) ;; ;;(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) ;; ;; ;; This Solves the error with Flycheck ;; (setq helm-always-two-windows t ;; helm-split-window-inside-p t) ;; ;; Locate the helm-swoop folder to your path ;; ;;(add-to-list 'load-path "~/.emacs.d/elisp/helm-swoop") ;; (require 'helm-swoop) ;; ;; Change the keybinds to whatever you like :) ;; (global-set-key (kbd "M-i") 'helm-swoop) ;; (global-set-key (kbd "M-I") 'helm-swoop-back-to-last-point) ;; (global-set-key (kbd "C-c M-i") 'helm-multi-swoop) ;; (global-set-key (kbd "C-x M-i") 'helm-multi-swoop-all) ;; ;; When doing isearch, hand the word over to helm-swoop ;; (define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch) ;; ;; From helm-swoop to helm-multi-swoop-all ;; (define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop) ;; ;; When doing evil-search, hand the word over to helm-swoop ;; ;; (define-key evil-motion-state-map (kbd "M-i") 'helm-swoop-from-evil-search) ;; ;; Instead of helm-multi-swoop-all, you can also use helm-multi-swoop-current-mode ;; (define-key helm-swoop-map (kbd "M-m") 'helm-multi-swoop-current-mode-from-helm-swoop) ;; ;; Move up and down like isearch ;; (define-key helm-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-swoop-map (kbd "C-s") 'helm-next-line) ;; (define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line) ;; ;; Save buffer when helm-multi-swoop-edit complete ;; (setq helm-multi-swoop-edit-save t) ;; ;; If this value is t, split window inside the current window ;; (setq helm-swoop-split-with-multiple-windows nil) ;; ;; Split direcion. 'split-window-vertically or 'split-window-horizontally ;; (setq helm-swoop-split-direction 'split-window-vertically) ;; ;; If nil, you can slightly boost invoke speed in exchange for text color ;; (setq helm-swoop-speed-or-color nil) ;; ;; ;; Go to the opposite side of line from the end or beginning of line ;; (setq helm-swoop-move-to-line-cycle t) ;; ;; Optional face for line numbers ;; ;; Face name is `helm-swoop-line-number-face` ;; (setq helm-swoop-use-line-number-face t) ;; ;; If you prefer fuzzy matching ;; (setq helm-swoop-use-fuzzy-match t) ;; ;; If you would like to use migemo, enable helm's migemo feature ;; ;;(helm-migemo-mode 1) ;; ;; ;;;;;;;;;;;;;;;;; Ivy ;;;;;;;;;;;;;;;;; ;; (ivy-mode) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) ;; enable this if you want `swiper' to use it ;; (setq search-default-mode #'char-fold-to-regexp) (global-set-key (kbd "C-x C-b") 'ibuffer-list-buffers) (global-set-key "\C-s" 'swiper) (global-set-key (kbd "C-c C-r") 'ivy-resume) ;;(global-set-key (kbd "") 'ivy-resume) (global-set-key (kbd "M-x") 'counsel-M-x) (global-set-key (kbd "C-x C-f") 'counsel-find-file) (global-set-key (kbd " f") 'counsel-describe-function) (global-set-key (kbd " v") 'counsel-describe-variable) (global-set-key (kbd " o") 'counsel-describe-symbol) (global-set-key (kbd " l") 'counsel-find-library) (global-set-key (kbd " i") 'counsel-info-lookup-symbol) (global-set-key (kbd " u") 'counsel-unicode-char) (global-set-key (kbd "C-c g") 'counsel-git) (global-set-key (kbd "C-c j") 'counsel-git-grep) (global-set-key (kbd "C-c k") 'counsel-ag) (global-set-key (kbd "C-x l") 'counsel-locate) (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) ;; ;; ;; Ivy rich (require 'ivy-rich) (all-the-icons-ivy-rich-mode 1) (ivy-rich-mode 1) (setcdr (assq t ivy-format-functions-alist) #'ivy-format-function-line) (ivy-rich-modify-columns 'ivy-switch-buffer '((ivy-rich-switch-buffer-size (:align right)) (ivy-rich-switch-buffer-major-mode (:width 20 :face error)))) ;; ;; ;; Ivy icons ;; Whether display the icons (setq all-the-icons-ivy-rich-icon t) ;; Whether display the colorful icons. ;; It respects `all-the-icons-color-icons'. (setq all-the-icons-ivy-rich-color-icon t) ;; The icon size (setq all-the-icons-ivy-rich-icon-size 1.0) ;; Whether support project root (setq all-the-icons-ivy-rich-project t) ;; Definitions for ivy-rich transformers. ;; See `ivy-rich-display-transformers-list' for details." ;; all-the-icons-ivy-rich-display-transformers-list ;; Slow Rendering ;; If you experience a slow down in performance when rendering multiple icons simultaneously, ;; you can try setting the following variable (setq inhibit-compacting-font-caches t) ;; M-? ;; ;; Ivy xref (require 'ivy-xref) ;; xref initialization is different in Emacs 27 - there are two different ;; variables which can be set rather than just one (when (>= emacs-major-version 27) (setq xref-show-definitions-function #'ivy-xref-show-defs)) ;; Necessary in Emacs <27. In Emacs 27 it will affect all xref-based ;; commands other than xref-find-definitions (e.g. project-find-regexp) ;; as well (setq xref-show-xrefs-function #'ivy-xref-show-xrefs) ;; Ivy history (require 'savehist) (add-to-list 'savehist-additional-variables 'ivy-dired-history-variable) (savehist-mode 1) ;; ;; or if you use desktop-save-mode ;;(add-to-list 'desktop-globals-to-save 'ivy-dired-history-variable) (with-eval-after-load 'dired (require 'ivy-dired-history) ;; if you are using ido,you'd better disable ido for dired ;; (define-key (cdr ido-minor-mode-map-entry) [remap dired] nil) ;in ido-setup-hook (define-key dired-mode-map "," 'dired)) ;; ;; Selectrum (selectrum-mode +1) ;; to make sorting and filtering more intelligent (selectrum-prescient-mode +1) ;; to save your command history on disk, so the sorting gets more ;; intelligent over time (prescient-persist-mode +1) ;; ;; ;; Prescient ;; https://github.com/raxod502/prescient.el (ivy-prescient-mode) (company-prescient-mode) ;;(selectrum-prescient-mode) ;; ;;;;;;;;;;;;;;;;; Flycheck ;;;;;;;;;;;;;;;;; ;; ;; (require 'flycheck) ;; (add-hook 'after-init-hook #'global-flycheck-mode) ;; (global-flycheck-mode) ;; (autoload 'flycheck "flycheck-list-errors") ;; ;; Flycheck inline ;; (with-eval-after-load 'flycheck ;; (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) ;; ;; (setq flycheck-inline-display-function ;; ;; (lambda (msg pos err) ;; ;; (let* ((ov (quick-peek-overlay-ensure-at pos)) ;; ;; (contents (quick-peek-overlay-contents ov))) ;; ;; (setf (quick-peek-overlay-contents ov) ;; ;; (concat contents (when contents "\n") msg)) ;; ;; (quick-peek-update ov))) ;; ;; flycheck-inline-clear-function #'quick-peek-hide) ;; ;; (require 'flycheck-tip) ;; ;; (define-key your-prog-mode (kbd "C-c C-n") 'flycheck-tip-cycle) ;; ;(flycheck-tip-use-timer 'verbose) ;; ;;(setq flycheck-indication-mode 'left-fringe) ;; ;(setq flycheck-check-syntax-automatically '(mode-enabled )) ;; ;(with-eval-after-load 'flycheck (flycheck-pos-tip-mode)) ;; ;(setq flycheck-highlighting-mode 'columns) ;; ;(setq flycheck-highlighting-mode 'symbols) ;; (setq flycheck-highlighting-mode 'lines) ;; (add-to-list 'display-buffer-alist ;; `(,(rx bos "*Flycheck errors*" eos) ;; (display-buffer-reuse-window ;; display-buffer-in-side-window) ;; (side . bottom) ;; (reusable-frames . visible) ;; (window-height . 0.13))) ;; (add-hook 'flycheck-after-syntax-check-hook ;; (lambda () ;; (if flycheck-current-errors ;; (flycheck-list-errors) ;; (when (get-buffer "*Flycheck errors*") ;; (switch-to-buffer "*Flycheck errors*") ;; (kill-buffer (current-buffer)) ;; ;;;(delete-window) ;; )))) (provide 'Emacs_Packages) ;;; Emacs_Packages.el ends here

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • prescient.el

    ☄️ Simple but effective sorting and filtering for Emacs.

  • ;; ;;;;;;;;;;;;;;;;; PACKAGES ;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;; C++ ;;;;;;;;;;;;;;;;; ;; (require 'package) ;; (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (setq package-archives '( ("gnu" . "http://elpa.gnu.org/packages/") ;;("marmalade" . "https://marmalade-repo.org/packages/") ;;("milkmelpa" . "http://melpa.milkbox.net/packages/") ;;("stablemelpa" . "http://stable.melpa.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/") ;;("melpa" . "http://melpa.org/packages/") )) (package-initialize) (setq package-selected-packages '( avy all-the-icons centaur-tabs ;;cmake-ide cmake-mode company company-prescient company-quickhelp company-quickhelp-terminal ;counsel ;counsel-projectile dashboard dashboard-ls dap-mode eldoc-box ;;eldoc-overlay flycheck flycheck-inline helm-lsp helm-swoop helm-xref highlight-indentation hydra iedit imenu-anywhere imenu-list indent-guide ivy all-the-icons-ivy-rich ivy-dired-history ivy-file-preview ivy-prescient ivy-rich ivy-xref lsp-ivy lsp-mode lsp-treemacs lsp-ui markdown-preview-mode neotree org-bullets page-break-lines powerline projectile quick-peek ;; workgroups2 ;; Beta selectrum selectrum-prescient smartparens swiper treemacs use-package which-key yasnippet )) (when (cl-find-if-not #'package-installed-p package-selected-packages) (package-refresh-contents) (mapc #'package-install package-selected-packages)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dasboard (require 'dashboard) (dashboard-setup-startup-hook) (use-package dashboard :config (setq show-week-agenda-p t) (setq dashboard-items '((recents . 15) (agenda . 5))) (setq dashboard-set-heading-icons t) (setq dashboard-set-file-icons t) (setq dashboard-set-init-info t) (setq dashboard-startup-banner 3) (setq dashboard-set-navigator t) (dashboard-setup-startup-hook) ) ;; Set the title ;;(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard") ;; Set the banner (setq dashboard-startup-banner [official]) ;; Value can be ;; 'official which displays the official emacs logo ;; 'logo which displays an alternative emacs logo ;; 1, 2 or 3 which displays one of the text banners ;; "path/to/your/image.png" or "path/to/your/text.txt" which displays whatever image/text you would prefer ;; Content is not centered by default. To center, set (setq dashboard-center-content t) (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) (setq dashboard-items '((recents . 5) (bookmarks . 5) (projects . 5) (agenda . 5) (registers . 5))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Detect files and modes (which-key-mode) (add-hook 'c-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp) ;;(add-hook 'lisp-mode-hook 'lsp) (add-hook 'cmake-mode-hook 'company-mode) ;;(add-hook 'emacs-lisp-mode-hook 'lsp) ;; ;; Switch between Header and Source (add-hook 'c-mode-common-hook (lambda() (local-set-key (kbd "M-o") 'ff-find-other-file))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LSP + Company (setq gc-cons-threshold (* 100 1024 1024) read-process-output-max (* 1024 1024) treemacs-space-between-root-nodes nil company-idle-delay 0.0 ;; company-cmake t company-show-numbers nil company-minimum-prefix-length 1 company-dabbrev-other-buffers t company-dabbrev-code-other-buffers 'all company-dabbrev-code-everywhere t ; company-dabbrev-downcase nil ; company-transformers '(company-sort-prefer-same-case-prefix) ;; (company-sort-by-occurrence) ;; (company-sort-by-backend-importance) ;; (company-sort-prefer-same-case-prefix) lsp-idle-delay 0.1 ) ;; clangd is fast (require 'lsp-mode) ;;(add-hook 'XXX-mode-hook #'lsp) (add-hook 'emacs-lisp-mode #'lsp-deferred) (add-hook 'lisp-mode-hook #'lsp-deferred) ;;(add-hook 'prog-mode-hook #'lsp) ;; (add-hook 'js-mode-hook #'lsp) ;; (add-hook '-mode-hook #'lsp) (add-hook 'XXX-mode-hook #'lsp) (with-eval-after-load 'lsp-mode (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (require 'dap-cpptools) (yas-global-mode)) (require 'dap-cpptools) (setq dap-auto-configure-features '(sessions locals controls tooltip)) (eval-after-load 'company '(add-to-list 'company-backends '( company-capf company-bbdb company-files company-yasnippet company-cmake company-clang ))) (global-set-key (kbd "C-c c") 'company-complete-common) ;;company-capf company-bbdb company-files company-yasnippet company-dabbrev-code company-semantic company-cmake ;;;; company ;; (use-package company ;; :ensure ;; :defer 4 ;; :init (progn ;; (global-company-mode) ;; (setq company-global-modes '(not python-mode cython-mode sage-mode)) ;; ) ;; :config (progn ;; (setq company-tooltip-limit 20 ;; company-idle-delay .1 ;; company-echo-delay 0 ;; company-begin-commands '(self-insert-command) ;; company-transformers '(company-sort-by-occurrence) ;; company-selection-wrap-around t ;; company-idle-delay .1 ;; company-minimum-prefix-length 1 ;; company-selection-wrap-around t ;; company-dabbrev-downcase nil ;; ) ;; (bind-keys :map company-active-map ;; ("C-n" . company-select-next) ;; ("C-p" . company-select-previous) ;; ("C-d" . company-show-doc-buffer) ;; ("" . company-complete) ;; ("" . company-abort) ;; ) ;; ) ;; ) ;; (setq lsp-enable-snippet t) ;; (setq lsp-enable-symbol-highlighting t) (setq lsp-ui-doc-header t) (setq lsp-ui-doc-include-signature t) ;;(setq lsp-ui-doc-alignment 'window) ;;(setq lsp-ui-doc-glance t) (setq lsp-ui-doc-enable t) ;; (setq lsp-ui-doc-enable nil) (setq lsp-ui-doc-show-with-cursor t) (setq lsp-ui-doc-show-with-mouse t) ;;(setq lsp-ui-doc-text-scale-level 5) (setq lsp-ui-doc-position 'at-point) (setq lsp-lens-mode t) (setq lsp-lens-enable t) (setq lsp-headerline-breadcrumb-enable t) (setq lsp-ui-sideline-show-code-actions t) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-hover t) (setq lsp-modeline-code-actions-enable t) (setq lsp-diagnostics-provider :flycheck) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-diagnostics t) (setq lsp-eldoc-enable-hover t) (setq lsp-modeline-diagnostics-enable t) (setq lsp-signature-auto-activate t) ;; you could manually request them via `lsp-signature-activate` (setq lsp-signature-render-documentation t) ;;(setq lsp-completion-provider :company-mode) (setq lsp-completion-show-detail t) (setq lsp-completion-show-kind t) (require 'eldoc-box) (eldoc-box-hover-mode ) ;;(use-package eldoc-overlay ;; :ensure t ;; :init (eldoc-overlay-mode 1)) ;; (use-package ;; lsp-ui ;; :hook (lsp-mode . lsp-ui-mode) ;; :after flycheck ;; :bind (:map lsp-mode-map ;; ("" . lsp-find-references) ;; ("S-" . lsp-ui-peek-find-references) ;; ("" . lsp-find-definition) ;; ("S-" . lsp-find-declaration) ;; ("" . lsp-ui-doc-glance) ;; ("C-c f" . lsp-format-buffer) ;; ("C-" . lsp-ui-sideline-apply-code-actions) ;; ("M-p" . lsp-ui-find-prev-reference) ;; ("M-n" . lsp-ui-find-next-reference)) ;; :custom (lsp-ui-sideline-diagnostic-max-lines 3) ;; (lsp-ui-flycheck-enable t) ;; (lsp-ui-doc-enable nil) ;; (lsp-ui-sideline-ignore-duplicate t) ;; (lsp-ui-sideline-show-code-actions t) ;; (lsp-ui-sideline-show-hover t) ;; (lsp-ui-sideline-show-symbol nil) ;; (lsp-ui-sideline-actions-kind-regex ".*") ;; (lsp-clients-clangd-args '("--compile-commands-dir=build" ;; "--header-insertion=never") nil nil ;; "Customized with use-package lsp-clients") ;; :custom-face ;; ;; Make the sideline overlays less annoying ;; (lsp-ui-sideline-global ((t ;; (:background "444444")))) ;; (lsp-ui-sideline-symbol-info ((t ;; (:foreground "gray45" ;; :slant italic ;; :height 0.99))))) ;; No es compatible con helm ;(setq lsp-ui-peek-mode t) ;; (global-set-key (kbd " ") #'lsp-ui-imenu) ;; (setq lsp-ui-imenu-auto-refresh t) ;; ;;;;;;;;;;;;;;;;; Centaur Tabs ;;;;;;;;;;;;;;;;; ;; (require 'centaur-tabs) (centaur-tabs-mode t) (global-set-key (kbd "M-") 'centaur-tabs-backward) (global-set-key (kbd "M-") 'centaur-tabs-forward) (centaur-tabs-headline-match) ;(setq centaur-tabs-style "alternate") ;(setq centaur-tabs-style "box") (setq centaur-tabs-style "rounded") ;(setq centaur-tabs-style "bar") (setq centaur-tabs-set-icons t) (setq centaur-tabs-plain-icons t) (setq centaur-tabs-set-close-button nil) (setq centaur-tabs-set-modified-marker t) (centaur-tabs-change-fonts "arial" 160) (setq centaur-tabs-set-bar 'under) ;; Note: If you're not using Spacmeacs, in order for the underline to display ;; correctly you must add the following line: (setq x-underline-at-descent-line t) ;; ;;;;;;;;;;;;;;;;; Ido Mode ;;;;;;;;;;;;;;;;; ;; ;;(ido-mode t) ;; Do not use ;; ;;;;;;;;;;;;;;;;; Indent-Guide ;;;;;;;;;;;;;;;;; ;; (require 'indent-guide) (indent-guide-global-mode) (setq indent-guide-delay 0.1) ;(set-face-background 'indent-guide-face "dimwhite") ;;(set-face-background 'indent-guide-face "gray") ;;(set-face-background 'indent-guide-face "#000000") ;;(set-face-background 'indent-guide-face "blue") (setq indent-guide-recursive t) (setq indent-guide-char "|") ;; ;;;;;;;;;;;;;;;;; Neotree ;;;;;;;;;;;;;;;;; ;; ;(require 'neotree) ;(global-set-key (kbd " ") 'neotree-toggle) ;(setq-default neo-show-hidden-files t) ;(setq neo-smart-open t) ; (neotree-show) ;; ;;;;;;;;;;;;;;;;; treemacs ;;;;;;;;;;;;;;;;; ;; (use-package treemacs :ensure t :defer t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :config (progn (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-deferred-git-apply-delay 0.5 treemacs-directory-name-transformer #'identity treemacs-display-in-side-window t treemacs-eldoc-display t treemacs-file-event-delay 5000 treemacs-file-extension-regex treemacs-last-period-regex-value treemacs-file-follow-delay 0.2 treemacs-file-name-transformer #'identity treemacs-follow-after-init t treemacs-expand-after-init t treemacs-git-command-pipe "" treemacs-goto-tag-strategy 'refetch-index treemacs-indentation 2 treemacs-indentation-string " " treemacs-is-never-other-window nil treemacs-max-git-entries 5000 treemacs-missing-project-action 'ask treemacs-move-forward-on-expand nil treemacs-no-png-images nil treemacs-no-delete-other-windows t treemacs-project-follow-cleanup nil treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) treemacs-position 'left treemacs-read-string-input 'from-child-frame treemacs-recenter-distance 0.1 treemacs-recenter-after-file-follow nil treemacs-recenter-after-tag-follow nil treemacs-recenter-after-project-jump 'always treemacs-recenter-after-project-expand 'on-distance treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") treemacs-show-cursor nil treemacs-show-hidden-files t treemacs-silent-filewatch nil treemacs-silent-refresh nil treemacs-sorting 'alphabetic-asc treemacs-select-when-already-in-treemacs 'move-back treemacs-space-between-root-nodes t treemacs-tag-follow-cleanup t treemacs-tag-follow-delay 1.5 treemacs-user-mode-line-format nil treemacs-user-header-line-format nil treemacs-width 35 treemacs-width-is-initially-locked t treemacs-workspace-switch-cleanup nil) ;; The default width and height of the icons is 22 pixels. If you are ;; using a Hi-DPI display, uncomment this to double the icon size. ;;(treemacs-resize-icons 44) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (treemacs-fringe-indicator-mode 'always) (pcase (cons (not (null (executable-find "git"))) (not (null treemacs-python-executable))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (treemacs-hide-gitignored-files-mode nil)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t 1" . treemacs-delete-other-windows) (" " . treemacs) ("C-x t B" . treemacs-bookmark) ("C-x t C-t" . treemacs-find-file) ("C-x t M-t" . treemacs-find-tag))) (use-package treemacs-evil :after (treemacs evil) :ensure t) (use-package treemacs-projectile :after (treemacs projectile) :ensure t) (use-package treemacs-icons-dired :after (treemacs dired) :ensure t :config (treemacs-icons-dired-mode)) (use-package treemacs-magit :after (treemacs magit) :ensure t) (use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode :after (treemacs persp-mode) ;;or perspective vs. persp-mode :ensure t :config (treemacs-set-scope-type 'Perspectives)) (with-eval-after-load 'treemacs (define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) ;; ;;;;;;;;;;;;;;;;; iMenu ;;;;;;;;;;;;;;;;; ;; (global-set-key (kbd " ") #'imenu-list-smart-toggle) ;; (setq imenu-list-focus-after-activation t) ;; (global-set-key (kbd "C-.") #'imenu-anywhere) ;(imenu-list-smart-toggle) (setq imenu-list-size 40) ;;(setq imenu-list-auto-resize t) ;;(setq imenu-max-item-length 40) ;;(setq imenu-min-item-length 30) ;; ;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;; ;; (projectile-mode +1) ;; Recommended keymap prefix on macOS ;; (define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) ;; Recommended keymap prefix on Windows/Linux (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) ;;(setq projectile-project-search-path '("~/Workspace_SDD/emacs/")) ;; Usar ;; Projectile puede detectar proyectos con archivos cmake, git ..., pero tambien para "forzarlo" en la carpeta crea un archivo .projectile ;;(setq projectile-indexing-method 'native) (setq projectile-enable-caching t) (setq projectile-require-project-root t) (setq projectile-switch-project-action #'projectile-dired) (setq projectile-switch-project-action #'projectile-find-dir) (setq projectile-find-dir-includes-top-level t) ;; ;;;;;;;;;;;;;;;;; Powerline ;;;;;;;;;;;;;;;;; ;; ;; https://github.com/milkypostman/powerline (require 'powerline) (powerline-center-theme) (setq powerline-default-separator 'wave) ;(powerline-raw mode-line-mule-info nil 'l) ;;(setq powerline-arrow-shape 'arrow) ;; the default (setq powerline-arrow-shape 'curve) ;; give your mode-line curves ;;(setq powerline-arrow-shape 'arrow14) ;; best for small fonts ;; ParenMode. ;; https://www.emacswiki.org/emacs/ShowParenMode ;;(require 'paren) (show-paren-mode 1) (setq show-paren-delay 0) (setq show-paren-style 'mixed) ;; Smartparens (require 'smartparens-config) (smartparens-global-mode t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details ;; ;; helm from https://github.com/emacs-helm/helm ;; ;;(require 'helm) ;; (helm-mode) ;; (require 'helm-xref) ;; (define-key global-map [remap find-file] #'helm-find-files) ;; (define-key global-map [remap execute-extended-command] #'helm-M-x) ;; (define-key global-map [remap switch-to-buffer] #'helm-mini) ;; ;;(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) ;; ;; ;; This Solves the error with Flycheck ;; (setq helm-always-two-windows t ;; helm-split-window-inside-p t) ;; ;; Locate the helm-swoop folder to your path ;; ;;(add-to-list 'load-path "~/.emacs.d/elisp/helm-swoop") ;; (require 'helm-swoop) ;; ;; Change the keybinds to whatever you like :) ;; (global-set-key (kbd "M-i") 'helm-swoop) ;; (global-set-key (kbd "M-I") 'helm-swoop-back-to-last-point) ;; (global-set-key (kbd "C-c M-i") 'helm-multi-swoop) ;; (global-set-key (kbd "C-x M-i") 'helm-multi-swoop-all) ;; ;; When doing isearch, hand the word over to helm-swoop ;; (define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch) ;; ;; From helm-swoop to helm-multi-swoop-all ;; (define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop) ;; ;; When doing evil-search, hand the word over to helm-swoop ;; ;; (define-key evil-motion-state-map (kbd "M-i") 'helm-swoop-from-evil-search) ;; ;; Instead of helm-multi-swoop-all, you can also use helm-multi-swoop-current-mode ;; (define-key helm-swoop-map (kbd "M-m") 'helm-multi-swoop-current-mode-from-helm-swoop) ;; ;; Move up and down like isearch ;; (define-key helm-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-swoop-map (kbd "C-s") 'helm-next-line) ;; (define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line) ;; ;; Save buffer when helm-multi-swoop-edit complete ;; (setq helm-multi-swoop-edit-save t) ;; ;; If this value is t, split window inside the current window ;; (setq helm-swoop-split-with-multiple-windows nil) ;; ;; Split direcion. 'split-window-vertically or 'split-window-horizontally ;; (setq helm-swoop-split-direction 'split-window-vertically) ;; ;; If nil, you can slightly boost invoke speed in exchange for text color ;; (setq helm-swoop-speed-or-color nil) ;; ;; ;; Go to the opposite side of line from the end or beginning of line ;; (setq helm-swoop-move-to-line-cycle t) ;; ;; Optional face for line numbers ;; ;; Face name is `helm-swoop-line-number-face` ;; (setq helm-swoop-use-line-number-face t) ;; ;; If you prefer fuzzy matching ;; (setq helm-swoop-use-fuzzy-match t) ;; ;; If you would like to use migemo, enable helm's migemo feature ;; ;;(helm-migemo-mode 1) ;; ;; ;;;;;;;;;;;;;;;;; Ivy ;;;;;;;;;;;;;;;;; ;; (ivy-mode) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) ;; enable this if you want `swiper' to use it ;; (setq search-default-mode #'char-fold-to-regexp) (global-set-key (kbd "C-x C-b") 'ibuffer-list-buffers) (global-set-key "\C-s" 'swiper) (global-set-key (kbd "C-c C-r") 'ivy-resume) ;;(global-set-key (kbd "") 'ivy-resume) (global-set-key (kbd "M-x") 'counsel-M-x) (global-set-key (kbd "C-x C-f") 'counsel-find-file) (global-set-key (kbd " f") 'counsel-describe-function) (global-set-key (kbd " v") 'counsel-describe-variable) (global-set-key (kbd " o") 'counsel-describe-symbol) (global-set-key (kbd " l") 'counsel-find-library) (global-set-key (kbd " i") 'counsel-info-lookup-symbol) (global-set-key (kbd " u") 'counsel-unicode-char) (global-set-key (kbd "C-c g") 'counsel-git) (global-set-key (kbd "C-c j") 'counsel-git-grep) (global-set-key (kbd "C-c k") 'counsel-ag) (global-set-key (kbd "C-x l") 'counsel-locate) (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) ;; ;; ;; Ivy rich (require 'ivy-rich) (all-the-icons-ivy-rich-mode 1) (ivy-rich-mode 1) (setcdr (assq t ivy-format-functions-alist) #'ivy-format-function-line) (ivy-rich-modify-columns 'ivy-switch-buffer '((ivy-rich-switch-buffer-size (:align right)) (ivy-rich-switch-buffer-major-mode (:width 20 :face error)))) ;; ;; ;; Ivy icons ;; Whether display the icons (setq all-the-icons-ivy-rich-icon t) ;; Whether display the colorful icons. ;; It respects `all-the-icons-color-icons'. (setq all-the-icons-ivy-rich-color-icon t) ;; The icon size (setq all-the-icons-ivy-rich-icon-size 1.0) ;; Whether support project root (setq all-the-icons-ivy-rich-project t) ;; Definitions for ivy-rich transformers. ;; See `ivy-rich-display-transformers-list' for details." ;; all-the-icons-ivy-rich-display-transformers-list ;; Slow Rendering ;; If you experience a slow down in performance when rendering multiple icons simultaneously, ;; you can try setting the following variable (setq inhibit-compacting-font-caches t) ;; M-? ;; ;; Ivy xref (require 'ivy-xref) ;; xref initialization is different in Emacs 27 - there are two different ;; variables which can be set rather than just one (when (>= emacs-major-version 27) (setq xref-show-definitions-function #'ivy-xref-show-defs)) ;; Necessary in Emacs <27. In Emacs 27 it will affect all xref-based ;; commands other than xref-find-definitions (e.g. project-find-regexp) ;; as well (setq xref-show-xrefs-function #'ivy-xref-show-xrefs) ;; Ivy history (require 'savehist) (add-to-list 'savehist-additional-variables 'ivy-dired-history-variable) (savehist-mode 1) ;; ;; or if you use desktop-save-mode ;;(add-to-list 'desktop-globals-to-save 'ivy-dired-history-variable) (with-eval-after-load 'dired (require 'ivy-dired-history) ;; if you are using ido,you'd better disable ido for dired ;; (define-key (cdr ido-minor-mode-map-entry) [remap dired] nil) ;in ido-setup-hook (define-key dired-mode-map "," 'dired)) ;; ;; Selectrum (selectrum-mode +1) ;; to make sorting and filtering more intelligent (selectrum-prescient-mode +1) ;; to save your command history on disk, so the sorting gets more ;; intelligent over time (prescient-persist-mode +1) ;; ;; ;; Prescient ;; https://github.com/raxod502/prescient.el (ivy-prescient-mode) (company-prescient-mode) ;;(selectrum-prescient-mode) ;; ;;;;;;;;;;;;;;;;; Flycheck ;;;;;;;;;;;;;;;;; ;; ;; (require 'flycheck) ;; (add-hook 'after-init-hook #'global-flycheck-mode) ;; (global-flycheck-mode) ;; (autoload 'flycheck "flycheck-list-errors") ;; ;; Flycheck inline ;; (with-eval-after-load 'flycheck ;; (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) ;; ;; (setq flycheck-inline-display-function ;; ;; (lambda (msg pos err) ;; ;; (let* ((ov (quick-peek-overlay-ensure-at pos)) ;; ;; (contents (quick-peek-overlay-contents ov))) ;; ;; (setf (quick-peek-overlay-contents ov) ;; ;; (concat contents (when contents "\n") msg)) ;; ;; (quick-peek-update ov))) ;; ;; flycheck-inline-clear-function #'quick-peek-hide) ;; ;; (require 'flycheck-tip) ;; ;; (define-key your-prog-mode (kbd "C-c C-n") 'flycheck-tip-cycle) ;; ;(flycheck-tip-use-timer 'verbose) ;; ;;(setq flycheck-indication-mode 'left-fringe) ;; ;(setq flycheck-check-syntax-automatically '(mode-enabled )) ;; ;(with-eval-after-load 'flycheck (flycheck-pos-tip-mode)) ;; ;(setq flycheck-highlighting-mode 'columns) ;; ;(setq flycheck-highlighting-mode 'symbols) ;; (setq flycheck-highlighting-mode 'lines) ;; (add-to-list 'display-buffer-alist ;; `(,(rx bos "*Flycheck errors*" eos) ;; (display-buffer-reuse-window ;; display-buffer-in-side-window) ;; (side . bottom) ;; (reusable-frames . visible) ;; (window-height . 0.13))) ;; (add-hook 'flycheck-after-syntax-check-hook ;; (lambda () ;; (if flycheck-current-errors ;; (flycheck-list-errors) ;; (when (get-buffer "*Flycheck errors*") ;; (switch-to-buffer "*Flycheck errors*") ;; (kill-buffer (current-buffer)) ;; ;;;(delete-window) ;; )))) (provide 'Emacs_Packages) ;;; Emacs_Packages.el ends here

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • lsp-treemacs icons not showing in Mac Terminal

    1 project | /r/emacs | 18 Oct 2023
  • How can I temporarily bypass helm and put free text

    2 projects | /r/emacs | 9 Jun 2023
  • Looking Back On Helm (secure email appliance)

    1 project | news.ycombinator.com | 24 May 2023
  • Is There A Buffer Package Like Vertico Pos-Frame That Makes A Rectangle Frame In The Middle For Dired Mode?

    2 projects | /r/emacs | 23 Mar 2023
  • What are the benefits of Vertico over Helm or Ivy?

    3 projects | /r/emacs | 21 Feb 2023