aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2020-08-23 17:15:43 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2020-08-23 17:15:43 +0100
commit97ba4c8bcfd0badec53fe5589a87038dbd0fae11 (patch)
tree6433453035e1aa99db8a228f55a4ca45feeb5e1a
parent78efa7822094d9b318f9fe487e039949bafa8ce0 (diff)
downloaddotfiles-97ba4c8bcfd0badec53fe5589a87038dbd0fae11.tar.gz
dotfiles-97ba4c8bcfd0badec53fe5589a87038dbd0fae11.tar.bz2
dotfiles-97ba4c8bcfd0badec53fe5589a87038dbd0fae11.zip
~moving some stuff around, +ido, ido-completing-read+ and smex
-rw-r--r--Emacs/.config/emacs/config.org177
1 files changed, 32 insertions, 145 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org
index b35cc82..9170899 100644
--- a/Emacs/.config/emacs/config.org
+++ b/Emacs/.config/emacs/config.org
@@ -461,163 +461,50 @@ functions so that they run ivy-switch-buffer once they're finished.
(advice-add #'evil-window-vsplit :after #'ivy-switch-buffer)
(advice-add #'evil-window-split :after #'ivy-switch-buffer)))
#+end_src
-* Xwidget
-Xwidget is a package (that must be compiled at source) which allows
-for the insertion of arbitrary xwidgets into Emacs through
-buffers. One of its premier uses is in navigating the web which it
-provides through the function =xwidget-webkit-browse-url=. This
-renders a fully functional web browser within Emacs.
+*** Ido
+Ido is a very old completion package that still works great to this
+day. Though it is limited in its scope (and may thus be called a
+completion add-on rather than a full on framework), it is still a very
+powerful package. With the use of ido-completing-read+, it may be used
+to as a fully fledged completion framework.
-Though I am not to keen on using Emacs to browse the web /via/ xwidget
-(EWW does a good job on its own), I am very interested in its
-capability to render full fledged HTML documents, as it may come of
-use when doing web development. I can see the results of work very
-quickly without switching windows or workspaces.
#+begin_src emacs-lisp
-(use-package xwidget
- :straight nil
+(use-package ido
+ :hook (after-init-hook . ido-mode)
:general
- (leader "au" #'xwidget-webkit-browse-url)
(general-def
- :states 'normal
- :keymaps 'xwidget-webkit-mode-map
- "q" #'quit-window
- "h" #'xwidget-webkit-scroll-backward
- "j" #'xwidget-webkit-scroll-up
- "k" #'xwidget-webkit-scroll-down
- "l" #'xwidget-webkit-scroll-forward
- (kbd "C-f") #'xwidget-webkit-scroll-up
- (kbd "C-b") #'xwidget-webkit-scroll-down
- "H" #'xwidget-webkit-back
- "L" #'xwidget-webkit-forward
- "gu" #'xwidget-webkit-browse-url
- "gr" #'xwidget-webkit-reload
- "gg" #'xwidget-webkit-scroll-top
- "G" #'xwidget-webkit-scroll-bottom))
-#+end_src
-
-* Avy
-Setup avy with leader.
-#+begin_src emacs-lisp
-(use-package avy
- :after evil
- :general
- (leader
- :infix "s"
- "l" #'avy-goto-line
- "g" #'avy-goto-char-2))
-#+end_src
-* Ace window
-Though evil provides a great many features in terms of window
-management, much greater than what's easily available in Emacs, ace
-window can provide some nicer chords for higher management of windows
-(closing, switching, etc).
-
-#+begin_src emacs-lisp
-(use-package ace-window
- :after evil
- :custom
- (aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
- :general
+ :keymaps '(ido-buffer-completion-map
+ ido-file-completion-map
+ ido-file-dir-completion-map
+ ido-common-completion-map)
+ (kbd "M-j") #'ido-next-match
+ (kbd "M-k") #'ido-prev-match)
(general-def
- :states 'normal
- [remap evil-window-next] #'ace-window))
-#+end_src
-* Projectile
-Setup projectile, along with the tags command. Also bind "C-c C-p" to
-the projectile command map for quick access.
-#+begin_src emacs-lisp
-(use-package projectile
- :after evil
- :hook (prog-mode-hook . projectile-mode)
- :general
- (leader "p" #'projectile-command-map)
+ [remap find-file] #'ido-find-file
+ [remap switch-to-buffer] #'ido-switch-buffer
+ [remap dired] #'ido-dired
+ [remap make-directory] #'ido-make-directory)
:init
- (setq projectile-tags-command "ctags -Re -f \"%s\" %s \"%s\"")
- :config
- (projectile-global-mode))
+ (setq ido-separator "\n"
+ ido-everywhere t))
#+end_src
-** Counsel projectile
-Counsel projectile provides the ivy interface to projectile commands, which is really useful.
+**** Ido-completing-read+
+Ido completing-read+ is a package that extends the ido package to work
+with more text based functions.
#+begin_src emacs-lisp
-(use-package counsel-projectile
- :after (projectile counsel)
+(use-package ido-completing-read+
+ :after ido
:config
- (counsel-projectile-mode +1))
-#+end_src
-* Mail
-Mail is a funny thing; most people use it just for business or
-advertising and it's come out of use in terms of personal
-communication in the west for the most part (largely due to "social"
-media applications). However, this isn't true for the open source and
-free software movement who heavily use mail for communication.
-
-Integrating mail into Emacs helps as I can send source code and
-integrate it into my workflow just a bit better.
-** Notmuch
-#+begin_src emacs-lisp
-(setq +mail/signature "---------------\nAryadev Chavali")
-(defconst +mail/local-dir (concat user-emacs-directory ".mail/"))
-(defun +mail/sync-mail ()
- "Sync mail via mbsync."
- (interactive)
- (start-process-shell-command "" nil "mbsync -a"))
-
-(use-package notmuch
- :commands notmuch
- :general
- (leader "am" #'notmuch)
- :custom
- ((notmuch-show-logo nil)
- (mail-signature +mail/signature)
- (mail-default-directory +mail/local-dir)
- (mail-source-directory +mail/local-dir)
- (message-signature +mail/signature)
- (message-auto-save-directory +mail/local-dir)
- (message-directory +mail/local-dir))
- :config
- ;; sync mail after refresh
- (advice-add #'notmuch-poll-and-refresh-this-buffer :before
- #'+mail/sync-mail)
- (evil-collection-notmuch-setup))
+ (ido-ubiquitous-mode +1))
#+end_src
-** Smtpmail
-#+begin_src emacs-lisp
-(use-package smtpmail
- :commands mail-send
- :after notmuch
- :custom
- ((smtpmail-smtp-server "mail.aryadevchavali.com")
- (smtpmail-smtp-user "aryadev")
- (smtpmail-smtp-service 587)
- (smtpmail-stream-type 'starttls))
- :init
- (setq send-mail-function #'smtpmail-send-it
- message-send-mail-function #'smtpmail-send-it))
-#+end_src
-** Org message
-Org message allows for the use of org mode when composing mails,
-generating HTML multipart emails. This integrates the WYSIWYG
-experience into mail in Emacs while also providing powerful text
-features with basically no learning curve (as long as you've already
-learnt the basics of org).
+**** Amx
+Amx is a fork of Smex that works to enhance the previous
+interfaces. It also provides support for ido or ivy (though I'm likely
+to use ido here) and allows you to switch between them.
#+begin_src emacs-lisp
-(use-package org-msg
- :after notmuch
- :hook (message-mode-hook . org-msg-mode)
- :config
- (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t tex:dvipng"
- org-msg-greeting-fmt "Dear %s,\n"
- org-msg-greeting-name-limit 3
- org-msg-text-plain-alternative t)
-
- (add-to-list 'org-msg-enforce-css
- '(img latex-fragment-inline
- ((transform . ,(format "translateY(-1px) scale(%.3f)"
- (/ 1.0 (if (boundp 'preview-scale)
- preview-scale 1.4))))
- (margin . "0 -0.35em")))))
+(use-package amx
+ :hook (after-init-hook . amx-mode))
#+end_src
* Dired
Setup for dired. Firstly, as it's an inbuilt package don't let