Hello,
I want to use orgmode for literate programming with Coq.
I like the "edit in major mode" org-edit-src-edit feature, but it
exports only the current src block to the temprorary buffer, so it's
impossible to debug the file in the temporary buffer using coq-mode
(proofgeneral) "phrase by phrase" execution.
I think that some other languages may have similar problems. Say,
code completion works better, if the whole file is available.
I propose the following feature:
1. When the temporary buffer is created,
- the whole session (or all the code with that will go to one file
when tangling) is written to the buffer;
- all the code except for the current block is marked as read-only.
2. When writing the temporary buffer back to the main file, drop the
read-only regions.
An even more useful (though may be harder to implement) version:
1. When the temporary buffer is created,
- then whole session is written to the temporary buffer;
- before each block, a commented line with some meta-data (original
buffer, line range, src-block #+NAME attribute) is inserted;
- these commented lines are made read-only, while the blocks are left
read-write.
2. When writing back, each block is rewritten.
This way a user may have file headers (#include in C/C++, imports in
Python etc) in one #src block, and easily modify it while editing some
"main" code in a temporary buffer.
Unfortunately, I'm new to (e)lisp, so I'm not sure whether I'll manage
to implement these features myself.
--
Sincerely yours,
Yury G. Kudryashov