Aim for this project is to make it easier to generate preprocessor macros for C++
code that uses Houdini Development Kit
(hdk
) and needs to be build against multiple incompatible versions of it.
This package provides a minor mode for renaming buffers according to project structure. For Python buffers, that will be the whole module name. For temporary files and directories, that will be the relative path from the project root.
Support for saving and opening last known pdf position in pdfview mode. Information will be saved relative to the pdf being viewed so ensure pdf-view-restore-filename
is in the same directory as the viewing pdf.
The Spacious Padding mode increases the space or padding around several elements of the Emacs interface, such as window dividers, the internal frame border, the padding of the mode line, and more. The idea is to produce a more comfortable presentation.
Simple function to create pgfGantt charts from Org entries. Updates a dynamic block in the subtree of question. The function outputs commands which can be parsed by LaTeX exports of the document to generate a Gantt chart of the subtree of TODO items.
Did you ever feel that C-y M-y M-y M-y ...
is not a great way of trying to find that piece of text you know you killed a while back? Then browse-kill-ring.el
is for you.
Emacs Slime Volleyball is a volleyball game. Win points by making the ball land on your opponent's side of the court. The first player to five points wins! You can play against a friend, or challenge the three computer opponents in one player mode. You can even train opponent slimes.
Vertico is an Emacs package that provides a vertical completion UI based on the default completion system. Posframe is an Emacs package that provides a way to pop up a frame at point. Vertico-posframe is an Emacs package and a Vertico extension which provides a way to pop up a frame at point to show a vertical completion UI.
This package provides a Helm interface to lookup Clojure documentation on https://clojuredocs.org with Helm.
Two function are exposed:
helm-clojuredocs
: opens a Helm session with no initial pattern. Searching starts with minimal 3 characters entered.helm-clojuredocs-at-point
: opens a Helm session with initial pattern guessed from thing under current cursor position.
This package mainly defines `flymake-quickdef-backend', a macro which helps remove some of the boilerplate code from defining new Flymake backend functions. Consult the function's documentation for full information on use. The macro defines a function which is suitable for use with `flymake-diagnostic-functions' and handles running the external process, creating and removing any necessary files and buffers, and regex matches against diagnostic output.
Org-transclusion lets you insert a copy of text content via a file link or ID link within an Org file. It lets you have the same content present in different buffers at the same time without copy-and-pasting it. Edit the source of the content, and you can refresh the transcluded copies to the up-to-date state. Org-transclusion keeps your files clear of the transcluded copies, leaving only the links to the original content.
GNU Emacs is an extensible and highly customizable text editor. It is based on an Emacs Lisp interpreter with extensions for text editing. Emacs has been extended in essentially all areas of computing, giving rise to a vast array of packages supporting, e.g., email, IRC and XMPP messaging, spreadsheets, remote server editing, and much more. Emacs includes extensive documentation on all aspects of the system, from basic editing to writing large Lisp programs. It has full Unicode support for nearly all human languages.
Font Lock Studio is an interactive debugger for Emacs syntax highlighting rules, also called Font Lock keywords. It can single-step Font Lock keywords -- matchers, highlights, and anchored rules, to see what happens when a buffer is fontified. Breakpoints can be set on or inside rules. When inside a rule, matches are visualized using a palette of background colors. The explainer can describe a rule in plain-text English. Finally, tight integration with Edebug allows stepping into Lisp expressions that are part of the Font Lock keywords.
When writing your academic paper, you might get stuck trying to find the right phrase that captures your intention. This package tries to alleviate that problem by presenting you with a list of phrases organized by the topic or by the paper section that you are writing. This package has around 600 phrases so far.
Using this package is easy, just call academic-phrases
to get a list of phrases organized by topic, or call academic-phrases-by-section
to browse the phrases by the paper section and fill-in the blanks if required.
Use highlight-symbol
to toggle highlighting of the symbol at point throughout the current buffer. Use highlight-symbol-mode
to keep the symbol at point highlighted.
The functions highlight-symbol-next
, highlight-symbol-prev
, highlight-symbol-next-in-defun
and highlight-symbol-prev-in-defun
allow for cycling through the locations of any symbol at point. Use highlight-symbol-nav-mode
to enable key bindings M-p
and M-p
for navigation. When highlight-symbol-on-navigation-p
is set, highlighting is triggered regardless of highlight-symbol-idle-delay
.
highlight-symbol-query-replace
can be used to replace the symbol.
This package provides a new org-mode table is automatically updated, based on another table acting as a data source and user-given specifications for how to perform aggregation. Example: Starting from a source table of activities and quantities (whatever they are) over several days, #+TBLNAME: original | Day | Color | Level | Quantity | |-----------+-------+-------+----------| | Monday | Red | 30 | 11 | | Monday | Blue | 25 | 3 | | Tuesday | Red | 51 | 12 | | Tuesday | Red | 45 | 15 | | Tuesday | Blue | 33 | 18 | | Wednesday | Red | 27 | 23 | | Wednesday | Blue | 12 | 16 | | Wednesday | Blue | 15 | 15 | | Thursday | Red | 39 | 24 | | Thursday | Red | 41 | 29 | | Thursday | Red | 49 | 30 | | Friday | Blue | 7 | 5 | | Friday | Blue | 6 | 8 | | Friday | Blue | 11 | 9 | an aggregation is built for each day (because several rows exist for each day), typing C-c C-c #+BEGIN: aggregate :table original :cols "Day mean(Level) sum(Quantity)" | Day | mean(Level) | sum(Quantity) | |-----------+-------------+---------------| | Monday | 27.5 | 14 | | Tuesday | 43 | 45 | | Wednesday | 18 | 54 | | Thursday | 43 | 83 | | Friday | 8 | 22 | #+END A wizard can be used: M-x orgtbl-aggregate-insert-dblock-aggregate Full documentation here: https://github.com/tbanel/orgaggregate/blob/master/README.org
`company-wordfreq is a company backend intended for writing texts in a human language. The completions it proposes are words already used in the current (or another open) buffer and matching words from a word list file. This word list file is supposed to be a simple list of words ordered by the frequency the words are used in the language. So the first completions are words already used in the buffer followed by matching words of the language ordered by frequency. `company-wordfreq does not come with the word list files directly, but it can download the files for you for many languages from <https://github.com/hermitdave/FrequencyWords>. I made a fork of that repo just in case the original changes all over sudden without my noticing. The directory where the word list files reside is determined by the variable `company-wordfreq-path', default `~/.emacs.d/wordfreq-dicts'. Their names must follow the pattern `<language>.txt where language is the `ispell-local-dictionary value of the current language. You need =grep= in your =$PATH= as =company-wordfreq= uses it to grep into the word list files. Should be the case by default on any UNIX like systems. On windows you might have to tweak it somehow. `company-wordfreq is supposed to be the one and only company backend and `company-mode should not transform or sort its candidates. This can be achieved by setting the variables `company-backends and `company-transformers buffer locally in `text-mode buffers by (add-hook text-mode-hook (lambda () (setq-local company-backends (company-wordfreq)) (setq-local company-transformers nil))) Usually you don't need to configure the language picked to get the word completions. `company-wordfreq uses the variable `ispell-local-dictionary'. It should work dynamically even if you use `auto-dictionary-mode'. To download a word list use M-x company-wordfreq-download-list You are presented a list of languages to choose. For some languages the word lists are huge, which can lead to noticeable latency when the completions are build. Therefore you are asked if you want to use a word list with only the 50k most frequent words. The file will then be downloaded, processed and put in place.
This package contains extra functions for easy-kill/easy-mark: * easy-mark-word * easy-mark-sexp * easy-mark-to-char * easy-mark-up-to-char These are shorthand commands for easy-marking an aimed string at point. * easy-kill-er-expand * easy-kill-er-unexpand These work like `er/expand-region and `er/contract-region', respectively, using the functionality of the `expand-region package. It also provides the following easy-kill/easy-mark targets: * `buffer This selects the whole buffer. * `buffer-before-point * `buffer-after-point These work like vi's gg/G commands, respectively. * `backward-line-edge * `forward-line-edge The former is like vi's ^/0 commands, and the latter is just like that in the opposite direction. * `string-to-char-forward * `string-to-char-backward * `string-up-to-char-forward * `string-up-to-char-backward These work like vi's f/F/t/T commands, respectively. Experimental ace-jump integration into easy-kill is enabled by default. `ace-jump-*-mode can be invoked for selection when in easy-kill/easy-mark mode. You can disable this feature via a customize variable `easy-kill-ace-jump-enable-p'. Experimental multiple-cursors-mode support for easy-kill is enabled by default. `easy-kill and `easy-mark will mostly work in `multiple-cursors-mode'. Suggested settings are as follows: ;; Upgrade `mark-word and `mark-sexp with easy-mark ;; equivalents. (global-set-key (kbd "M-@") easy-mark-word) (global-set-key (kbd "C-M-@") easy-mark-sexp) ;; `easy-mark-to-char or `easy-mark-up-to-char could be a good ;; replacement for `zap-to-char'. (global-set-key [remap zap-to-char] easy-mark-to-char) ;; Integrate `expand-region functionality with easy-kill (define-key easy-kill-base-map (kbd "o") easy-kill-er-expand) (define-key easy-kill-base-map (kbd "i") easy-kill-er-unexpand) ;; Add the following tuples to `easy-kill-alist', preferrably by ;; using `customize-variable'. (add-to-list easy-kill-alist (?^ backward-line-edge "")) (add-to-list easy-kill-alist (?$ forward-line-edge "")) (add-to-list easy-kill-alist (?b buffer "")) (add-to-list easy-kill-alist (?< buffer-before-point "")) (add-to-list easy-kill-alist (?> buffer-after-point "")) (add-to-list easy-kill-alist (?f string-to-char-forward "")) (add-to-list easy-kill-alist (?F string-up-to-char-forward "")) (add-to-list easy-kill-alist (?t string-to-char-backward "")) (add-to-list easy-kill-alist (?T string-up-to-char-backward ""))
TBD
Interactive align-regexp command in Emacs
Makes ido-mode display prospects vertically.
ElementaryX: Elementary Emacs configuration coupled with Guix Write setup.