jrblevin / markdown-mode

Emacs Markdown Mode
http://jblevins.org/projects/markdown-mode/
GNU General Public License v3.0
875 stars 160 forks source link

`markdown-edit-code-block` will not activate treesit mode (e.g. python-ts-mode), but activate `python-mode` #787

Closed milanglacier closed 11 months ago

milanglacier commented 11 months ago

Expected Behavior

C-c ' into a python code block will activate python-ts-mode

Actual Behavior

python-mode will be activated

Steps to Reproduce

this is the minimal example config file:

;;; minimal-init.el -*- lexical-binding: t; -*-

;; this is for debugging purpose

(require 'package)
(setq package-user-dir "~/Downloads/emacs-package-dir")

(setq package-list '(markdown-mode edit-indirect))
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
(package-initialize)

(unless package-archive-contents
  (package-refresh-contents))

(dolist (package package-list)
  (unless (package-installed-p package)
    (package-install package)))

(setq warning-minimum-level :error)

(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(xterm-mouse-mode 1)

(setq scroll-step 1)
(setq scroll-conservatively 10000)
(setq auto-window-vscroll nil)

(setq major-mode-remap-alist '((python-mode . python-ts-mode)))

(setq treesit-language-source-alist
          '((python . ("https://github.com/tree-sitter/tree-sitter-python"))))

the minimal markdown file (hello.md) is: https://pastebin.com/ymfgDng6

  1. Step A

M-x treesit-install-language-grammar python

  1. Step B

emacs -Q -l "minimal-init.el" hello.md

  1. Step C

Backtrace

go to the python code block, press C-c ', and C-h v to see the major mode, get python-mode rather than python-ts-mode

Software Versions

syohex commented 11 months ago

I have merged #788. Please check latest version.