> Philip Kaludercic writes: >> Rahul Martim Juliato writes: >> >>>> So if I understand correctly, there is no keymap or any convenience >>>> features that markdown-mode provides, because this is just the >>>> beginning, right? A large part of major modes for me is not just the >>>> syntax highlighting and integration into Emacs systems, but also >>>> bindings that in the case of Markdown would insert links or add/remove >>>> emphasis. I think it would be nice, if we could add these features in >>>> the future, and re-use bindings from a package like AucTeX to build on >>>> existing intuition (org-mode would be an alternative, but I am not a fan >>>> or their choice of bindings). Some commands to "compile" and preview a >>>> document would also be nice. >>> >>> >>> Hello there again! >>> >>> Please find attached the current version of this patch. >>> >>> It now works with the "official" tree-sitter grammar for markdown: >>> https://github.com/tree-sitter-grammars/tree-sitter-markdown >>> >>> Please note (as explained above) the `main branch' is not the default >>> anymore, but `split_parser' is. >>> >>> They splitted the parser into two, one for the body of the document and >>> another to inline. >>> >>> So, in order to test this patch, configure it with: >>> >>> (use-package markdown-ts-mode >>> :ensure nil >>> :defer t >>> :mode ("\\.md\\'" . markdown-ts-mode) >>> :config >>> (add-to-list 'treesit-language-source-alist '(markdown >>> "https://github.com/tree-sitter-grammars/tree-sitter-markdown" >>> "split_parser" "tree-sitter-markdown/src")) >>> (add-to-list 'treesit-language-source-alist '(markdown-inline >>> "https://github.com/tree-sitter-grammars/tree-sitter-markdown" >>> "split_parser" "tree-sitter-markdown-inline/src"))) >> >> I have said this before, and will say it again, >> `treesit-language-source-alist' shouldn't clone moving git repositories >> but download tarballs (which basically every git host provides as a >> feature, since git archive is built-in) and use those to build the >> library. These tarballs should be pinned in the -ts-mode.el files >> themselves to make using these major modes more reliable. >> > > This is a problem with all TS modes, isnt it? Or did I do something > wrong on my patch? > >>> If you visit a markdown file treesit issues an error, as always, asking >>> for the grammars. >>> >>> Then, install BOTH grammars: >>> >>> M-x treesit-install-language-grammar RET markdown RET >>> M-x treesit-install-language-grammar RET markdown-inline RET >>> >>> Reload the `markdown-ts-mode'. >>> >>> And everything should be working fine :) >>> >>> >>> @Philip, thanks for bringing that up! I completely agree with you; >>> aiming for a fully-featured mode is our long-term objective. >>> >>> The idea here is to establish a foundation for supporting markdown files >>> within Emacs, without relying on external packages. >> >> That sounds good. >> >>> From there, we can delve into discussions about editing and exporting >>> features. For instance, we could consider mimicking bindings and prompts >>> from org-mode, as well as exploring integrations if users opt to also >>> utilize third-party markdown-mode. >> >> I would be interested in helping out or at the very least to comment on >> the development going on, since I had started writing the same mode >> myself a while back, but never got around to it since because I don't >> understand how `treesit-font-lock-rules' works. >> >>> However, simply having the mode built-in reduces friction significantly >>> for new ideas and collaborations :) >> >> And makes it easier for external packages to rely on the code. Usually >> I'd also say that it makes Emacs more usable in offline environments, >> but the fact that the tree-sitter grammars have to for now be downloaded >> stands in the way of that :/ > > I agree with you Philip it is more usable in offline environments, but > as all tree-sitter modes, they depend on those external libraries. But I > have to say, I've been looking some distros including those libraries on > their package repositories, so it should reduce (hopefully) some > friction with it. > > --- > > Sorry for the long hiatus on this thread. I was actually waiting for > more discussions but many cooler topics (and also life) got in the way :) > > > I haven't made any changes on my last patch, but I am attaching it here > to sync with this message. > > > So is there anything else I could do about it?