Think of all the dev tools you use (debugging, code navigation, etc). Then pick a literate programming system (e.g. org mode with Babel). How many of those dev tools can you use? In my experience: Almost none.
A trivial example: Running the tangled code, and getting errors. I know the error is in line 1234, but how do I map that line number to the line in some particular code block?
This is the primary thing holding me back from serious literate programming. Plenty of opportunities here.
The other thing I want (which I'm sure someone has solved): Having "orthogonal" repositories within a repository: Say I clone a Git repository. I want to now store some personal files in those directories (notes, config files for linting tools only I use, etc). I want these version controlled locally, but they should never be pushed to remote.
Another one: Get me ways to read tool/framework/language docs as Info files, so I can view them offline and via Emacs. Sphinx based docs can be built with a texinfo target.[1] Find some other tool that generates docs and add a texinfo target to it if it doesn't exist.
The files I need to track cannot be confined to a single directory. Some of them will coexist with source code files.
Will look into source maps, but the principle applies to all aspects of literate programming. When editing a source block, linter tools go crazy because they see me use variables that to them appear to not have been assigned to (they were assigned to in other source code blocks).
That’s a pretty specific problem. So the linter cannot work on the context of a single file because the lexical scope is spread across multiple files without any kind of import/export or namespacing to dictate which files belong together? If so, then maybe the linter could read all files, cache the scope and partially invalidate it on each update to a file.
A trivial example: Running the tangled code, and getting errors. I know the error is in line 1234, but how do I map that line number to the line in some particular code block?
This is the primary thing holding me back from serious literate programming. Plenty of opportunities here.
The other thing I want (which I'm sure someone has solved): Having "orthogonal" repositories within a repository: Say I clone a Git repository. I want to now store some personal files in those directories (notes, config files for linting tools only I use, etc). I want these version controlled locally, but they should never be pushed to remote.
Another one: Get me ways to read tool/framework/language docs as Info files, so I can view them offline and via Emacs. Sphinx based docs can be built with a texinfo target.[1] Find some other tool that generates docs and add a texinfo target to it if it doesn't exist.
[1] Although it has warts.