179 lines
4.4 KiB
EmacsLisp
179 lines
4.4 KiB
EmacsLisp
;;; polymode-base.el --- Root Host and Polymode Configuration Objects -*- lexical-binding: t -*-
|
||
;;
|
||
;; Copyright (C) 2013-2018, Vitalie Spinu
|
||
;; Author: Vitalie Spinu
|
||
;; URL: https://github.com/vspinu/polymode
|
||
;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;;
|
||
;; This file is *NOT* part of GNU Emacs.
|
||
;;
|
||
;; 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, 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; see the file COPYING. If not, write to
|
||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||
;; Floor, Boston, MA 02110-1301, USA.
|
||
;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;;
|
||
;;; Commentary:
|
||
;;
|
||
;;; Code:
|
||
|
||
(require 'polymode-classes)
|
||
|
||
|
||
;; HOST MODES
|
||
|
||
(defcustom pm-host/ada
|
||
(pm-host-chunkmode :name "ada"
|
||
:mode 'ada-mode)
|
||
"Ada hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/coffee
|
||
(pm-host-chunkmode :name "coffee"
|
||
:mode 'coffee-mode)
|
||
"Coffee hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/fundamental
|
||
(pm-host-chunkmode :name "fundamental"
|
||
:mode 'fundamental-mode)
|
||
"Fundamental host mode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/java
|
||
(pm-host-chunkmode :name "js"
|
||
:mode 'java-mode)
|
||
"Java hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/js
|
||
(pm-host-chunkmode :name "js"
|
||
:mode 'js-mode)
|
||
"Javascript hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/latex
|
||
(pm-host-chunkmode :name "latex"
|
||
:mode 'latex-mode)
|
||
"Latex hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/html
|
||
(pm-host-chunkmode :name "html"
|
||
:mode 'html-mode)
|
||
"HTML hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/R
|
||
(pm-host-chunkmode :name "R"
|
||
:mode 'r-mode)
|
||
"R hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/perl
|
||
(pm-host-chunkmode :name "perl"
|
||
:mode 'perl-mode)
|
||
"Perl hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/ruby
|
||
(pm-host-chunkmode :name "ruby"
|
||
:mode 'ruby-mode)
|
||
"Ruby hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/pascal
|
||
(pm-host-chunkmode :name "pascal"
|
||
:mode 'pascal-mode)
|
||
"Pascal hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/C++
|
||
(pm-host-chunkmode :name "C++"
|
||
:mode 'c++-mode
|
||
:protect-font-lock nil)
|
||
"C++ hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/sgml
|
||
(pm-host-chunkmode :name "sgml"
|
||
:mode 'sgml-mode)
|
||
"SGML hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/text
|
||
(pm-host-chunkmode :name "text"
|
||
:mode 'text-mode)
|
||
"Text hostmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-host/yaml
|
||
(pm-host-chunkmode :name "YAML"
|
||
:mode 'yaml-mode)
|
||
"YAML chunkmode."
|
||
:group 'poly-hostmodes
|
||
:type 'object)
|
||
|
||
|
||
;;; ROOT POLYMODES
|
||
|
||
;; These are simple generic configuration objects. More specialized polymodes
|
||
;; should clone these.
|
||
|
||
(defcustom pm-poly/brew
|
||
(pm-polymode :name "brew"
|
||
:hostmode 'pm-host/text)
|
||
"Brew configuration."
|
||
:group 'polymodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-poly/html
|
||
(pm-polymode :name "html"
|
||
:hostmode 'pm-host/html)
|
||
"HTML configuration."
|
||
:group 'polymodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-poly/C++
|
||
(pm-polymode :name "C++"
|
||
:hostmode 'pm-host/C++)
|
||
"C++ configuration."
|
||
:group 'polymodes
|
||
:type 'object)
|
||
|
||
(defcustom pm-poly/latex
|
||
(pm-polymode :name "latex"
|
||
:hostmode 'pm-host/latex)
|
||
"LaTeX configuration."
|
||
:group 'polymodes
|
||
:type 'object)
|
||
|
||
(provide 'polymode-base)
|
||
;;; polymode-base.el ends here
|