Я начинаю использовать объектив C, и режим C работает отлично. Тем не менее, ObjC использует файлы .h, так же, как C и C ++. Я должен быть в состоянии использовать все три. Кто-нибудь знает, как заставить emacs определить, должен ли он работать в режиме objC или C / C ++?
РЕДАКТИРОВАТЬ: Кажется, есть некоторая путаница в том, что я прошу. Проблема заключается в том, что у меня есть некоторые файлы .h, связанные с файлами .m, и некоторые файлы .h, связанные с файлами .c, а некоторые - с файлами .cpp. То, что я ХОЧУ - это то, что я могу вставить в мой c-mode-common-hook или где-нибудь, что проверит, является ли это объективным C .h файлом, а затем принудительно переведет его в целевой C-режим или что-то. Идея в том, что тогда я могу просто открыть .h файл, и он автоматически будет в правильном режиме.
Очевидно, что я могу вручную изменить режим, когда нахожусь в файле, но это больно, и я часто забываю, пока не нажму кнопку Tab и не случится что-то дурацкое. Это решение, которое я использую сейчас.
Я думаю, что комментарий заголовка, вероятно, является правильным способом сделать это, но для того, чтобы он был НАСТОЯЩИМ полезным, мне нужно выяснить, как заставить XCode разместить комментарий там, когда он создает файл для меня ...
EDIT2:
В настоящее время я использую решение для комментариев к заголовкам. Пока я не могу понять, как заставить XCode автоматически добавлять комментарий, я использую следующую функцию elisp:
(defun bp-add-objC-comment ()
"Adds the /* -*- mode: objc -*- */ line at the top of the file"
(interactive)
(objc-mode)
(let((p (point)))
(goto-char 0)
(insert "/* -*- mode: objc -*- */\n")
(goto-char (+ p (length "/* -*- mode: objc -*- */\n")))))