110 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
|   | ;;; CORE POLYMODE AND HOST OBJECTS | |||
|  | 
 | |||
|  |  | |||
|  | ;;; POLYMODE objects | |||
|  | ;; These are simple generic configuration objects. More specialized | |||
|  | ;; configuration objects are defined in language-specific files (e.g. poly-R.el, | |||
|  | ;; poly-markdown.el etc). | |||
|  | 
 | |||
|  | (defcustom pm-inner/fallback | |||
|  |   (pm-chunkmode "FallBack" :mode 'poly-fallback-mode) | |||
|  |   "Polymode fall back inner mode." | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-poly/brew | |||
|  |   (pm-polymode-one "brew" | |||
|  |                  :hostmode 'pm-host/text | |||
|  |                  :innermode 'pm-inner/fallback) | |||
|  |   "Typical Brew configuration" | |||
|  |   :group 'polymodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-poly/html | |||
|  |   ;; fixme: should probably be pm-polymode-multi | |||
|  |   (pm-polymode-one "html" | |||
|  |                  :hostmode 'pm-host/html | |||
|  |                  :innermode 'pm-inner/fallback) | |||
|  |   "HTML typical configuration" | |||
|  |   :group 'polymodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-poly/C++ | |||
|  |   (pm-polymode-one "C++" | |||
|  |                  :hostmode 'pm-host/C++ | |||
|  |                  :innermode 'pm-inner/fallback) | |||
|  |   "C++ typical configuration" | |||
|  |   :group 'polymodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | 
 | |||
|  |  | |||
|  | ;; HOST MODES | |||
|  | 
 | |||
|  | (defcustom pm-host/blank | |||
|  |   (pm-bchunkmode "FallBack" :mode nil) | |||
|  |   "Blank. Used as a placeholder for currently installed mode.
 | |||
|  | It is specifically intended to be used with minor modes."
 | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/fallback | |||
|  |   (pm-bchunkmode "FallBack" | |||
|  |                  :mode 'poly-fallback-mode) | |||
|  |   "Polymode fall back host mode." | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/fundamental | |||
|  |   (pm-bchunkmode "fundamental" | |||
|  |                  :mode 'fundamental-mode) | |||
|  |   "Fundamental host mode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/latex | |||
|  |   (pm-bchunkmode "latex" | |||
|  |                  :mode 'latex-mode) | |||
|  |   "Latex host chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/html | |||
|  |   (pm-bchunkmode "html" | |||
|  |                  :mode 'html-mode) | |||
|  |   "HTML host chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/R | |||
|  |   (pm-bchunkmode "R" | |||
|  |                  :mode 'R-mode) | |||
|  |   "R host chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/C++ | |||
|  |   (pm-bchunkmode "C++" | |||
|  |                  :mode 'c++-mode | |||
|  |                  :font-lock-narrow nil) | |||
|  |   "C++ host chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/text | |||
|  |   (pm-bchunkmode "text" | |||
|  |                  :mode 'text-mode) | |||
|  |   "Text host chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | (defcustom pm-host/yaml | |||
|  |   (pm-bchunkmode "YAML" | |||
|  |                  :mode 'yaml-mode) | |||
|  |   "YAML chunkmode" | |||
|  |   :group 'hostmodes | |||
|  |   :type 'object) | |||
|  | 
 | |||
|  | 
 | |||
|  | (provide 'poly-base) |