;;; mbsync-conf-mode.el --- Major mode for editing mbsync configurations -*- lexical-binding: t; -*- ;; Copyright (C) 2016 Tom Willemse ;; Author: Tom Willemse ;; Keywords: ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; This library defines a simplisting major mode for editing .mbsyncrc ;; files. ;;; Code: ;;;###autoload (define-generic-mode mbsync-conf-mode '(?#) '("Path" "MaxSize" "MapInbox" "Flatten" "Trash" "TrashNewOnly" "TrashRemoteNew" "AltMap" "Inbox" "InfoDelimiter" "Host" "Port" "User" "Pass" "PassCmd" "Tunnel" "AuthMechs" "SSLType" "SSLVersions" "SystemCertificates" "CertificateFile" "PipelineDepth" "Account" "UseNamespace" "PathDelimiter" "Master" "Slave" "Pattern" "Patterns" "MaxMessages" "ExpireUnread" "Sync" "Create" "Remove" "Expunge" "CopyArrivalDate" "SyncState" "Channels" "FSync" "FieldDelimiter" "BufferLimit" "SubFolders") `((,(rx (or "MaildirStore" "IMAPAccount" "IMAPStore" "Channel" "Group")) (0 font-lock-keyword-face) (".*" nil nil (0 font-lock-type-face))) (,(rx (or "yes" "no" "None" "STARTTLS" "IMAPS" "SSLv2" "SSLv3" "Pull" "Push" "New" "ReNew" "Delete" "Flags" "All" "Master" "Slave" "Both" "Verbatim" "Maildir++" "Legacy")) . font-lock-constant-face)) '("\\.mbsyncrc\\'") nil "A major mode for editing mbsync configuration files.") (provide 'mbsync-conf-mode) ;;; mbsync-conf-mode.el ends here