Emacs 31: An unofficial guide to Markdown-ts-mode

(rahuljuliato.com)

65 points | by RahulMJ 2 hours ago

5 comments

  • RahulMJ 36 minutes ago
    A bit of extra info:

    - `ts` stands for "tree-sitter", meaning this mode uses tree-sitter under the hood, which is, among other things, very performant.

    - There's support for the CommonMark spec and GFM, so things like `- [ ]` checkboxes and ~~strikethrough~~ work out of the box, along with many other small QoL features.

    - This mode is BUILT-IN, so no extra packages are needed.

    - This is currently in the experimental phase, so users need to "opt in" and load the mode to play with it, hence the first part of the guide.

  • pjdesno 1 hour ago
    For those of us who have just been using Emacs, rather than following its recent evolution, "ts-mode" refers to a mode which uses tree-sitter for parsing, highlighting etc.
    • RahulMJ 35 minutes ago
      Thanks for adding this. I just made a comment expanding a bit of what users may find in the new mode.
  • taude 50 minutes ago
    One of the biggest reason I've stopped using Emacs, and I was a pretty heavy user before was that org-mode files weren't fully native Markdown files, which caused annoying friction when collaborating with others.

    It would be interesting for me to have a new markdown-centric org-mode thing. I'd love to vibe lisp to customize my workflows, and I don't totally love Obsidian, which is what I've setup and configured now. I'd prefer to just have the config living in/around init.el/config.el (I used DoomEmacs most recently).

    I realize that org/agenda, etc does a ton more than markdown offers, but most of my flow is just around: raw notes to be consumed, check lists, due dates on items, and other "basics" of org-mode.

    Any recent Emacsers have similar workflows that are tgenible these days? I'd love to get Emacs back in use in my new antigenic Tmux-centric coding flows, and have it be a first class markdown editor, organizaer, and potentially collaboration.....

    • kelvinjps10 2 minutes ago
      I use markdown and nvim with telekasten plugin on desktop and mobile obsidian and for me is good enough
    • mfld 29 minutes ago
      Not tested this myself, but there are ways to improve markdown/org-mode interop, like in https://youtu.be/RJqRwlVvB3E
    • kodoman 46 minutes ago
      What is wrong with markdown mode? Is it that you would rather do the org agenda or calendar via md rather then org? I do understand that if that is the case.
      • taude 41 minutes ago
        Yeup, I would love to have some of the org/agenda operations/views on a regular markdown file. Especially so I could just copy it raw out, and paste into other markdown-centric tools, github md files, etc. for colaborating with others.

        Since markdown is becoming so prevalent. Even our product managers are becoming natively conversant with it, I'd just prefer to have as markdown first world.

        (don't get me started ranting about how Atlassian and Slack have migrated away from markdown and to proprietary formats....).

        • kodoman 16 minutes ago
          Yes must say I have found myself moving away from org and looking at it as an annoyance wrapping up many excellent features that could be wrapped up in simple elisp function and structures that could then just be encoded in what every way one likes, it seems to me that for example todo lists are actually better as nested lisp lists, And then you can simply render as what ever you like. Of course one might like to serialize back as well but I have often wondered about it.

          I definitely think markdown has won (at org was never going to 'win' of course given it's limited scope) and actually is probably what we should just all be using and accept.

          • taude 2 minutes ago
            That's actually not a bad mindset, especially when lisp can be vibed so easily. I could actually see myself building out my own library that does the things I want over markdown.

            - have it look through all md files in a directory, collect all the todos into a main view

            - look for items tagged with a date

            - support customer tagging, and provide workflow exports for each one...

            - behind the scenes git management for files

            - etc...

            I've been wanting to build a collaborative markdown editor for awhile now, making it so that different front-ends could work with it is an interesting thing to think about....

  • edgyquant 1 hour ago
    What are people’s workflows for using eMacs with generative coding? I’m trying to get a workflow where I can generate code and approve it like a PR (maybe leave comments for a next round of generation) but I’m new to eMacs and the ai coding package isn’t working with the latest eMacs
    • remedan 1 hour ago
      Agent Shell connected via ACP to local Claude Code.

      https://github.com/xenodium/agent-shell

      • wilkystyle 1 hour ago
        Can't say enough good things about agent-shell.el! Xenodium has done amazing work there.
        • bryanlarsen 54 minutes ago
          I'll have to try it again. It definitely feels like the right way to do things, but when I tried it it had a couple of show-stopper limitations and a show-stopper bug, so I've been using claude-code-ide.el instead.
        • aag 26 minutes ago
          I'm a huge fan of agent-shell, too. It keeps getting better and better, and it's infinitely customizable, like any good Emacs package.
    • sebastianavina 32 minutes ago
      I use windows 11, wsl2, WezTerm.

      emacs -nw directly on the shell.

      its like working on a linux computer, but from windows.

      I run vterm inside emacs, and claude code inside vterm. I have special commands for extracting file routes, and flow between dired and magit. Everything runs like magic.

      I also have copilot-chat and copilot-mode installed. From time to time I use it to review what claude has done, or to chat a little bit.

    • banjomonster 53 minutes ago
      I’ve been using gptel, I’ll have it generate org babel blocks I can tangle (write to files) or have it use tools to write and edit files in the project I’m working in, and then review with magit.
    • bryanlarsen 52 minutes ago
      IMO, generative coding on Emacs works nicely because magit is awesome for code review. A good agent integration package is going to have a command you can use to send the current cursor line & file to the agent so you can reference and comment.
    • kreyenborgi 1 hour ago
      Which AI coding package? Agent-shell? Gptel-agent?