summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsDialogButtonLayout.java
diff options
context:
space:
mode:
authorRahul Martim Juliato <rahul.juliato@gmail.com>2026-05-12 00:03:16 -0300
committerJoão Távora <joaotavora@gmail.com>2026-05-14 11:04:07 +0100
commit286833e401d7058a8968ee3e023b526b0a9a6883 (patch)
treefbc8101e75b25e73332218715c2392037ffd03a4 /java/org/gnu/emacs/EmacsDialogButtonLayout.java
parentb39c123490b3baeb6c8f88908f3ff854ed2f2fee (diff)
Add read-only 'markdown-ts-view-mode' (bug#81023)
This new derived mode is intended for consumers that render Markdown content for display rather than editing, such as Eglot and Eldoc when showing documentation popups and buffers. It pre-sets the relevant customizations (markup hidden, inline images on, hard-line-break markup hidden, native code-block fontification, table and code-block context minor modes off), makes the buffer read-only, and uses its own keymap derived from 'special-mode-map' so navigation keys behave like a viewer. A pre-init hook lets callers normalize buffer content before the grammar parses it; 'markdown-ts-add-final-newline' is the default so that markup depending on a terminating newline parses correctly. 'markdown-ts-buffer-string' returns the rendered buffer string with overlay faces flattened into text properties, which is useful for callers that capture the rendered output. Along the way: 'list_marker_parenthesis' is now recognized as an ordered list marker; the strikethrough query is simplified to a single rule; thematic breaks span the window via an ':extend' underline when the face supports it. * lisp/textmodes/markdown-ts-mode.el (markdown-ts-view-mode): New read-only derived mode. (markdown-ts-view-mode-map): New keymap. (markdown-ts-view-mode-pre-init-hook): New hook, defaulting to 'markdown-ts-add-final-newline'. (markdown-ts-mode--initialize): New helper, factored out of 'markdown-ts-mode' so 'markdown-ts-view-mode' can reuse the parser readiness and setup logic after overriding local variables. (markdown-ts-mode): Call 'markdown-ts-mode--initialize'. (markdown-ts-add-final-newline): New function. (markdown-ts-buffer-string): New function. (markdown-ts-unordered-list-marker): New defcustom. (markdown-ts-hard-line-break-backslash) (markdown-ts-hard-line-break-space): Accept the symbol 'hide. (markdown-ts--fontify-hard-line-break): Honor 'hide. (markdown-ts--fontify-atx-heading) (markdown-ts--fontify-setext-heading) (markdown-ts--fontify-atx-delimiter) (markdown-ts--fontify-unordered-list-marker) (markdown-ts--list-item-depth): New functions supporting clean rendering when markup is hidden. (markdown-ts--fontify-thematic-break): Use ':extend' underline span when the face supports it. (markdown-ts--resolve-display-value): Accept non-cons values. (markdown-ts--list-ordered-item-p): Also recognize 'list_marker_parenthesis'. (markdown-ts--range-settings): Mark markdown-inline embed as ':local t'. (markdown-ts--set-up): Create the markdown-inline parser only in the inline setup branch; drop the redundant 'markdown-ts-hide-markup' make-local-variable. (markdown-ts--treesit-settings): Route atx and setext headings to their dedicated fontifiers; route unordered list markers through 'markdown-ts--fontify-unordered-list-marker'; move 'strikethrough' to the simpler paragraph-inline query.
Diffstat (limited to 'java/org/gnu/emacs/EmacsDialogButtonLayout.java')
0 files changed, 0 insertions, 0 deletions