Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polymode, Poly-COMEEGA and COMEEGA (Collaborative Org Mode Enhanced Emacs Generalized Authorship) #326

Open
mohsenBanan opened this issue Feb 12, 2023 · 0 comments

Comments

@mohsenBanan
Copy link

mohsenBanan commented Feb 12, 2023

This is not a bug report.
It is an idea and a request for comments and discussion.

For about a decade now, I have been doing all of my writing in a model that I call:
COMEEGA (Collaborative Org Mode Enhanced Emacs Generalized Authorship).

Think of COMEEGA as the "Inverse Of Literate Programming". You write in the native programming mode but then augment your code with org-mode comments and org-mode doc-strings. No tangling needed. Natural programming model augmented with org-mode. Then I have a bunch of facilities that permit me to switch between the native-mode and org-mode conveniently. In COMEEGA, I also make heavy use of org dynamic blocks. Where native-mode fragments that are written in elisp are brought in through org-dynamics-blocks.
This kind of substitutes for macros in python, bash, etc. The model of coding and switch between the native-mode and org-mode works well enough for much of what I want to do. With COMEEGA, I kind of end up with the functionality of an org based emacs notebook similar to jupyter notebook.

I have a short write up on COMEEGA at bx-blee/comeega.

Then, naturally about two years ago I tried to use polymode and define the needed trigger strings for org-mode comments and have org-mode appear properly in my comeega environements which are:

  • Elisp
  • Python
  • Bash
  • LaTeX

For each of these environments, there is a comeega-poly file, for example comeega-poly-elisp.el.

I have not managed to get these to fully work right. The polymodes kind of work, but not fully. So, I continue to use my
native-mode and org-mode toggle method in which lsp-mode is reliable. If there is interest in this, it would be heavenly to make COMEEGA be truely poly-COMEEGA. Your thoughts?

The piece that I mentioned about use of org-dynamic-blocks in native-modes are in: bx-blee/poly-dblock.

There are similarities and overlap between the COMEEGA approach and other approaches mentioned in previous discussions here. I therefore include @jdtsmith and @astoff because of astoff/code-cells.el.
In COMEEGA, I use org-mode instead of markdown for my doc-strings and comments.

No matter how we go about it, we need to standardize on polymode triggers for org-mode in each of the native-modes.
From polymode's perspective COMEEGA can move us towards that standardization.

I'd love to hear your thoughts and comments.

...Mohsen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant