Я начинаю использовать Objective C, и режим Objective C работает отлично. Однако ObjC использует файлы .h, как C и C++. Мне нужно уметь пользоваться всеми тремя. Кто-нибудь знает, как заставить emacs сказать, должен ли он быть в режиме objC или в режиме C/C++?
РЕДАКТИРОВАТЬ: Кажется, есть некоторая путаница в том, что я прошу. Проблема в том, что у меня есть некоторые файлы .h, связанные с файлами .m, и некоторые файлы .h, связанные с файлами .c, и некоторые, связанные с файлами .cpp. Что я ХОЧУ, так это что-то, что я могу вставить в свой c-mode-common-hook или куда-нибудь, что проверит, является ли это объективным файлом C .h, а затем принудительно переведет его в объективный C-режим. , или что-то. Идея в том, что тогда я могу просто открыть файл .h, и он автоматически будет в правильном режиме.
Очевидно, я могу вручную изменить режим, когда я в файле, но это боль, и я часто забываю, пока не нажму вкладку и не произойдет что-то странное. Это решение, которое я использую сейчас.
Я думаю, что комментарий заголовка, вероятно, является правильным способом сделать это, но для того, чтобы он был ДЕЙСТВИТЕЛЬНО полезным, мне нужно выяснить, как заставить XCode поместить комментарий туда, когда он создает файл для меня...
РЕДАКТИРОВАТЬ2:
В настоящее время я использую решение заголовка-комментария. Пока я не разобрался, как заставить 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")))))