代码拉取完成,页面将自动刷新
同步操作将从 latpaw/emacs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
(autoload 'markdown-mode "markdown-mode" "Mode for editing Markdown documents" t)
(setq auto-mode-alist
(cons '("\\.\\(md\\|markdown\\)\\'" . markdown-mode) auto-mode-alist))
(defun markdown-imenu-create-index ()
(let* ((root '(nil . nil))
cur-alist
(cur-level 0)
(pattern "^\\(\\(#+\\)[ \t]*\\(.+\\)\\|\\([^# \t\n=-].*\\)\n===+\\|\\([^# \t\n=-].*\\)\n---+\\)$")
(empty-heading "-")
(self-heading ".")
hashes pos level heading)
(save-excursion
(goto-char (point-min))
(while (re-search-forward pattern (point-max) t)
(cond
((setq hashes (match-string-no-properties 2))
(setq heading (match-string-no-properties 3)
pos (match-beginning 1)
level (length hashes)))
((setq heading (match-string-no-properties 4))
(setq pos (match-beginning 4)
level 1))
((setq heading (match-string-no-properties 5))
(setq pos (match-beginning 5)
level 2)))
(let ((alist (list (cons heading pos))))
(cond
((= cur-level level) ; new sibling
(setcdr cur-alist alist)
(setq cur-alist alist))
((< cur-level level) ; first child
(dotimes (i (- level cur-level 1))
(setq alist (list (cons empty-heading alist))))
(if cur-alist
(let* ((parent (car cur-alist))
(self-pos (cdr parent)))
(setcdr parent (cons (cons self-heading self-pos) alist)))
(setcdr root alist)) ; primogenitor
(setq cur-alist alist)
(setq cur-level level))
(t ; new sibling of an ancestor
(let ((sibling-alist (last (cdr root))))
(dotimes (i (1- level))
(setq sibling-alist (last (cdar sibling-alist))))
(setcdr sibling-alist alist)
(setq cur-alist alist))
(setq cur-level level)))))
(cdr root))))
(add-hook 'markdown-mode-hook
'(lambda ()
(setq imenu-create-index-function 'markdown-imenu-create-index)))
(provide 'init-markdown)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。