dotfiles
ntangle.vim
dotfiles | ntangle.vim | |
---|---|---|
4 | 1 | |
50 | 21 | |
- | - | |
8.4 | 2.7 | |
16 days ago | over 3 years ago | |
Emacs Lisp | Vim Script | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dotfiles
-
Bad Emacs Defaults
Heh, I recently did a "clean sweep" of my .emacs files (inspired by the new support for `$XDG_CONFIG_HOME/config/emacs/init.el` in 27.1) and something like 90% of it was workarounds (some dating back to the late 1990s, for example a "vertical-motion-fix" for something that was fixed in emacs 19.29)
I definitely recommend doing some form of "dotfile bankruptcy" every 20 years or so :-)
(I also ended up doing a crude "load-file-literate" so that now most of my elisp is actually markdown, inspired by https://github.com/skx/dotfiles )
-
Bikeshedding Friday: How do you organize your init file?
I keep meaning to explore using org-mode for this. At the moment I have a trivial init.el which loads a literate markdown file init.md.
-
Noweb – A Simple, Extensible Tool for Literate Programming
I keep meaning to experiment with bable/tangle in Emacs.
I setup a simple literate configuration of my init file via markdown, which worked out really well, but doing it "properly" in org-mode would be a nice evolution.
With markdown I just search for code-blocks, write them all sequentially to a temporary buffer and evaluate once done. So it is very simplistic, but also being able to write and group things is useful:
https://github.com/skx/dotfiles/blob/master/.emacs.d/init.md
-
What parts of your config do you like best?
~/.emacs.d/init.el the helper, which loads/executes it.
ntangle.vim
-
Noweb – A Simple, Extensible Tool for Literate Programming
Here are a couple more projects that may or may not seem like Literate Programming, but are motivated squarely by its ethos: to order code for exposition, independent of what the compiler wants.
* https://github.com/snaptoken, the engine behind https://viewsourcecode.org/snaptoken/kilo. The key new feature here seems to be that fragments are always shown in context that can be dynamically expanded by the reader.
* https://github.com/jbyuki/ntangle.vim -- a literate system that tangles your code behind the scenes every time you :wq in Vim or Neovim.
* My system of layers deemphasizes typesetting and is designed to work within a programmer's editor (though IDEs will find it confusing): http://akkartik.name/post/wart-layers. I don't have a single repo for it, mostly[1] because it's tiny enough to get bundled with each of my projects. Perhaps the most developed place to check out is the layered organization for a text editor I built in a statement-oriented language with built-in support for layers: https://github.com/akkartik/mu1/tree/master/edit#readme. It's also in my most recent project, though it's only used in a tiny bootstrapping shim before I wormhole solipsistically into my own universe: https://github.com/akkartik/mu/blob/main/tools/tangle.readme.... Maybe one day I'll have layers in this universe.
[1] And also because I think example repos are under-explored compared to constant attempts at reusable components: http://akkartik.name/post/four-repos
What are some alternatives?
fw-utf8 - Modern fork of FunnelWeb (original written by Ross Williams)
Literate - A literate programming tool for any language
portia - ultimate literate programing preprocessor
dotemacs - My emacs configuration.
clojure-small-pieces - Clojure in Small Pieces -- Literate Clojure - Created by Tim Daly
ob-restclient.el - An org-mode extension to restclient.el
straight.el - 🍀 Next-generation, purely functional package manager for the Emacs hacker.
knot - A literate programming tool that uses Markdown.
verso - A new approach to literate programming.
spiralweb - Literate programming system with a Pandoc-extended Markdown backend.