("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
("\\.toml\\'" . conf-toml-mode)
("\\.desktop\\'" . conf-desktop-mode)
+ ;; Dot is excluded from npmrc, because global configs may lack it.
+ ("npmrc\\'" . conf-npmrc-mode)
("/\\.redshift\\.conf\\'" . conf-windows-mode)
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
table)
"Syntax table in use in Unix style `conf-mode' buffers.")
+(defvar conf-npmrc-mode-syntax-table
+ (let ((table (make-syntax-table conf-mode-syntax-table)))
+ (modify-syntax-entry ?\; "<" table)
+ (modify-syntax-entry ?# "<" table)
+ table)
+ "Syntax table in use in npmrc `conf-mode' buffers.")
+
(defvar conf-javaprop-mode-syntax-table
(make-syntax-table conf-unix-mode-syntax-table)
"Syntax table in use in Java properties buffers.")
(conf-mode-initialize "#" 'conf-desktop-font-lock-keywords)
(conf-quote-normal nil))
+;;;###autoload
+(define-derived-mode conf-npmrc-mode conf-mode "Conf[npmrc]"
+ :syntax-table conf-npmrc-mode-syntax-table
+ "Conf Mode starter for .npmrc files.
+Comments start with `#' and `;'. For details see `conf-mode'."
+ (conf-mode-initialize "#"))
+
(provide 'conf-mode)
;;; conf-mode.el ends here