Создание emacs для выделения синтаксиса postgresql по умолчанию
Я использую emacs для редактирования моего кода sql. Я работаю 99% времени на postgresql plpgsql код. Все мои файлы с расширением .sql содержат postgresql. Мне любопытно, есть ли способ установить sql-highlight-postgres-keywords SQL, выделяя по умолчанию вместо ANSI SQL, потому что он очень раздражает переключать режим каждый раз, когда я открываю файл.
Ответы
Ответ 1
Обычно в emacs, если вы хотите изменить настройки каждый раз, когда открывается какой-либо режим, вы используете крючок. Нечто похожее на это должно работать:
(add-to-list 'auto-mode-alist
'("\\.psql$" . (lambda ()
(sql-mode)
(sql-highlight-postgres-keywords))))
Ответ 2
Если вам нужно работать с разными базами данных, вместо того чтобы использовать крючок, чтобы всегда переключаться на выделение PostgreSQL при открытии файла .sql, вы можете использовать функцию переменных файла Emacs для установки продукта в файл за файлом основа.
Например, если первая строка вашего файла .sql
-- -*- mode: sql; sql-product: postgres; -*-
sql-mode будет автоматически использовать подсветку PostgreSQL.
Подробные сведения о переменных файла Emacs здесь (вы также можете установить их в блоке в любом месте файла) и список имен продуктов Вероятно, eeeest найден, выполнив M-x sql-set-product
, отменив значение ansi
по умолчанию и нажав TAB, чтобы увидеть список завершения. Примерами являются "mysql", "oracle", "sqlite" и т.д. (Около десятка в моей установке).