3

I was doing following solution for markdown files: How do I associate a file extension with a specific mode?

(autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdown files" t) (setq auto-mode-alist (cons '("\\.md" . markdown-mode) auto-mode-alist)) 

I want to do it same operation for text show up when I want to commit a message for git. When I type git commit a COMMIT_EDITMSG file shows up which has Fundamental mode. Since COMMIT_EDITMSG does not have any extention I was not able to match it into markdown-mode as I done for *.md files.

CRM Buffer Size Mode File . COMMIT_EDITMSG 1259 Fundamental ~/folder/.git/COMMIT_EDITMSG 

My .gitconfig file setup:

[core] pager = less -r editor = TERM=xterm-256color emacsclient -t 

[Q] Is there a way to open git's COMMIT_EDITMSG file in markdown-mode?

2
  • Does this answer your question? Make emacs automatically open binary files in hexl-mode Commented Sep 15, 2020 at 21:16
  • Seems like an alternative solution. I am not sure will COMMIT_EDITMSG or any generated file from git at .git/ without an extention will considered as an binary file Commented Sep 16, 2020 at 9:39

1 Answer 1

4
(setq auto-mode-alist (cons '("\\.md" . markdown-mode) auto-mode-alist)) 

That \\.md should be \\.md\\' otherwise it'll match every filename containing the sequence .md anywhere. (I.e. You already weren't limiting your usage to just matching filename extensions. For instance /home/alper/.mdir/foo/bar.c would match your pattern.)


As you can see, the regexps in auto-mode-alist are matched against the entire filename, so you can easily use it to match your COMMIT_EDITMSG files.

One would normally use add-to-list to update the variable:

(add-to-list 'auto-mode-alist '("/\\.git/COMMIT_EDITMSG\\'" . markdown-mode)) 
2
  • Updating into (add-to-list 'auto-mode-alist '("\\.mdl\\'" . markdown-mode)) fixed it, thanks Commented Apr 2, 2020 at 13:51
  • I know this is solved but I am having very wierd behavior. I am using emacs editor to edit commit message. Everythings works all fine. But if I enable magit-diff the markdown-mode does not apply to that COMMIT_EDITMSG, and git commit fails. Please see: emacs.stackexchange.com/q/59387/18414 Commented Jul 1, 2020 at 19:16

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.