Hi all, lsp-mode -> org-mode integration allows using Language Server Protocol features (e. g. completion, on-the-fly diagnostics, references, refactoring, etc.) in org-mode source blocks. This was the most wanted feature in our bug tracker and I think that it provides unique functionality not avaiable in any other editor and it is great addition to the org-mode ecosystem. In the future, we have also planned support for debugging in source buffer. Link to the docs and short demo: https://github.com/emacs-lsp/lsp-mode/blob/master/docs/page/lsp-org.md Thanks, Ivan
[-- Attachment #1: Type: text/plain, Size: 723 bytes --] Ivan Yonchovski <yyoncho@gmail.com> writes: > Hi all, > > lsp-mode -> org-mode integration allows using Language Server Protocol > features (e. g. completion, on-the-fly diagnostics, references, > refactoring, etc.) in org-mode source blocks. That sounds great! Just to check, in the demo you have :tangle "demo2.cpp", this would also work with :tangle yes, yes? One question --- does this also work in the minibuffers? At the moment I have a hack in my config (https://tecosaur.github.io/emacs-config/config.html#lsp-support-src) to provide this functionality, but it doesn't use the context of the entire file, which would be a nice improvement. Great to see this regardless! Thanks for implementing it :) Timothy. [-- Attachment #2.1: Type: text/html, Size: 995 bytes --]
Hi TEC, TEC writes: > That sounds great! Just to check, in the demo you have :tangle "demo2.cpp", > this would also work with :tangle yes, yes? lsp-mode will need actual file path to work. I am not sure what "yes" will mean in this context. Generaly, we could plug a mechanism to interactively pick the file name (which is what we are going to do for markdown-mode) but still lsp-mode will expect org-babel-tangle to export to that file(or we should have replacement for that mechanism). > > One question --- does this also work in the minibuffers? At the moment I have a > hack in my config > (https://tecosaur.github.io/emacs-config/config.html#lsp-support-src) to provide > this functionality, but it doesn't use the context of the entire file, which > would be a nice improvement. Can you give me an example of that usecase? Generally, we have introduced "virtual-buffer" abstraction so technically we could implement running language server over anything. E. g. one could select random text block and run a language server over it. Thanks, Ivan
[-- Attachment #1: Type: text/plain, Size: 1203 bytes --] Ivan Yonchovski <yyoncho@gmail.com> writes: >> That sounds great! Just to check, in the demo you have :tangle >> "demo2.cpp", this would also work with :tangle yes, yes? > > lsp-mode will need actual file path to work. I am not sure what > "yes" will mean in this context. This is fairly simple, it means inherit the file name, and apply the relevant extension. For example a python block in demo.org with :tangle yes exports to demo.py. >> One question --- does this also work in the minibuffers? At the >> moment I have a hack in my config >> (https://tecosaur.github.io/emacs-config/config.html#lsp-support-src) >> to provide this functionality, but it doesn't use the context >> of the entire file, which would be a nice improvement. > > Can you give me an example of that usecase? Generally, we have > introduced "virtual-buffer" abstraction so technically we could > implement running language server over anything. E. g. one could > select random text block and run a language server over it. This is what pops up when you call org-edit-special (C-c '). It's nice because it changes the major mode, and has better font-lock performance. Hopefully that helps, Timothy. [-- Attachment #2.1: Type: text/html, Size: 1585 bytes --]
Hi, TEC writes: > This is fairly simple, it means inherit the file name, and apply the relevant > extension. For example a python block in demo.org with :tangle yes exports to > demo.py. That would work you may open lsp-mode issue to track it. We are in a middle of some huge refactoring so I will be able to handle it after we are finished with it. > This is what pops up when you call org-edit-special (C-c '). It's nice because > it changes the major mode, and has better font-lock performance. Got it. This part is not changed, for it you do not need the virtual buffer thing - it is sufficient to use your hack. Once we settle down the org-mode support we might move parts from the hack in lsp-mode.el. Thanks, Ivan
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Ivan Yonchovski <yyoncho@gmail.com> writes: > Hi all, > > lsp-mode -> org-mode integration allows using Language Server Protocol > features (e. g. completion, on-the-fly diagnostics, references, > refactoring, etc.) in org-mode source blocks. This was the most wanted > feature in our bug tracker and I think that it provides unique > functionality not avaiable in any other editor and it is great addition > to the org-mode ecosystem. In the future, we have also planned support > for debugging in source buffer. > > Link to the docs and short demo: > > https://github.com/emacs-lsp/lsp-mode/blob/master/docs/page/lsp-org.md > > > Thanks, > Ivan This is really great to get official support for Org Mode. I have this idea for long time, just try start an extension two days ago. https://github.com/stardiviner/org-babel-lsp Now, I will archive close this repository. :) - -- [ stardiviner ] I try to make every word tell the meaning that I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3 -----BEGIN PGP SIGNATURE----- iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7e4QQUHG51bWJjaGls ZEBnbWFpbC5jb20ACgkQG13xyVromsPl5Af+MDEFKkQBYMN8j7OAixnfEoRuJvdQ V15cnLl6GsqPgoMka4teN3uoV9p2jobJ0lk1Hx6NL4krydc8QAImxCNq/GbNWH/n TBdC9AHUC68vcFjHRISMwfN8nqv3sMLT+pkw2/HPkNEeEaWF8nQl+q6kbdkdti/c f1PE9QP1wcfrBNdaS3przH9g2mLfChwcFn92dKeFtIwTiAIsHowoxbcKyj5RN8Sj pa9VxKdfAf2c3pNEzwZVQocxRNps2rGYMvyo9cw1WXrrdMDdfZD0CIzAAwIOthEO UfmQfF9q0rnjKbBCKk16RBWc6j9LKNa16W39a5mdp9jdRhNTxhGwEE33aA== =WDPq -----END PGP SIGNATURE-----
stardiviner <numbchild@gmail.com> writes:
> This is really great to get official support for Org Mode.
+1! Thanks Ivan.
--
Bastien