cutting corners
This commit is contained in:
parent
ce66fc1db8
commit
0d656922c7
19
#recentf#
19
#recentf#
|
@ -1,19 +0,0 @@
|
|||
;;; Automatically generated by ‘recentf’ on Sun Sep 2 02:46:56 2018.
|
||||
|
||||
(setq recentf-list
|
||||
'(
|
||||
"/home/guyfawkes/.emacs.d/recentf"
|
||||
"/home/guyfawkes/.emacs.d/session.10715f61e12a06d7bd153579663253391000000011590066"
|
||||
"/home/guyfawkes/.emacs.d/init.el"
|
||||
"/home/guyfawkes/.emacs.d/elpa/org-bullets-0.2.4/org-bullets-autoloads.el"
|
||||
"/home/guyfawkes/Documents/code/pyt.py"
|
||||
"/home/guyfawkes/.emacs.d/elpa/auto-complete-20170125.245/auto-complete-autoloads.el"
|
||||
"/home/guyfawkes/.emacs.d/elpa/popup-20160709.1429/popup-autoloads.el"
|
||||
))
|
||||
|
||||
(setq recentf-filter-changer-current 'nil)
|
||||
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: utf-8-emacs
|
||||
;; End:
|
19
README.org
19
README.org
|
@ -5,18 +5,23 @@ configuration is done in the config.org file. The main purpose of
|
|||
this is repo is to setup emacs the way I want it on a fresh install.
|
||||
That being said I hope you find something worthwhile here
|
||||
|
||||
* Packages I Use
|
||||
- try
|
||||
- which-key
|
||||
- counsel
|
||||
- swiper
|
||||
- auto-complete
|
||||
|
||||
* Personal Preferences
|
||||
- Name and Email
|
||||
- Matlab Library
|
||||
- Default Start-up message has been disabled
|
||||
- Ido mode enabled by default
|
||||
- ibuffer enabled by default
|
||||
- Emacs toolbar disabled by default
|
||||
- windmove enabled by default
|
||||
- linum-mode enabled by default
|
||||
- Toggle reveal/hide menu bar
|
||||
|
||||
* Packages I Use
|
||||
- org
|
||||
- try
|
||||
- which-key
|
||||
- ox-reveal
|
||||
- htmlize
|
||||
- auto-complete
|
||||
- org-mode bullets
|
||||
- liso-theme
|
||||
|
|
35
README.org~
35
README.org~
|
@ -1,20 +1,25 @@
|
|||
* Emacs Setup by Abraham Raji
|
||||
Most of the configuration is done in the init.el file.
|
||||
The main purpose of this is repo is to setup emacs the way I want it on a fresh install.
|
||||
#+STARTUP: showall
|
||||
* Emacs Setup
|
||||
Package sources are configued in the init.el file. All of the actual
|
||||
configuration is done in the config.org file. The main purpose of
|
||||
this is repo is to setup emacs the way I want it on a fresh install.
|
||||
That being said I hope you find something worthwhile here
|
||||
|
||||
* Packages I Use
|
||||
** try
|
||||
** which-key
|
||||
** counsel
|
||||
** swiper
|
||||
** auto-complete
|
||||
- org
|
||||
- try
|
||||
- which-key
|
||||
- ox-reveal
|
||||
- htmlize
|
||||
- auto-complete
|
||||
- org-mode bullets
|
||||
- liso-theme
|
||||
|
||||
* Personal Preferences
|
||||
** Name and Email
|
||||
** Default Start-up message has been disabled
|
||||
** Ido mode enabled by default
|
||||
** ibuffer enabled by default
|
||||
** Emacs toolbar disabled by default
|
||||
** windmove enabled by default
|
||||
** linum-mode enabled by default
|
||||
- Name and Email
|
||||
- Default Start-up message has been disabled
|
||||
- Ido mode enabled by default
|
||||
- ibuffer enabled by default
|
||||
- Emacs toolbar disabled by default
|
||||
- windmove enabled by default
|
||||
- linum-mode enabled by default
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
((("for" .
|
||||
[0 0 1])))
|
||||
(nil)
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
/home/guyfawkes/Documents/code/test.org
|
||||
/home/guyfawkes/Documents/code/#test.org#
|
||||
/home/guyfawkes/.emacs.d/init.el
|
||||
/home/guyfawkes/.emacs.d/#init.el#
|
||||
/home/guyfawkes/.emacs.d/recentf
|
||||
/home/guyfawkes/.emacs.d/#recentf#
|
||||
/home/guyfawkes/.emacs.d/recentf
|
||||
/home/guyfawkes/.emacs.d/#recentf#
|
|
@ -1,6 +0,0 @@
|
|||
/home/guyfawkes/Documents/Emacs/refernce.txt
|
||||
/home/guyfawkes/Documents/Emacs/#refernce.txt#
|
||||
/home/guyfawkes/Documents/code/pyt.py
|
||||
/home/guyfawkes/Documents/code/#pyt.py#
|
||||
/home/guyfawkes/Documents/code/test.c
|
||||
/home/guyfawkes/Documents/code/#test.c#
|
|
@ -1,2 +0,0 @@
|
|||
/home/guyfawkes/.emacs.d/README.org
|
||||
/home/guyfawkes/.emacs.d/#README.org#
|
98
config.el
98
config.el
|
@ -1,14 +1,40 @@
|
|||
(setq user-full-name "Abraham Raji")
|
||||
(setq user-mail-address "abrahamraji99@gmail.com")
|
||||
(setq inhibit-startup-message t)
|
||||
;; ido mode
|
||||
(setq indo-enable-flex-matching t)
|
||||
(setq ido-eveywhere t)
|
||||
(ido-mode 1);;ido end
|
||||
(defalias 'list-buffers 'ibuffer);;ibuffer
|
||||
(tool-bar-mode -1)
|
||||
(windmove-default-keybindings)
|
||||
(global-linum-mode t)
|
||||
(setq user-mail-address "abrahamraji99@gmail.com")
|
||||
(setq inhibit-startup-message t)
|
||||
;; ido mode
|
||||
(setq indo-enable-flex-matching t)
|
||||
(setq ido-eveywhere t)
|
||||
(ido-mode 1);;ido end
|
||||
(defalias 'list-buffers 'ibuffer);;ibuffer
|
||||
(tool-bar-mode -1)
|
||||
(windmove-default-keybindings)
|
||||
(global-linum-mode t)
|
||||
;;matlab
|
||||
(add-to-list 'load-path "/home/guyfawkes/.emacs.d/matlab-emacs-master")
|
||||
(load-library "matlab-load")
|
||||
;;Menubar
|
||||
(menu-bar-mode -1)
|
||||
|
||||
(defun my-menu-bar-open-after ()
|
||||
(remove-hook 'pre-command-hook 'my-menu-bar-open-after)
|
||||
(when (eq menu-bar-mode 42)
|
||||
(menu-bar-mode -1)))
|
||||
|
||||
(defun my-menu-bar-open (&rest args)
|
||||
(interactive)
|
||||
(let ((open menu-bar-mode))
|
||||
(unless open
|
||||
(menu-bar-mode 1))
|
||||
(funcall 'menu-bar-open args)
|
||||
(unless open
|
||||
(setq menu-bar-mode 42)
|
||||
(add-hook 'pre-command-hook 'my-menu-bar-open-after))))
|
||||
|
||||
(global-set-key [f10] 'my-menu-bar-open)
|
||||
|
||||
(unless (file-expand-wildcards (concat package-user-dir "/org-[0-9]*"))
|
||||
(package-install (elt (cdr (assoc 'org package-archive-contents)) 0)))
|
||||
(require 'org)
|
||||
|
||||
(use-package try
|
||||
:ensure t)
|
||||
|
@ -18,43 +44,29 @@
|
|||
:config
|
||||
(which-key-mode))
|
||||
|
||||
(use-package counsel
|
||||
:ensure t
|
||||
)
|
||||
(add-to-list 'load-path "/home/guyfawkes/.emacs.d/org-reveal")
|
||||
(require 'ox-reveal)
|
||||
;;(use-package ox-reveal
|
||||
;;:ensure ox-reveal)
|
||||
|
||||
(use-package swiper
|
||||
:ensure try
|
||||
:config
|
||||
(progn
|
||||
(ivy-mode 1)
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(global-set-key "\C-s" 'swiper)
|
||||
(global-set-key (kbd "C-c C-r") 'ivy-resume)
|
||||
(global-set-key (kbd "<f6>") 'ivy-resume)
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
|
||||
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(global-set-key (kbd "<f1> l") 'counsel-load-library)
|
||||
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
||||
(global-set-key (kbd "C-c g") 'counsel-git)
|
||||
(global-set-key (kbd "C-c j") 'counsel-git-grep)
|
||||
(global-set-key (kbd "C-c k") 'counsel-ag)
|
||||
(global-set-key (kbd "C-x l") 'counsel-locate)
|
||||
(global-set-key (kbd "C-S-o") 'counsel-rhythmbox)
|
||||
(define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
|
||||
))
|
||||
;(setq org-reveal-root "/home/guyfawkes/.emacs.d/org-reveal/reveal.js")
|
||||
(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/")
|
||||
(setq org-reveal-mathjax t)
|
||||
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
))
|
||||
(use-package htmlize
|
||||
:ensure t)
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
||||
(package-initialize) ;load and activate packages, including auto-complete
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
|
||||
(use-package org-bullets
|
||||
:ensure t
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
|
||||
(use-package liso-theme
|
||||
:ensure t
|
||||
:config (load-theme 'liso t))
|
||||
|
|
91
config.org
91
config.org
|
@ -11,9 +11,37 @@
|
|||
(tool-bar-mode -1)
|
||||
(windmove-default-keybindings)
|
||||
(global-linum-mode t)
|
||||
#+END_SRC
|
||||
;;Menubar
|
||||
(menu-bar-mode -1)
|
||||
(defun my-menu-bar-open-after ()
|
||||
(remove-hook 'pre-command-hook 'my-menu-bar-open-after)
|
||||
(when (eq menu-bar-mode 42)
|
||||
(menu-bar-mode -1)))
|
||||
(defun my-menu-bar-open (&rest args)
|
||||
(interactive)
|
||||
(let ((open menu-bar-mode))
|
||||
(unless open
|
||||
(menu-bar-mode 1))
|
||||
(funcall 'menu-bar-open args)
|
||||
(unless open
|
||||
(setq menu-bar-mode 42)
|
||||
(add-hook 'pre-command-hook 'my-menu-bar-open-after))))
|
||||
(global-set-key [f10] 'my-menu-bar-open)
|
||||
#+END_SRC
|
||||
|
||||
* Packages
|
||||
** org
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(unless (file-expand-wildcards (concat package-user-dir "/org-[0-9]*"))
|
||||
(package-install (elt (cdr (assoc 'org package-archive-contents)) 0)))
|
||||
(require 'org)
|
||||
#+END_SRC
|
||||
|
||||
** matlab
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'load-path "/home/guyfawkes/.emacs.d/matlab-emacs-master")
|
||||
(load-library "matlab-load")
|
||||
#+END_SRC
|
||||
** try package
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package try
|
||||
|
@ -28,55 +56,38 @@
|
|||
(which-key-mode))
|
||||
#+END_SRC
|
||||
|
||||
** Counsel
|
||||
** ox-reveal
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package counsel
|
||||
:ensure t
|
||||
)
|
||||
(add-to-list 'load-path "org-reveal")
|
||||
(require 'ox-reveal)
|
||||
(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/")
|
||||
(setq org-reveal-mathjax t)
|
||||
#+END_SRC
|
||||
|
||||
** Swiper (alternate search)
|
||||
** htmlize
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package swiper
|
||||
:ensure try
|
||||
:config
|
||||
(progn
|
||||
(ivy-mode 1)
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(global-set-key "\C-s" 'swiper)
|
||||
(global-set-key (kbd "C-c C-r") 'ivy-resume)
|
||||
(global-set-key (kbd "<f6>") 'ivy-resume)
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
|
||||
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(global-set-key (kbd "<f1> l") 'counsel-load-library)
|
||||
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
||||
(global-set-key (kbd "C-c g") 'counsel-git)
|
||||
(global-set-key (kbd "C-c j") 'counsel-git-grep)
|
||||
(global-set-key (kbd "C-c k") 'counsel-ag)
|
||||
(global-set-key (kbd "C-x l") 'counsel-locate)
|
||||
(global-set-key (kbd "C-S-o") 'counsel-rhythmbox)
|
||||
(define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
|
||||
))
|
||||
(use-package htmlize
|
||||
:ensure t)
|
||||
#+END_SRC
|
||||
|
||||
** auto-complete
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
))
|
||||
#+END_SRC
|
||||
** Org-mode Bullets
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
||||
(package-initialize) ;load and activate packages, including auto-complete
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
#+END_SRC
|
||||
|
||||
** org-mode Bullets
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package org-bullets
|
||||
:ensure t
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
#+END_SRC
|
||||
|
||||
** liso-theme
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package liso-theme
|
||||
:ensure t
|
||||
:config (load-theme 'liso t))
|
||||
#+END_SRC
|
||||
|
|
96
config.org~
96
config.org~
|
@ -11,9 +11,38 @@
|
|||
(tool-bar-mode -1)
|
||||
(windmove-default-keybindings)
|
||||
(global-linum-mode t)
|
||||
#+END_SRC
|
||||
;;matlab
|
||||
(add-to-list 'load-path "/home/guyfawkes/.emacs.d/matlab-emacs-master")
|
||||
(load-library "matlab-load")
|
||||
;;Menubar
|
||||
(menu-bar-mode -1)
|
||||
|
||||
(defun my-menu-bar-open-after ()
|
||||
(remove-hook 'pre-command-hook 'my-menu-bar-open-after)
|
||||
(when (eq menu-bar-mode 42)
|
||||
(menu-bar-mode -1)))
|
||||
|
||||
(defun my-menu-bar-open (&rest args)
|
||||
(interactive)
|
||||
(let ((open menu-bar-mode))
|
||||
(unless open
|
||||
(menu-bar-mode 1))
|
||||
(funcall 'menu-bar-open args)
|
||||
(unless open
|
||||
(setq menu-bar-mode 42)
|
||||
(add-hook 'pre-command-hook 'my-menu-bar-open-after))))
|
||||
|
||||
(global-set-key [f10] 'my-menu-bar-open)
|
||||
#+END_SRC
|
||||
|
||||
* Packages
|
||||
** org
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(unless (file-expand-wildcards (concat package-user-dir "/org-[0-9]*"))
|
||||
(package-install (elt (cdr (assoc 'org package-archive-contents)) 0)))
|
||||
(require 'org)
|
||||
#+END_SRC
|
||||
|
||||
** try package
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package try
|
||||
|
@ -28,55 +57,40 @@
|
|||
(which-key-mode))
|
||||
#+END_SRC
|
||||
|
||||
** Counsel
|
||||
** ox-reveal
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package counsel
|
||||
:ensure t
|
||||
)
|
||||
#+END_SRC
|
||||
(add-to-list 'load-path "/home/guyfawkes/.emacs.d/org-reveal")
|
||||
(require 'ox-reveal)
|
||||
;;(use-package ox-reveal
|
||||
;;:ensure ox-reveal)
|
||||
|
||||
** Swiper (alternate search)
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package swiper
|
||||
:ensure try
|
||||
:config
|
||||
(progn
|
||||
(ivy-mode 1)
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(global-set-key "\C-s" 'swiper)
|
||||
(global-set-key (kbd "C-c C-r") 'ivy-resume)
|
||||
(global-set-key (kbd "<f6>") 'ivy-resume)
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
|
||||
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(global-set-key (kbd "<f1> l") 'counsel-load-library)
|
||||
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
||||
(global-set-key (kbd "C-c g") 'counsel-git)
|
||||
(global-set-key (kbd "C-c j") 'counsel-git-grep)
|
||||
(global-set-key (kbd "C-c k") 'counsel-ag)
|
||||
(global-set-key (kbd "C-x l") 'counsel-locate)
|
||||
(global-set-key (kbd "C-S-o") 'counsel-rhythmbox)
|
||||
(define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
|
||||
))
|
||||
;(setq org-reveal-root "/home/guyfawkes/.emacs.d/org-reveal/reveal.js")
|
||||
(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/")
|
||||
(setq org-reveal-mathjax t)
|
||||
|
||||
(use-package htmlize
|
||||
:ensure t)
|
||||
#+END_SRC
|
||||
|
||||
** auto-complete
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
))
|
||||
#+END_SRC
|
||||
** Org-mode Bullets
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
|
||||
(package-initialize) ;load and activate packages, including auto-complete
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)
|
||||
#+END_SRC
|
||||
|
||||
** Org-mode Bullets
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package org-bullets
|
||||
:ensure t
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
#+END_SRC
|
||||
|
||||
** liso-theme
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package liso-theme
|
||||
:ensure t
|
||||
:config (load-theme 'liso t))
|
||||
#+END_SRC
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
This global minor mode provides a simple way to switch between layouts and
|
||||
the buffers you left open before you switched (unless you closed it).
|
||||
|
||||
It doesn't require any setup at all more than:
|
||||
(0blayout-mode)
|
||||
|
||||
When you start Emacs with 0blayout loaded, you will have a default layout
|
||||
named "default", and then you can create new layouts (<prefix> C-c), switch
|
||||
layouts (<prefix> C-b), and kill the current layout (<prefix> C-k).
|
||||
The default <prefix> is (C-c C-l), but you can change it using:
|
||||
(0blayout-add-keybindings-with-prefix "<your prefix>")
|
||||
|
||||
You can also customize-variable to change the name of the default session.
|
||||
|
||||
The project is hosted at https://github.com/etu/0blayout
|
||||
There you can leave bug-reports and suggestions.
|
||||
|
||||
Another comparable mode is eyebrowse which have been developed for longer.
|
|
@ -433,13 +433,13 @@
|
|||
((:keywords "convenience")
|
||||
(:url . "https://github.com/ergoemacs/ergoemacs-mode"))])
|
||||
(excorporate .
|
||||
[(0 7 6)
|
||||
[(0 7 7)
|
||||
((emacs
|
||||
(24 1))
|
||||
(fsm
|
||||
(0 2))
|
||||
(soap-client
|
||||
(3 1 1))
|
||||
(3 1 4))
|
||||
(url-http-ntlm
|
||||
(2 0 3)))
|
||||
"Exchange integration" tar
|
||||
|
|
|
@ -1 +1 @@
|
|||
Good signature from 474F05837FBDEF9B GNU ELPA Signing Agent <elpasign@elpa.gnu.org> (trust undefined) created at 2018-09-02T02:40:02+0530 using DSA
|
||||
Good signature from 474F05837FBDEF9B GNU ELPA Signing Agent <elpasign@elpa.gnu.org> (trust undefined) created at 2018-09-05T14:40:03+0530 using DSA
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
|||
(1 (org . [(20180827) ( ) "Outline-based notes management and organizer" tar])
|
||||
(org-plus-contrib . [(20180827) ( ) "Outline-based notes management and organizer" tar]))
|
|
@ -0,0 +1,40 @@
|
|||
;;; autothemer-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "autothemer" "autothemer.el" (0 0 0 0))
|
||||
;;; Generated autoloads from autothemer.el
|
||||
|
||||
(autoload 'autothemer-deftheme "autothemer" "\
|
||||
Define a theme NAME with description DESCRIPTION.
|
||||
A color PALETTE can be used to define let*-like
|
||||
bindings within both the REDUCED-SPECS and the BODY.
|
||||
|
||||
\(fn NAME DESCRIPTION PALETTE REDUCED-SPECS &rest BODY)" nil t)
|
||||
|
||||
(autoload 'autothemer-generate-templates "autothemer" "\
|
||||
Autogenerate customizations for all unthemed faces.
|
||||
Iterate through all currently defined faces, select those that
|
||||
have been left uncustomized by the most recent call to
|
||||
`autothemer-deftheme' and generate customizations that best
|
||||
approximate the faces' current definitions using the color
|
||||
palette used in the most recent invocation of
|
||||
`autothemer-deftheme'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "autothemer" '("autothemer--")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; autothemer-autoloads.el ends here
|
|
@ -0,0 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "autothemer" "20170112.2124" "Conveniently define themes." '((dash "2.10.0") (emacs "24") (cl-lib "0.5")) :commit "8c467f57571c154129d660dfccebd151c998f2d9" :authors '(("Sebastian Sturm")) :maintainer '("Sebastian Sturm") :url "https://github.com/sebastiansturm/autothemer")
|
|
@ -0,0 +1,237 @@
|
|||
;;; autothemer.el --- Conveniently define themes. -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright 2015 Sebastian Sturm
|
||||
|
||||
;; Author: Sebastian Sturm
|
||||
;; URL: https://github.com/sebastiansturm/autothemer
|
||||
;; Package-Version: 20170112.2124
|
||||
;; Version: 0.2.2
|
||||
;; Package-Requires: ((dash "2.10.0") (emacs "24") (cl-lib "0.5"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Reduces the amount of boilerplate code needed to define custom themes. Also
|
||||
;; provides the user with an interactive command that automatically generates
|
||||
;; face customization code using the theme's color palette.
|
||||
|
||||
;;; Code:
|
||||
(require 'cl-lib)
|
||||
(require 'dash)
|
||||
|
||||
(cl-defstruct autothemer--color name value)
|
||||
|
||||
(cl-defstruct autothemer--theme colors defined-faces)
|
||||
|
||||
(defvar autothemer--current-theme nil
|
||||
"Internal variable of type `autothemer--theme' used by autothemer.
|
||||
Contains the color palette and the list of faces most recently
|
||||
customized using `autothemer-deftheme'.")
|
||||
|
||||
(defun autothemer--reduced-spec-to-facespec (display reduced-specs)
|
||||
"Create a face spec for DISPLAY, with specs REDUCED-SPECS.
|
||||
E.g., (autothemer--reduced-spec-to-facespec '(min-colors 60)
|
||||
'(button (:underline t :foreground red)))
|
||||
-> `(button (((min-colors 60) (:underline ,t :foreground
|
||||
,red))))."
|
||||
(let* ((face (elt reduced-specs 0))
|
||||
(properties (elt reduced-specs 1))
|
||||
(spec (autothemer--demote-heads `(list (,display ,properties)))))
|
||||
`(list ',face ,spec)))
|
||||
|
||||
(defun autothemer--demote-heads (expr)
|
||||
"Demote every list head within EXPR by one element.
|
||||
E.g., (a (b c d) e (f g)) -> (list a (list b c d) e (list f g))."
|
||||
(if (listp expr)
|
||||
`(list ,@(mapcar (lambda (it) (if (and (listp it) (not (eq (car it) 'quote)))
|
||||
(autothemer--demote-heads it) it))
|
||||
expr))
|
||||
expr))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro autothemer-deftheme (name description palette reduced-specs &rest body)
|
||||
"Define a theme NAME with description DESCRIPTION.
|
||||
A color PALETTE can be used to define let*-like
|
||||
bindings within both the REDUCED-SPECS and the BODY."
|
||||
(let* ((face-names (-map #'car reduced-specs))
|
||||
(color-names (-map #'car (-drop 1 palette)))
|
||||
(n-displays (length (car palette)))
|
||||
(n-faces (length reduced-specs))
|
||||
(face-customizer)
|
||||
(full-palette (autothemer--fill-empty-palette-slots palette))
|
||||
(face-specs (make-symbol "face-specs"))
|
||||
(temp-n (make-symbol "n"))
|
||||
(temp-defined-colors (make-symbol "defined-colors"))
|
||||
(temp-color-structs (make-symbol "defined-colors-as-structs"))
|
||||
(temp-color (make-symbol "color"))
|
||||
(temp-colorname (make-symbol "colorname")))
|
||||
(setq face-customizer
|
||||
`(let ((,face-specs)
|
||||
(,temp-defined-colors))
|
||||
(deftheme ,name ,description)
|
||||
,@(cl-loop for n from 0 to (1- n-displays)
|
||||
collect
|
||||
`(let* ,(autothemer--extract-let-block full-palette n)
|
||||
,@(when (and body (eq n 0))
|
||||
body)
|
||||
;; FIXME: instead of emitting this code for all n,
|
||||
;; and including a runtime check for n = 0, the when
|
||||
;; clause below should only be emitted for n = 0 in
|
||||
;; the first place
|
||||
(when ,(eq n 0)
|
||||
(setq ,temp-defined-colors
|
||||
(list ,@(--map (list 'list `',it it) color-names)))
|
||||
(setq ,temp-color-structs
|
||||
(cl-loop for (,temp-colorname ,temp-color)
|
||||
in ,temp-defined-colors
|
||||
collect (make-autothemer--color :name ,temp-colorname
|
||||
:value ,temp-color)))
|
||||
(setq autothemer--current-theme
|
||||
(make-autothemer--theme
|
||||
:colors ,temp-color-structs
|
||||
:defined-faces ',face-names)))
|
||||
(setq ,face-specs
|
||||
(autothemer--append-column
|
||||
,face-specs
|
||||
(list ,@(--map `(list
|
||||
(list
|
||||
',(autothemer--extract-display palette n)
|
||||
,(autothemer--demote-heads (elt it 1))))
|
||||
reduced-specs))
|
||||
))))
|
||||
(apply #'custom-theme-set-faces ',name
|
||||
(cl-loop for ,temp-n from 0 to ,(1- n-faces)
|
||||
collect (list (elt ',face-names ,temp-n)
|
||||
(elt ,face-specs ,temp-n))))))
|
||||
face-customizer))
|
||||
|
||||
(defun autothemer--color-distance (color autothemer-color)
|
||||
"Return the distance in rgb space between COLOR and AUTOTHEMER-COLOR.
|
||||
Here, COLOR is an Emacs color specification and AUTOTHEMER-COLOR is of
|
||||
type `autothemer--color'."
|
||||
(let ((rgb-1 (color-values color))
|
||||
(rgb-2 (color-values (autothemer--color-value autothemer-color))))
|
||||
(-sum (--zip-with (abs (- it other)) rgb-1 rgb-2))))
|
||||
|
||||
(defun autothemer--find-closest-color (colors color)
|
||||
"Return the element of COLORS that is closest in rgb space to COLOR.
|
||||
Here, COLOR is an Emacs color specification and COLORS is a list
|
||||
of `autothemer--color' structs."
|
||||
(let ((mindistance 0)
|
||||
(closest-color nil))
|
||||
(mapc (lambda (candidate)
|
||||
(when (color-defined-p (autothemer--color-value candidate))
|
||||
(let ((distance (autothemer--color-distance color candidate)))
|
||||
(if (or (not closest-color) (< distance mindistance))
|
||||
(setq closest-color candidate
|
||||
mindistance distance)))))
|
||||
colors)
|
||||
closest-color))
|
||||
|
||||
(defun autothemer--unthemed-faces ()
|
||||
"Find uncustomized faces.
|
||||
Iterate through all currently defined faces and return those that
|
||||
were left uncustomized by the most recent call to
|
||||
`autothemer-deftheme'."
|
||||
(let ((all-faces (face-list))
|
||||
(themed-faces (autothemer--theme-defined-faces autothemer--current-theme)))
|
||||
(--filter (not (-contains? themed-faces it)) all-faces)))
|
||||
|
||||
(defun autothemer--face-to-alist (face)
|
||||
"Return the attribute alist for FACE in frame (selected-frame)."
|
||||
(face-all-attributes face (selected-frame)))
|
||||
|
||||
(defun autothemer--cons-to-tree (the-cons)
|
||||
"Turn THE-CONS into a list, unless its cdr is `unspecified'."
|
||||
(let ((property-name (car the-cons))
|
||||
(property-value (cdr the-cons))
|
||||
(result))
|
||||
(unless (eq property-value 'unspecified)
|
||||
(setq result (list property-name property-value)))
|
||||
result))
|
||||
|
||||
(defun autothemer--alist-to-reduced-spec (facename alist)
|
||||
"Generate a reduced-spec for FACENAME, based on the face attribute ALIST."
|
||||
(list facename
|
||||
(--reduce-from (append acc it) nil
|
||||
(mapcar 'autothemer--cons-to-tree
|
||||
alist))))
|
||||
|
||||
(defun autothemer--approximate-spec (reduced-spec theme)
|
||||
"Replace colors in REDUCED-SPEC by their closest approximations in THEME.
|
||||
Replace every expression in REDUCED-SPEC that passes
|
||||
`color-defined-p' by the closest approximation found in
|
||||
`autothemer--current-theme'. Also quote all face names and
|
||||
unbound symbols, such as `normal' or `demibold'."
|
||||
(let ((colors (autothemer--theme-colors theme))
|
||||
(face (car reduced-spec))
|
||||
(spec (cdr reduced-spec)))
|
||||
`(,face ,@(--tree-map (cond ((and (stringp it) (color-defined-p it))
|
||||
(autothemer--color-name
|
||||
(autothemer--find-closest-color colors it)))
|
||||
((stringp it) it)
|
||||
((numberp it) it)
|
||||
((facep it) `(quote ,it))
|
||||
((not (boundp it)) `(quote ,it))
|
||||
(t it))
|
||||
spec))))
|
||||
|
||||
(defun autothemer--pad-with-nil (row min-number-of-elements)
|
||||
"Make sure that ROW has at least MIN-NUMBER-OF-ELEMENTS, pad with nil if necessary."
|
||||
(append row (-repeat (max 0 (- min-number-of-elements (length row))) nil)))
|
||||
|
||||
(defun autothemer--replace-nil-by-precursor (palette-row)
|
||||
"Iterate over elements of PALETTE-ROW and replace every occurrence of nil by its most recent non-nil precursor. The first element of PALETTE-ROW should be non-nil."
|
||||
(cl-assert (car palette-row))
|
||||
(let* ((color-name (car palette-row))
|
||||
(color-definitions (cdr palette-row))
|
||||
(last-definition))
|
||||
(cons color-name
|
||||
(cl-loop for definition in color-definitions
|
||||
do (when definition (setq last-definition definition))
|
||||
collect last-definition))))
|
||||
|
||||
(defun autothemer--fill-empty-palette-slots (palette)
|
||||
"Make sure that every color definition in PALETTE (elements 1 and above) contain exactly (length (car palette)) elements, corresponding to the displays defined in (car palette)."
|
||||
(let ((n-displays (length (car palette))))
|
||||
(cons (car palette)
|
||||
(cl-loop for row in (cdr palette)
|
||||
collect (autothemer--replace-nil-by-precursor
|
||||
(autothemer--pad-with-nil row (1+ n-displays)))))))
|
||||
|
||||
(defun autothemer--extract-display (palette n)
|
||||
"Extract from PALETTE display specification #N."
|
||||
(elt (car palette) n))
|
||||
|
||||
(defun autothemer--extract-let-block (palette n)
|
||||
"Extract a variable definition block from PALETTE containing all color definitions corresponding to display type #N."
|
||||
(cl-loop for row in (cdr palette)
|
||||
collect (list (car row) (elt row (1+ n)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun autothemer-generate-templates ()
|
||||
"Autogenerate customizations for all unthemed faces.
|
||||
Iterate through all currently defined faces, select those that
|
||||
have been left uncustomized by the most recent call to
|
||||
`autothemer-deftheme' and generate customizations that best
|
||||
approximate the faces' current definitions using the color
|
||||
palette used in the most recent invocation of
|
||||
`autothemer-deftheme'."
|
||||
(interactive)
|
||||
(let* ((missing-faces (autothemer--unthemed-faces))
|
||||
(templates (--map (autothemer--approximate-spec
|
||||
(autothemer--alist-to-reduced-spec
|
||||
it (autothemer--face-to-alist it))
|
||||
autothemer--current-theme)
|
||||
missing-faces))
|
||||
(buffer (get-buffer-create (generate-new-buffer-name "*Autothemer: unthemed faces*"))))
|
||||
(with-current-buffer buffer (emacs-lisp-mode) (insert (pp templates)))
|
||||
(switch-to-buffer buffer)))
|
||||
|
||||
(defun autothemer--append-column (list-of-lists new-column)
|
||||
"If LIST-OF-LISTS is nil, return NEW-COLUMN. Otherwise, append to every element of LIST-OF-LISTS the corresponding element of NEW-COLUMN."
|
||||
(cl-assert (or (not list-of-lists) (eq (length list-of-lists) (length new-column))))
|
||||
(if list-of-lists (-zip-with #'append list-of-lists new-column)
|
||||
new-column))
|
||||
|
||||
(provide 'autothemer)
|
||||
;;; autothemer.el ends here
|
Binary file not shown.
|
@ -17,13 +17,6 @@ KEY-NAME may be a vector, in which case it is passed straight to
|
|||
spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of
|
||||
`edmacro-mode' for details.
|
||||
|
||||
COMMAND must be an interactive function or lambda form.
|
||||
|
||||
KEYMAP, if present, should be a keymap and not a quoted symbol.
|
||||
For example:
|
||||
|
||||
(bind-key \"M-h\" #'some-interactive-function my-mode-map)
|
||||
|
||||
If PREDICATE is non-nil, it is a form evaluated to determine when
|
||||
a key should be bound. It must return non-nil in such cases.
|
||||
Emacs can evaluate this form at any time that it does redisplay
|
|
@ -0,0 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "bind-key" "2.3" "A simple way to manage personal keybindings" 'nil :commit "cd58b268a8a025451c11c3cb1ba18d4f27f245da" :keywords '("keys" "keybinding" "config" "dotemacs") :authors '(("John Wiegley" . "jwiegley@gmail.com")) :maintainer '("John Wiegley" . "jwiegley@gmail.com") :url "https://github.com/jwiegley/use-package")
|
|
@ -1,19 +1,18 @@
|
|||
;;; bind-key.el --- A simple way to manage personal keybindings
|
||||
|
||||
;; Copyright (c) 2012-2017 John Wiegley
|
||||
;; Copyright (c) 2012-2015 john wiegley
|
||||
|
||||
;; Author: John Wiegley <johnw@newartisans.com>
|
||||
;; Maintainer: John Wiegley <johnw@newartisans.com>
|
||||
;; Author: John Wiegley <jwiegley@gmail.com>
|
||||
;; Maintainer: John Wiegley <jwiegley@gmail.com>
|
||||
;; Created: 16 Jun 2012
|
||||
;; Modified: 29 Nov 2017
|
||||
;; Version: 2.4
|
||||
;; Package-Version: 20180513.430
|
||||
;; Version: 1.0
|
||||
;; Package-Version: 2.3
|
||||
;; Keywords: keys keybinding config dotemacs
|
||||
;; URL: https://github.com/jwiegley/use-package
|
||||
|
||||
;; 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
|
||||
;; published by the free software foundation; either version 2, or (at
|
||||
;; your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful, but
|
||||
|
@ -39,12 +38,6 @@
|
|||
;;
|
||||
;; (bind-key "C-c x" 'my-ctrl-c-x-command)
|
||||
;;
|
||||
;; If the keybinding argument is a vector, it is passed straight to
|
||||
;; `define-key', so remapping a key with `[remap COMMAND]' works as
|
||||
;; expected:
|
||||
;;
|
||||
;; (bind-key [remap original-ctrl-c-x-command] 'my-ctrl-c-x-command)
|
||||
;;
|
||||
;; If you want the keybinding to override all minor modes that may also bind
|
||||
;; the same key, use the `bind-key*' form:
|
||||
;;
|
||||
|
@ -99,8 +92,6 @@
|
|||
;; what the default was. Also, it will tell you if the key was rebound after
|
||||
;; your binding it with `bind-key', and what it was rebound it to.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'easy-mmode)
|
||||
|
||||
|
@ -153,13 +144,6 @@ KEY-NAME may be a vector, in which case it is passed straight to
|
|||
spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of
|
||||
`edmacro-mode' for details.
|
||||
|
||||
COMMAND must be an interactive function or lambda form.
|
||||
|
||||
KEYMAP, if present, should be a keymap and not a quoted symbol.
|
||||
For example:
|
||||
|
||||
(bind-key \"M-h\" #'some-interactive-function my-mode-map)
|
||||
|
||||
If PREDICATE is non-nil, it is a form evaluated to determine when
|
||||
a key should be bound. It must return non-nil in such cases.
|
||||
Emacs can evaluate this form at any time that it does redisplay
|
||||
|
@ -176,13 +160,9 @@ can safely be called at any time."
|
|||
(key-description ,namevar))
|
||||
(quote ,keymap)))
|
||||
(,bindingvar (lookup-key (or ,keymap global-map) ,keyvar)))
|
||||
(let ((entry (assoc ,kdescvar personal-keybindings))
|
||||
(details (list ,command
|
||||
(unless (numberp ,bindingvar)
|
||||
,bindingvar))))
|
||||
(if entry
|
||||
(setcdr entry details)
|
||||
(add-to-list 'personal-keybindings (cons ,kdescvar details))))
|
||||
(add-to-list 'personal-keybindings
|
||||
(list ,kdescvar ,command
|
||||
(unless (numberp ,bindingvar) ,bindingvar)))
|
||||
,(if predicate
|
||||
`(define-key (or ,keymap global-map) ,keyvar
|
||||
'(menu-item "" nil :filter (lambda (&optional _)
|
||||
|
@ -211,7 +191,7 @@ See `bind-key' for more details."
|
|||
"Similar to `bind-key', but overrides any mode-specific bindings."
|
||||
`(bind-key ,key-name ,command override-global-map ,predicate))
|
||||
|
||||
(defun bind-keys-form (args keymap)
|
||||
(defun bind-keys-form (args)
|
||||
"Bind multiple keys at once.
|
||||
|
||||
Accepts keyword arguments:
|
||||
|
@ -226,48 +206,30 @@ Accepts keyword arguments:
|
|||
|
||||
The rest of the arguments are conses of keybinding string and a
|
||||
function symbol (unquoted)."
|
||||
(let (map
|
||||
doc
|
||||
prefix-map
|
||||
prefix
|
||||
filter
|
||||
menu-name
|
||||
pkg)
|
||||
|
||||
;; Process any initial keyword arguments
|
||||
(let ((cont t))
|
||||
(while (and cont args)
|
||||
(if (cond ((and (eq :map (car args))
|
||||
(not prefix-map))
|
||||
(setq map (cadr args)))
|
||||
((eq :prefix-docstring (car args))
|
||||
(setq doc (cadr args)))
|
||||
((and (eq :prefix-map (car args))
|
||||
(not (memq map '(global-map
|
||||
override-global-map))))
|
||||
(setq prefix-map (cadr args)))
|
||||
((eq :prefix (car args))
|
||||
(setq prefix (cadr args)))
|
||||
((eq :filter (car args))
|
||||
(setq filter (cadr args)) t)
|
||||
((eq :menu-name (car args))
|
||||
(setq menu-name (cadr args)))
|
||||
((eq :package (car args))
|
||||
(setq pkg (cadr args))))
|
||||
(setq args (cddr args))
|
||||
(setq cont nil))))
|
||||
|
||||
;; jww (2016-02-26): This is a hack; this whole function needs to be
|
||||
;; rewritten to normalize arguments the way that use-package.el does.
|
||||
(if (and (eq (car args) :package)
|
||||
(not (eq (car (cdr (cdr args))) :map)))
|
||||
(setq args (cons :map (cons 'global-map args))))
|
||||
(let* ((map (plist-get args :map))
|
||||
(doc (plist-get args :prefix-docstring))
|
||||
(prefix-map (plist-get args :prefix-map))
|
||||
(prefix (plist-get args :prefix))
|
||||
(filter (plist-get args :filter))
|
||||
(menu-name (plist-get args :menu-name))
|
||||
(pkg (plist-get args :package))
|
||||
(key-bindings (progn
|
||||
(while (keywordp (car args))
|
||||
(pop args)
|
||||
(pop args))
|
||||
args)))
|
||||
(when (or (and prefix-map (not prefix))
|
||||
(and prefix (not prefix-map)))
|
||||
(error "Both :prefix-map and :prefix must be supplied"))
|
||||
|
||||
(when (and menu-name (not prefix))
|
||||
(error "If :menu-name is supplied, :prefix must be too"))
|
||||
|
||||
(unless map (setq map keymap))
|
||||
|
||||
;; Process key binding arguments
|
||||
(let (first next)
|
||||
(let ((args key-bindings)
|
||||
saw-map first next)
|
||||
(while args
|
||||
(if (keywordp (car args))
|
||||
(progn
|
||||
|
@ -277,18 +239,15 @@ function symbol (unquoted)."
|
|||
(nconc first (list (car args)))
|
||||
(setq first (list (car args))))
|
||||
(setq args (cdr args))))
|
||||
|
||||
(cl-flet
|
||||
((wrap (map bindings)
|
||||
(if (and map pkg (not (memq map '(global-map
|
||||
override-global-map))))
|
||||
`((if (boundp ',map)
|
||||
,(macroexp-progn bindings)
|
||||
(eval-after-load
|
||||
(if (and map pkg (not (eq map 'global-map)))
|
||||
(if (boundp map)
|
||||
bindings
|
||||
`((eval-after-load
|
||||
,(if (symbolp pkg) `',pkg pkg)
|
||||
',(macroexp-progn bindings))))
|
||||
'(progn ,@bindings))))
|
||||
bindings)))
|
||||
|
||||
(append
|
||||
(when prefix-map
|
||||
`((defvar ,prefix-map)
|
||||
|
@ -302,17 +261,17 @@ function symbol (unquoted)."
|
|||
(wrap map
|
||||
(cl-mapcan
|
||||
(lambda (form)
|
||||
(let ((fun (and (cdr form) (list 'function (cdr form)))))
|
||||
(if prefix-map
|
||||
`((bind-key ,(car form) ,fun ,prefix-map ,filter))
|
||||
(if (and map (not (eq map 'global-map)))
|
||||
`((bind-key ,(car form) ,fun ,map ,filter))
|
||||
`((bind-key ,(car form) ,fun nil ,filter))))))
|
||||
(if prefix-map
|
||||
`((bind-key ,(car form) ',(cdr form) ,prefix-map ,filter))
|
||||
(if (and map (not (eq map 'global-map)))
|
||||
`((bind-key ,(car form) ',(cdr form) ,map ,filter))
|
||||
`((bind-key ,(car form) ',(cdr form) nil ,filter)))))
|
||||
first))
|
||||
(when next
|
||||
(bind-keys-form (if pkg
|
||||
(cons :package (cons pkg next))
|
||||
next) map)))))))
|
||||
(bind-keys-form
|
||||
(if pkg
|
||||
(cons :package (cons pkg next))
|
||||
next))))))))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro bind-keys (&rest args)
|
||||
|
@ -330,17 +289,18 @@ Accepts keyword arguments:
|
|||
|
||||
The rest of the arguments are conses of keybinding string and a
|
||||
function symbol (unquoted)."
|
||||
(macroexp-progn (bind-keys-form args nil)))
|
||||
(macroexp-progn (bind-keys-form args)))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro bind-keys* (&rest args)
|
||||
(macroexp-progn (bind-keys-form args 'override-global-map)))
|
||||
(macroexp-progn
|
||||
(bind-keys-form `(:map override-global-map ,@args))))
|
||||
|
||||
(defun get-binding-description (elem)
|
||||
(cond
|
||||
((listp elem)
|
||||
(cond
|
||||
((memq (car elem) '(lambda function))
|
||||
((eq 'lambda (car elem))
|
||||
(if (and bind-key-describe-special-forms
|
||||
(stringp (nth 2 elem)))
|
||||
(nth 2 elem)
|
||||
|
@ -409,8 +369,8 @@ function symbol (unquoted)."
|
|||
(car (compare-keybindings l r))))))
|
||||
|
||||
(if (not (eq (cdar last-binding) (cdar binding)))
|
||||
(princ (format "\n\n%s: %s\n%s\n\n"
|
||||
(cdar binding) (caar binding)
|
||||
(princ (format "\n\n%s\n%s\n\n"
|
||||
(cdar binding)
|
||||
(make-string (+ 21 (car bind-key-column-widths)
|
||||
(cdr bind-key-column-widths)) ?-)))
|
||||
(if (and last-binding
|
||||
|
@ -448,7 +408,6 @@ function symbol (unquoted)."
|
|||
(provide 'bind-key)
|
||||
|
||||
;; Local Variables:
|
||||
;; outline-regexp: ";;;\\(;* [^\s\t\n]\\|###autoload\\)\\|("
|
||||
;; indent-tabs-mode: nil
|
||||
;; End:
|
||||
|
Binary file not shown.
|
@ -1,2 +0,0 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "bind-key" "20180513.430" "A simple way to manage personal keybindings" 'nil :commit "3fb8f39f5901a4c0ef7887283e56e60b541675ea" :keywords '("keys" "keybinding" "config" "dotemacs") :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :url "https://github.com/jwiegley/use-package")
|
|
@ -1,443 +0,0 @@
|
|||
;;; counsel-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "counsel" "counsel.el" (0 0 0 0))
|
||||
;;; Generated autoloads from counsel.el
|
||||
|
||||
(autoload 'counsel-el "counsel" "\
|
||||
Elisp completion at point.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-cl "counsel" "\
|
||||
Common Lisp completion at point.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-clj "counsel" "\
|
||||
Clojure completion at point.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-company "counsel" "\
|
||||
Complete using `company-candidates'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-irony "counsel" "\
|
||||
Inline C/C++ completion using Irony.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-describe-variable "counsel" "\
|
||||
Forward to `describe-variable'.
|
||||
|
||||
Variables declared using `defcustom' are highlighted according to
|
||||
`ivy-highlight-face'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-describe-function "counsel" "\
|
||||
Forward to `describe-function'.
|
||||
|
||||
Interactive functions (i.e., commands) are highlighted according
|
||||
to `ivy-highlight-face'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-set-variable "counsel" "\
|
||||
Set a variable, with completion.
|
||||
|
||||
When the selected variable is a `defcustom' with the type boolean
|
||||
or radio, offer completion of all possible values.
|
||||
|
||||
Otherwise, offer a variant of `eval-expression', with the initial
|
||||
input corresponding to the chosen variable.
|
||||
|
||||
With a prefix arg, restrict list to variables defined using
|
||||
`defcustom'.
|
||||
|
||||
\(fn SYM)" t nil)
|
||||
|
||||
(autoload 'counsel-apropos "counsel" "\
|
||||
Show all matching symbols.
|
||||
See `apropos' for further information on what is considered
|
||||
a symbol and how to search for them.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-info-lookup-symbol "counsel" "\
|
||||
Forward to `info-lookup-symbol' with ivy completion.
|
||||
|
||||
\(fn SYMBOL &optional MODE)" t nil)
|
||||
|
||||
(autoload 'counsel-M-x "counsel" "\
|
||||
Ivy version of `execute-extended-command'.
|
||||
Optional INITIAL-INPUT is the initial input in the minibuffer.
|
||||
This function integrates with either the `amx' or `smex' package
|
||||
when available, in that order of precedence.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-load-library "counsel" "\
|
||||
Load a selected the Emacs Lisp library.
|
||||
The libraries are offered from `load-path'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-find-library "counsel" "\
|
||||
Visit a selected the Emacs Lisp library.
|
||||
The libraries are offered from `load-path'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-load-theme "counsel" "\
|
||||
Forward to `load-theme'.
|
||||
Usable with `ivy-resume', `ivy-next-line-and-call' and
|
||||
`ivy-previous-line-and-call'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-descbinds "counsel" "\
|
||||
Show a list of all defined keys and their definitions.
|
||||
If non-nil, show only bindings that start with PREFIX.
|
||||
BUFFER defaults to the current one.
|
||||
|
||||
\(fn &optional PREFIX BUFFER)" t nil)
|
||||
|
||||
(autoload 'counsel-faces "counsel" "\
|
||||
Complete faces with preview.
|
||||
Actions are provided by default for describing or customizing the
|
||||
selected face.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-git "counsel" "\
|
||||
Find file in the current Git repository.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-git-grep "counsel" "\
|
||||
Grep for a string in the current git repository.
|
||||
When CMD is a string, use it as a \"git grep\" command.
|
||||
When CMD is non-nil, prompt for a specific \"git grep\" command.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
|
||||
\(fn &optional CMD INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-git-stash "counsel" "\
|
||||
Search through all available git stashes.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-git-change-worktree "counsel" "\
|
||||
Find the file corresponding to the current buffer on a different worktree.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-git-checkout "counsel" "\
|
||||
Call the \"git checkout\" command.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-git-log "counsel" "\
|
||||
Call the \"git log --grep\" shell command.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-find-file "counsel" "\
|
||||
Forward to `find-file'.
|
||||
When INITIAL-INPUT is non-nil, use it in the minibuffer during completion.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-recentf "counsel" "\
|
||||
Find a file on `recentf-list'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-bookmark "counsel" "\
|
||||
Forward to `bookmark-jump' or `bookmark-set' if bookmark doesn't exist.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-bookmarked-directory "counsel" "\
|
||||
Ivy interface for bookmarked directories.
|
||||
|
||||
With a prefix argument, this command creates a new bookmark which points to the
|
||||
current value of `default-directory'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-file-register "counsel" "\
|
||||
Search file in register.
|
||||
|
||||
You cannot use Emacs' normal register commands to create file
|
||||
registers. Instead you must use the `set-register' function like
|
||||
so: `(set-register ?i \"/home/eric/.emacs.d/init.el\")'. Now you
|
||||
can use `C-x r j i' to open that file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-locate "counsel" "\
|
||||
Call the \"locate\" shell command.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-fzf "counsel" "\
|
||||
Open a file using the fzf shell command.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
FZF-PROMPT, if non-nil, is passed as `ivy-read' prompt argument.
|
||||
|
||||
\(fn &optional INITIAL-INPUT INITIAL-DIRECTORY FZF-PROMPT)" t nil)
|
||||
|
||||
(autoload 'counsel-dpkg "counsel" "\
|
||||
Call the \"dpkg\" shell command.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-rpm "counsel" "\
|
||||
Call the \"rpm\" shell command.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-file-jump "counsel" "\
|
||||
Jump to a file below the current directory.
|
||||
List all files within the current directory or any of its subdirectories.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
|
||||
\(fn &optional INITIAL-INPUT INITIAL-DIRECTORY)" t nil)
|
||||
|
||||
(autoload 'counsel-dired-jump "counsel" "\
|
||||
Jump to a directory (in dired) below the current directory.
|
||||
List all subdirectories within the current directory.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
|
||||
\(fn &optional INITIAL-INPUT INITIAL-DIRECTORY)" t nil)
|
||||
|
||||
(autoload 'counsel-ag "counsel" "\
|
||||
Grep for a string in the current directory using ag.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
EXTRA-AG-ARGS string, if non-nil, is appended to `counsel-ag-base-command'.
|
||||
AG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument.
|
||||
|
||||
\(fn &optional INITIAL-INPUT INITIAL-DIRECTORY EXTRA-AG-ARGS AG-PROMPT)" t nil)
|
||||
|
||||
(autoload 'counsel-pt "counsel" "\
|
||||
Grep for a string in the current directory using pt.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
This uses `counsel-ag' with `counsel-pt-base-command' instead of
|
||||
`counsel-ag-base-command'.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-ack "counsel" "\
|
||||
Grep for a string in the current directory using ack.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
This uses `counsel-ag' with `counsel-ack-base-command' replacing
|
||||
`counsel-ag-base-command'.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-rg "counsel" "\
|
||||
Grep for a string in the current directory using rg.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
EXTRA-RG-ARGS string, if non-nil, is appended to `counsel-rg-base-command'.
|
||||
RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument.
|
||||
|
||||
\(fn &optional INITIAL-INPUT INITIAL-DIRECTORY EXTRA-RG-ARGS RG-PROMPT)" t nil)
|
||||
|
||||
(autoload 'counsel-grep "counsel" "\
|
||||
Grep for a string in the file visited by the current buffer.
|
||||
When non-nil, INITIAL-INPUT is the initial search pattern.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-grep-or-swiper "counsel" "\
|
||||
Call `swiper' for small buffers and `counsel-grep' for large ones.
|
||||
When non-nil, INITIAL-INPUT is the initial search pattern.
|
||||
|
||||
\(fn &optional INITIAL-INPUT)" t nil)
|
||||
|
||||
(autoload 'counsel-org-tag "counsel" "\
|
||||
Add or remove tags in `org-mode'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-org-tag-agenda "counsel" "\
|
||||
Set tags for the current agenda item.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(defalias 'counsel-org-goto #'counsel-outline)
|
||||
|
||||
(autoload 'counsel-org-goto-all "counsel" "\
|
||||
Go to a different location in any org file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-org-file "counsel" "\
|
||||
Browse all attachments for current Org file.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-org-entity "counsel" "\
|
||||
Complete Org entities using Ivy.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-org-capture "counsel" "\
|
||||
Capture something.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-org-agenda-headlines "counsel" "\
|
||||
Choose from headers of `org-mode' files in the agenda.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-tmm "counsel" "\
|
||||
Text-mode emulation of looking and choosing from a menubar.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-yank-pop "counsel" "\
|
||||
Ivy replacement for `yank-pop'.
|
||||
ARG has the same meaning as in `yank-pop', but its default value
|
||||
can be controlled with `counsel-yank-pop-preselect-last', which
|
||||
see. See also `counsel-yank-pop-filter' for how to filter
|
||||
candidates.
|
||||
Note: Duplicate elements of `kill-ring' are always deleted.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'counsel-imenu "counsel" "\
|
||||
Jump to a buffer position indexed by imenu.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-list-processes "counsel" "\
|
||||
Offer completion for `process-list'.
|
||||
The default action deletes the selected process.
|
||||
An extra action allows to switch to the process buffer.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-expression-history "counsel" "\
|
||||
Select an element of `read-expression-history'.
|
||||
And insert it into the minibuffer. Useful during `eval-expression'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-shell-command-history "counsel" "\
|
||||
Browse shell command history.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-minibuffer-history "counsel" "\
|
||||
Browse minibuffer history.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-esh-history "counsel" "\
|
||||
Browse Eshell history.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-shell-history "counsel" "\
|
||||
Browse shell history.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-outline "counsel" "\
|
||||
Jump to an outline heading with completion.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-ibuffer "counsel" "\
|
||||
Use ibuffer to switch to another buffer.
|
||||
NAME specifies the name of the buffer (defaults to \"*Ibuffer*\").
|
||||
|
||||
\(fn &optional NAME)" t nil)
|
||||
|
||||
(autoload 'counsel-switch-to-shell-buffer "counsel" "\
|
||||
Switch to a shell buffer, or create one.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-unicode-char "counsel" "\
|
||||
Insert COUNT copies of a Unicode character at point.
|
||||
COUNT defaults to 1.
|
||||
|
||||
\(fn &optional COUNT)" t nil)
|
||||
|
||||
(autoload 'counsel-colors-emacs "counsel" "\
|
||||
Show a list of all supported colors for a particular frame.
|
||||
|
||||
You can insert or kill the name or hexadecimal RGB value of the
|
||||
selected color.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-colors-web "counsel" "\
|
||||
Show a list of all W3C web colors for use in CSS.
|
||||
|
||||
You can insert or kill the name or hexadecimal RGB value of the
|
||||
selected color.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-rhythmbox "counsel" "\
|
||||
Choose a song from the Rhythmbox library to play or enqueue.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'counsel-linux-app "counsel" "\
|
||||
Launch a Linux desktop application, similar to Alt-<F2>.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(defvar counsel-mode nil "\
|
||||
Non-nil if Counsel mode is enabled.
|
||||
See the `counsel-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `counsel-mode'.")
|
||||
|
||||
(custom-autoload 'counsel-mode "counsel" nil)
|
||||
|
||||
(autoload 'counsel-mode "counsel" "\
|
||||
Toggle Counsel mode on or off.
|
||||
Turn Counsel mode on if ARG is positive, off otherwise. Counsel
|
||||
mode remaps built-in emacs functions that have counsel
|
||||
replacements.
|
||||
|
||||
Local bindings (`counsel-mode-map'):
|
||||
\\{counsel-mode-map}
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "counsel" '("counsel-" "tmm-km-list" "ivy-function-called-at-point")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; counsel-autoloads.el ends here
|
|
@ -1,2 +0,0 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "counsel" "20180820.1500" "Various completion functions using Ivy" '((emacs "24.3") (swiper "0.9.0")) :commit "02537c95baf183b6a42e142a85742d589c692aa2" :keywords '("convenience" "matching" "tools") :authors '(("Oleh Krehel" . "ohwoeowho@gmail.com")) :maintainer '("Oleh Krehel" . "ohwoeowho@gmail.com") :url "https://github.com/abo-abo/swiper")
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -1,2 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "dash" "20180726.1213" "A modern list library for Emacs" 'nil :commit "453c775e64e9ca61964b785b6d58ec00e4fec6d0" :keywords '("lists") :authors '(("Magnar Sveen" . "magnars@gmail.com")) :maintainer '("Magnar Sveen" . "magnars@gmail.com"))
|
||||
(define-package "dash" "20180903.1042" "A modern list library for Emacs" 'nil :commit "85e8f62b7a8ae0b4da307ddf16e4f1c3559d0d3f" :keywords '("lists") :authors '(("Magnar Sveen" . "magnars@gmail.com")) :maintainer '("Magnar Sveen" . "magnars@gmail.com"))
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
;; Author: Magnar Sveen <magnars@gmail.com>
|
||||
;; Version: 2.14.1
|
||||
;; Package-Version: 20180726.1213
|
||||
;; Package-Version: 20180903.1042
|
||||
;; Keywords: lists
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
|
@ -126,6 +126,49 @@ Return nil, used for side-effects only."
|
|||
|
||||
(put '-each-while 'lisp-indent-function 2)
|
||||
|
||||
(defmacro --each-r (list &rest body)
|
||||
"Anaphoric form of `-each-r'."
|
||||
(declare (debug (form body))
|
||||
(indent 1))
|
||||
(let ((v (make-symbol "vector")))
|
||||
;; Implementation note: building vector is considerably faster
|
||||
;; than building a reversed list (vector takes less memory, so
|
||||
;; there is less GC), plus length comes naturally. In-place
|
||||
;; 'nreverse' would be faster still, but BODY would be able to see
|
||||
;; that, even if modification was reversed before we return.
|
||||
`(let* ((,v (vconcat ,list))
|
||||
(it-index (length ,v))
|
||||
it)
|
||||
(while (> it-index 0)
|
||||
(setq it-index (1- it-index))
|
||||
(setq it (aref ,v it-index))
|
||||
,@body))))
|
||||
|
||||
(defun -each-r (list fn)
|
||||
"Call FN with every item in LIST in reversed order.
|
||||
Return nil, used for side-effects only."
|
||||
(--each-r list (funcall fn it)))
|
||||
|
||||
(defmacro --each-r-while (list pred &rest body)
|
||||
"Anaphoric form of `-each-r-while'."
|
||||
(declare (debug (form form body))
|
||||
(indent 2))
|
||||
(let ((v (make-symbol "vector")))
|
||||
`(let* ((,v (vconcat ,list))
|
||||
(it-index (length ,v))
|
||||
it)
|
||||
(while (> it-index 0)
|
||||
(setq it-index (1- it-index))
|
||||
(setq it (aref ,v it-index))
|
||||
(if (not ,pred)
|
||||
(setq it-index -1)
|
||||
,@body)))))
|
||||
|
||||
(defun -each-r-while (list pred fn)
|
||||
"Call FN with every item in reversed LIST while (PRED item) is non-nil.
|
||||
Return nil, used for side-effects only."
|
||||
(--each-r-while list (funcall pred it) (funcall fn it)))
|
||||
|
||||
(defmacro --dotimes (num &rest body)
|
||||
"Repeatedly executes BODY (presumably for side-effects) with symbol `it' bound to integers from 0 through NUM-1."
|
||||
(declare (debug (form body))
|
Binary file not shown.
|
@ -0,0 +1,62 @@
|
|||
;;; diminish-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "diminish" "diminish.el" (0 0 0 0))
|
||||
;;; Generated autoloads from diminish.el
|
||||
|
||||
(autoload 'diminish "diminish" "\
|
||||
Diminish mode-line display of minor mode MODE to TO-WHAT (default \"\").
|
||||
|
||||
Interactively, enter (with completion) the name of any minor mode, followed
|
||||
on the next line by what you want it diminished to (default empty string).
|
||||
The response to neither prompt should be quoted. However, in Lisp code,
|
||||
both args must be quoted, the first as a symbol, the second as a string,
|
||||
as in (diminish 'jiggle-mode \" Jgl\").
|
||||
|
||||
The mode-line displays of minor modes usually begin with a space, so
|
||||
the modes' names appear as separate words on the mode line. However, if
|
||||
you're having problems with a cramped mode line, you may choose to use single
|
||||
letters for some modes, without leading spaces. Capitalizing them works
|
||||
best; if you then diminish some mode to \"X\" but have abbrev-mode enabled as
|
||||
well, you'll get a display like \"AbbrevX\". This function prepends a space
|
||||
to TO-WHAT if it's > 1 char long & doesn't already begin with a space.
|
||||
|
||||
\(fn MODE &optional TO-WHAT)" t nil)
|
||||
|
||||
(autoload 'diminish-undo "diminish" "\
|
||||
Restore mode-line display of diminished mode MODE to its minor-mode value.
|
||||
Do nothing if the arg is a minor mode that hasn't been diminished.
|
||||
|
||||
Interactively, enter (with completion) the name of any diminished mode (a
|
||||
mode that was formerly a minor mode on which you invoked \\[diminish]).
|
||||
To restore all diminished modes to minor status, answer `diminished-modes'.
|
||||
The response to the prompt shouldn't be quoted. However, in Lisp code,
|
||||
the arg must be quoted as a symbol, as in (diminish-undo 'diminished-modes).
|
||||
|
||||
\(fn MODE)" t nil)
|
||||
|
||||
(autoload 'diminished-modes "diminish" "\
|
||||
Echo all active diminished or minor modes as if they were minor.
|
||||
The display goes in the echo area; if it's too long even for that,
|
||||
you can see the whole thing in the *Messages* buffer.
|
||||
This doesn't change the status of any modes; it just lets you see
|
||||
what diminished modes would be on the mode-line if they were still minor.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "diminish" '("diminish")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; diminish-autoloads.el ends here
|
|
@ -0,0 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "diminish" "0.45" "Diminished modes are minor modes with no modeline display" 'nil :commit "0211de96b7cfba9c9dc8d2d392dbd4ccdb22bc65" :keywords '("extensions" "diminish" "minor" "codeprose") :authors '(("Will Mengarini" . "seldon@eskimo.com")) :maintainer '("Martin Yrjölä" . "martin.yrjola@gmail.com") :url "https://github.com/myrjola/diminish.el")
|
|
@ -0,0 +1,295 @@
|
|||
;;; diminish.el --- Diminished modes are minor modes with no modeline display
|
||||
|
||||
;; Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Will Mengarini <seldon@eskimo.com>
|
||||
;; Maintainer: Martin Yrjölä <martin.yrjola@gmail.com>
|
||||
;; URL: <https://github.com/myrjola/diminish.el>
|
||||
;; Package-Version: 0.45
|
||||
;; Created: Th 19 Feb 98
|
||||
;; Version: 0.45
|
||||
;; Keywords: extensions, diminish, minor, codeprose
|
||||
|
||||
;; This file is 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 2, 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 GNU Emacs; see the file COPYING. If not, write to the
|
||||
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Minor modes each put a word on the mode line to signify that they're
|
||||
;; active. This can cause other displays, such as % of file that point is
|
||||
;; at, to run off the right side of the screen. For some minor modes, such
|
||||
;; as mouse-avoidance-mode, the display is a waste of space, since users
|
||||
;; typically set the mode in their .emacs & never change it. For other
|
||||
;; modes, such as my jiggle-mode, it's a waste because there's already a
|
||||
;; visual indication of whether the mode is in effect.
|
||||
|
||||
;; A diminished mode is a minor mode that has had its mode line
|
||||
;; display diminished, usually to nothing, although diminishing to a
|
||||
;; shorter word or a single letter is also supported. This package
|
||||
;; implements diminished modes.
|
||||
|
||||
;; You can use this package either interactively or from your .emacs file.
|
||||
;; In either case, first you'll need to copy this file to a directory that
|
||||
;; appears in your load-path. `load-path' is the name of a variable that
|
||||
;; contains a list of directories Emacs searches for files to load.
|
||||
;; To prepend another directory to load-path, put a line like
|
||||
;; (add-to-list 'load-path "c:/My_Directory") in your .emacs file.
|
||||
|
||||
;; To create diminished modes interactively, type
|
||||
;; M-x load-library
|
||||
;; to get a prompt like
|
||||
;; Load library:
|
||||
;; and respond `diminish' (unquoted). Then type
|
||||
;; M-x diminish
|
||||
;; to get a prompt like
|
||||
;; Diminish what minor mode:
|
||||
;; and respond with the name of some minor mode, like mouse-avoidance-mode.
|
||||
;; You'll then get this prompt:
|
||||
;; To what mode-line display:
|
||||
;; Respond by just hitting <Enter> if you want the name of the mode
|
||||
;; completely removed from the mode line. If you prefer, you can abbreviate
|
||||
;; the name. If your abbreviation is 2 characters or more, such as "Av",
|
||||
;; it'll be displayed as a separate word on the mode line, just like minor
|
||||
;; modes' names. If it's a single character, such as "V", it'll be scrunched
|
||||
;; up against the previous word, so for example if the undiminished mode line
|
||||
;; display had been "Abbrev Fill Avoid", it would become "Abbrev FillV".
|
||||
;; Multiple single-letter diminished modes will all be scrunched together.
|
||||
;; The display of undiminished modes will not be affected.
|
||||
|
||||
;; To find out what the mode line would look like if all diminished modes
|
||||
;; were still minor, type M-x diminished-modes. This displays in the echo
|
||||
;; area the complete list of minor or diminished modes now active, but
|
||||
;; displays them all as minor. They remain diminished on the mode line.
|
||||
|
||||
;; To convert a diminished mode back to a minor mode, type M-x diminish-undo
|
||||
;; to get a prompt like
|
||||
;; Restore what diminished mode:
|
||||
;; Respond with the name of some diminished mode. To convert all
|
||||
;; diminished modes back to minor modes, respond to that prompt
|
||||
;; with `diminished-modes' (unquoted, & note the hyphen).
|
||||
|
||||
;; When you're responding to the prompts for mode names, you can use
|
||||
;; completion to avoid extra typing; for example, m o u SPC SPC SPC
|
||||
;; is usually enough to specify mouse-avoidance-mode. Mode names
|
||||
;; typically end in "-mode", but for historical reasons
|
||||
;; auto-fill-mode is named by "auto-fill-function".
|
||||
|
||||
;; To create diminished modes noninteractively in your .emacs file, put
|
||||
;; code like
|
||||
;; (require 'diminish)
|
||||
;; (diminish 'abbrev-mode "Abv")
|
||||
;; (diminish 'jiggle-mode)
|
||||
;; (diminish 'mouse-avoidance-mode "M")
|
||||
;; near the end of your .emacs file. It should be near the end so that any
|
||||
;; minor modes your .emacs loads will already have been loaded by the time
|
||||
;; they're to be converted to diminished modes.
|
||||
|
||||
;; To diminish a major mode, (setq mode-name "whatever") in the mode hook.
|
||||
|
||||
;;; Epigraph:
|
||||
|
||||
;; "The quality of our thoughts is bordered on all sides
|
||||
;; by our facility with language."
|
||||
;; --J. Michael Straczynski
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(defvar diminish-must-not-copy-minor-mode-alist nil
|
||||
"Non-nil means loading diminish.el won't (copy-alist minor-mode-alist).
|
||||
Normally `minor-mode-alist' is setq to that copy on loading diminish because
|
||||
at least one of its cons cells, that for abbrev-mode, is read-only (see
|
||||
ELisp Info on \"pure storage\"). If you setq this variable to t & then
|
||||
try to diminish abbrev-mode under GNU Emacs 19.34, you'll get the error
|
||||
message \"Attempt to modify read-only object\".")
|
||||
|
||||
(or diminish-must-not-copy-minor-mode-alist
|
||||
(callf copy-alist minor-mode-alist))
|
||||
|
||||
(defvar diminished-mode-alist nil
|
||||
"The original `minor-mode-alist' value of all (diminish)ed modes.")
|
||||
|
||||
(defvar diminish-history-symbols nil
|
||||
"Command history for symbols of diminished modes.")
|
||||
|
||||
(defvar diminish-history-names nil
|
||||
"Command history for names of diminished modes.")
|
||||
|
||||
;; When we diminish a mode, we are saying we want it to continue doing its
|
||||
;; work for us, but we no longer want to be reminded of it. It becomes a
|
||||
;; night worker, like a janitor; it becomes an invisible man; it remains a
|
||||
;; component, perhaps an important one, sometimes an indispensable one, of
|
||||
;; the mechanism that maintains the day-people's world, but its place in
|
||||
;; their thoughts is diminished, usually to nothing. As we grow old we
|
||||
;; diminish more and more such thoughts, such people, usually to nothing.
|
||||
|
||||
;; "The wise man knows that to keep under is to endure." The diminished
|
||||
;; often come to value their invisibility. We speak--speak--of "the strong
|
||||
;; silent type", but only as a superficiality; a stereotype in a movie,
|
||||
;; perhaps, but even if an acquaintance, necessarily, by hypothesis, a
|
||||
;; distant one. The strong silent type is actually a process. It begins
|
||||
;; with introspection, continues with judgment, and is shaped by the
|
||||
;; discovery that these judgments are impractical to share; there is no
|
||||
;; appetite for the wisdom of the self-critical among the creatures of
|
||||
;; material appetite who dominate our world. Their dominance's Darwinian
|
||||
;; implications reinforce the self-doubt that is the germ of higher wisdom.
|
||||
;; The thoughtful contemplate the evolutionary triumph of the predator.
|
||||
;; Gnostics deny the cosmos could be so evil; this must all be a prank; the
|
||||
;; thoughtful remain silent, invisible, self-diminished, and discover,
|
||||
;; perhaps at first in surprise, the freedom they thus gain, and grow strong.
|
||||
|
||||
;;;###autoload
|
||||
(defun diminish (mode &optional to-what)
|
||||
"Diminish mode-line display of minor mode MODE to TO-WHAT (default \"\").
|
||||
|
||||
Interactively, enter (with completion) the name of any minor mode, followed
|
||||
on the next line by what you want it diminished to (default empty string).
|
||||
The response to neither prompt should be quoted. However, in Lisp code,
|
||||
both args must be quoted, the first as a symbol, the second as a string,
|
||||
as in (diminish 'jiggle-mode \" Jgl\").
|
||||
|
||||
The mode-line displays of minor modes usually begin with a space, so
|
||||
the modes' names appear as separate words on the mode line. However, if
|
||||
you're having problems with a cramped mode line, you may choose to use single
|
||||
letters for some modes, without leading spaces. Capitalizing them works
|
||||
best; if you then diminish some mode to \"X\" but have abbrev-mode enabled as
|
||||
well, you'll get a display like \"AbbrevX\". This function prepends a space
|
||||
to TO-WHAT if it's > 1 char long & doesn't already begin with a space."
|
||||
(interactive (list (read (completing-read
|
||||
"Diminish what minor mode: "
|
||||
(mapcar (lambda (x) (list (symbol-name (car x))))
|
||||
minor-mode-alist)
|
||||
nil t nil 'diminish-history-symbols))
|
||||
(read-from-minibuffer
|
||||
"To what mode-line display: "
|
||||
nil nil nil 'diminish-history-names)))
|
||||
(let ((minor (assq mode minor-mode-alist)))
|
||||
(when minor
|
||||
(progn (callf or to-what "")
|
||||
(when (> (length to-what) 1)
|
||||
(or (= (string-to-char to-what) ?\ )
|
||||
(callf2 concat " " to-what)))
|
||||
(or (assq mode diminished-mode-alist)
|
||||
(push (copy-sequence minor) diminished-mode-alist))
|
||||
(setcdr minor (list to-what))))))
|
||||
|
||||
;; But an image comes to me, vivid in its unreality, of a loon alone on his
|
||||
;; forest lake, shrieking his soul out into a canopy of stars. Alone this
|
||||
;; afternoon in my warm city apartment, I can feel the bite of his night air,
|
||||
;; and smell his conifers. In him there is no acceptance of diminishment.
|
||||
|
||||
;; "I have a benevolent habit of pouring out myself to everybody,
|
||||
;; and would even pay for a listener, and I am afraid
|
||||
;; that the Athenians may think me too talkative."
|
||||
;; --Socrates, in the /Euthyphro/
|
||||
|
||||
;; I remember a news story about a retired plumber who had somehow managed to
|
||||
;; steal a military tank. He rode it down city streets, rode over a parked
|
||||
;; car--no one was hurt--rode onto a freeway, that concrete symbol of the
|
||||
;; American spirit, or so we fancy it, shouting "Plumber Bob! Plumber Bob!".
|
||||
;; He was shot dead by police.
|
||||
|
||||
;;;###autoload
|
||||
(defun diminish-undo (mode)
|
||||
"Restore mode-line display of diminished mode MODE to its minor-mode value.
|
||||
Do nothing if the arg is a minor mode that hasn't been diminished.
|
||||
|
||||
Interactively, enter (with completion) the name of any diminished mode (a
|
||||
mode that was formerly a minor mode on which you invoked \\[diminish]).
|
||||
To restore all diminished modes to minor status, answer `diminished-modes'.
|
||||
The response to the prompt shouldn't be quoted. However, in Lisp code,
|
||||
the arg must be quoted as a symbol, as in (diminish-undo 'diminished-modes)."
|
||||
(interactive
|
||||
(list (read (completing-read
|
||||
"Restore what diminished mode: "
|
||||
(cons (list "diminished-modes")
|
||||
(mapcar (lambda (x) (list (symbol-name (car x))))
|
||||
diminished-mode-alist))
|
||||
nil t nil 'diminish-history-symbols))))
|
||||
(if (eq mode 'diminished-modes)
|
||||
(let ((diminished-modes diminished-mode-alist))
|
||||
(while diminished-modes
|
||||
(diminish-undo (caar diminished-modes))
|
||||
(callf cdr diminished-modes)))
|
||||
(let ((minor (assq mode minor-mode-alist))
|
||||
(diminished (assq mode diminished-mode-alist)))
|
||||
(or minor
|
||||
(error "%S is not currently registered as a minor mode" mode))
|
||||
(when diminished
|
||||
(setcdr minor (cdr diminished))))))
|
||||
|
||||
;; Plumber Bob was not from Seattle, my grey city, for rainy Seattle is a
|
||||
;; city of interiors, a city of the self-diminished. When I moved here one
|
||||
;; sunny June I was delighted to find that ducks and geese were common in
|
||||
;; the streets. But I hoped to find a loon or two, and all I found were
|
||||
;; ducks and geese. I wondered about this; I wondered why there were no
|
||||
;; loons in Seattle; but my confusion resulted from my ignorance of the
|
||||
;; psychology of rain, which is to say my ignorance of diminished modes.
|
||||
;; What I needed, and lacked, was a way to discover they were there.
|
||||
|
||||
;;;###autoload
|
||||
(defun diminished-modes ()
|
||||
"Echo all active diminished or minor modes as if they were minor.
|
||||
The display goes in the echo area; if it's too long even for that,
|
||||
you can see the whole thing in the *Messages* buffer.
|
||||
This doesn't change the status of any modes; it just lets you see
|
||||
what diminished modes would be on the mode-line if they were still minor."
|
||||
(interactive)
|
||||
(let ((minor-modes minor-mode-alist)
|
||||
message)
|
||||
(while minor-modes
|
||||
(when (symbol-value (caar minor-modes))
|
||||
;; This minor mode is active in this buffer
|
||||
(let* ((mode-pair (car minor-modes))
|
||||
(mode (car mode-pair))
|
||||
(minor-pair (or (assq mode diminished-mode-alist) mode-pair))
|
||||
(minor-name (cadr minor-pair)))
|
||||
(when (symbolp minor-name)
|
||||
;; This minor mode uses symbol indirection in the cdr
|
||||
(let ((symbols-seen (list minor-name)))
|
||||
(while (and (symbolp (callf symbol-value minor-name))
|
||||
(not (memq minor-name symbols-seen)))
|
||||
(push minor-name symbols-seen))))
|
||||
(push minor-name message)))
|
||||
(callf cdr minor-modes))
|
||||
(setq message (mapconcat 'identity (nreverse message) ""))
|
||||
(when (= (string-to-char message) ?\ )
|
||||
(callf substring message 1))
|
||||
(message "%s" message)))
|
||||
|
||||
;; A human mind is a Black Forest of diminished modes. Some are dangerous;
|
||||
;; most of the mind of an intimate is a secret stranger, and these diminished
|
||||
;; modes are rendered more unpredictable by their long isolation from the
|
||||
;; corrective influence of interaction with reality. The student of history
|
||||
;; learns that this description applies to whole societies as well. In some
|
||||
;; ways the self-diminished are better able to discern the night worker.
|
||||
;; They are rendered safer by their heightened awareness of others'
|
||||
;; diminished modes, and more congenial by the spare blandness of their own
|
||||
;; mode lines. To some people rain is truly depressing, but others it just
|
||||
;; makes pensive, and, forcing them indoors where they may not have the
|
||||
;; luxury of solitude, teaches them to self-diminish. That was what I had
|
||||
;; not understood when I was searching for loons among the ducks and geese.
|
||||
;; Loons come to Seattle all the time, but the ones that like it learn to be
|
||||
;; silent, learn to self-diminish, and take on the colors of ducks and geese.
|
||||
;; Now, here a dozen years, I can recognize them everywhere, standing quietly
|
||||
;; in line with the ducks and geese at the espresso counter, gazing placidly
|
||||
;; out on the world through loon-red eyes, thinking secret thoughts.
|
||||
|
||||
(provide 'diminish)
|
||||
|
||||
;;; diminish.el ends here
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-dark-hard-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-dark-hard
|
||||
"A retro-groove colour theme (dark version, hard contrast)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-dark0 "#282828" "#262626")
|
||||
(gruvbox-dark0_soft "#32302f" "#303030")
|
||||
(gruvbox-dark1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-dark2 "#504945" "#4e4e4e")
|
||||
(gruvbox-dark3 "#665c54" "#626262")
|
||||
(gruvbox-dark4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#ffffc8" "#ffffd7")
|
||||
(gruvbox-light0 "#fdf4c1" "#ffffaf")
|
||||
(gruvbox-light0_soft "#f4e8ba" "#ffffaf")
|
||||
(gruvbox-light1 "#ebdbb2" "#ffdfaf")
|
||||
(gruvbox-light2 "#d5c4a1" "#bcbcbc")
|
||||
(gruvbox-light3 "#bdae93" "#a8a8a8")
|
||||
(gruvbox-light4 "#a89984" "#949494")
|
||||
|
||||
(gruvbox-bright_red "#fb4933" "#d75f5f")
|
||||
(gruvbox-bright_green "#b8bb26" "#afaf00")
|
||||
(gruvbox-bright_yellow "#fabd2f" "#ffaf00")
|
||||
(gruvbox-bright_blue "#83a598" "#87afaf")
|
||||
(gruvbox-bright_purple "#d3869b" "#d787af")
|
||||
(gruvbox-bright_aqua "#8ec07c" "#87af87")
|
||||
(gruvbox-bright_orange "#fe8019" "#ff8700")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0_hard))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-dark-hard
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-bright_red
|
||||
,gruvbox-bright_green
|
||||
,gruvbox-bright_yellow
|
||||
,gruvbox-bright_blue
|
||||
,gruvbox-bright_purple
|
||||
,gruvbox-bright_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-dark-hard)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-dark-hard-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-dark-medium-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-dark-medium
|
||||
"A retro-groove colour theme (dark version, medium contrast)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-dark0 "#282828" "#262626")
|
||||
(gruvbox-dark0_soft "#32302f" "#303030")
|
||||
(gruvbox-dark1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-dark2 "#504945" "#4e4e4e")
|
||||
(gruvbox-dark3 "#665c54" "#626262")
|
||||
(gruvbox-dark4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#ffffc8" "#ffffd7")
|
||||
(gruvbox-light0 "#fdf4c1" "#ffffaf")
|
||||
(gruvbox-light0_soft "#f4e8ba" "#ffffaf")
|
||||
(gruvbox-light1 "#ebdbb2" "#ffdfaf")
|
||||
(gruvbox-light2 "#d5c4a1" "#bcbcbc")
|
||||
(gruvbox-light3 "#bdae93" "#a8a8a8")
|
||||
(gruvbox-light4 "#a89984" "#949494")
|
||||
|
||||
(gruvbox-bright_red "#fb4933" "#d75f5f")
|
||||
(gruvbox-bright_green "#b8bb26" "#afaf00")
|
||||
(gruvbox-bright_yellow "#fabd2f" "#ffaf00")
|
||||
(gruvbox-bright_blue "#83a598" "#87afaf")
|
||||
(gruvbox-bright_purple "#d3869b" "#d787af")
|
||||
(gruvbox-bright_aqua "#8ec07c" "#87af87")
|
||||
(gruvbox-bright_orange "#fe8019" "#ff8700")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-dark-medium
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-bright_red
|
||||
,gruvbox-bright_green
|
||||
,gruvbox-bright_yellow
|
||||
,gruvbox-bright_blue
|
||||
,gruvbox-bright_purple
|
||||
,gruvbox-bright_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-dark-medium)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-dark-medium-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-dark-soft-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-dark-soft
|
||||
"A retro-groove colour theme (dark version, soft contrast)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-dark0 "#282828" "#262626")
|
||||
(gruvbox-dark0_soft "#32302f" "#303030")
|
||||
(gruvbox-dark1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-dark2 "#504945" "#4e4e4e")
|
||||
(gruvbox-dark3 "#665c54" "#626262")
|
||||
(gruvbox-dark4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#ffffc8" "#ffffd7")
|
||||
(gruvbox-light0 "#fdf4c1" "#ffffaf")
|
||||
(gruvbox-light0_soft "#f4e8ba" "#ffffaf")
|
||||
(gruvbox-light1 "#ebdbb2" "#ffdfaf")
|
||||
(gruvbox-light2 "#d5c4a1" "#bcbcbc")
|
||||
(gruvbox-light3 "#bdae93" "#a8a8a8")
|
||||
(gruvbox-light4 "#a89984" "#949494")
|
||||
|
||||
(gruvbox-bright_red "#fb4933" "#d75f5f")
|
||||
(gruvbox-bright_green "#b8bb26" "#afaf00")
|
||||
(gruvbox-bright_yellow "#fabd2f" "#ffaf00")
|
||||
(gruvbox-bright_blue "#83a598" "#87afaf")
|
||||
(gruvbox-bright_purple "#d3869b" "#d787af")
|
||||
(gruvbox-bright_aqua "#8ec07c" "#87af87")
|
||||
(gruvbox-bright_orange "#fe8019" "#ff8700")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0_soft))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-dark-soft
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-bright_red
|
||||
,gruvbox-bright_green
|
||||
,gruvbox-bright_yellow
|
||||
,gruvbox-bright_blue
|
||||
,gruvbox-bright_purple
|
||||
,gruvbox-bright_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-dark-soft)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-dark-soft-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-light-hard-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-light-hard
|
||||
"A retro-groove colour theme (light version, hard contrast)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#f9f5d7" "#ffffd7")
|
||||
(gruvbox-dark0 "#fbf1c7" "#ffffd7")
|
||||
(gruvbox-dark0_soft "#f2e5bc" "#ffffd7")
|
||||
(gruvbox-dark1 "#ebdbb2" "#ffffaf")
|
||||
(gruvbox-dark2 "#d5c4a1" "#d7d6af")
|
||||
(gruvbox-dark3 "#bdae93" "#afaf87")
|
||||
(gruvbox-dark4 "#a89984" "#afafaf")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-light0 "#282828" "#262626")
|
||||
(gruvbox-light0_soft "#32302f" "#303030")
|
||||
(gruvbox-light1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-light2 "#504945" "#4e4e4e")
|
||||
(gruvbox-light3 "#665c54" "#626262")
|
||||
(gruvbox-light4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-bright_red "#9d0006" "#870000")
|
||||
(gruvbox-bright_green "#79740e" "#878700")
|
||||
(gruvbox-bright_yellow "#b57614" "#af8700")
|
||||
(gruvbox-bright_blue "#076678" "#005f87")
|
||||
(gruvbox-bright_purple "#8f3f71" "#875f87")
|
||||
(gruvbox-bright_aqua "#427b58" "#5f8787")
|
||||
(gruvbox-bright_orange "#af3a03" "#af5f00")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0_hard))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-light-hard
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-faded_red
|
||||
,gruvbox-faded_green
|
||||
,gruvbox-faded_yellow
|
||||
,gruvbox-faded_blue
|
||||
,gruvbox-faded_purple
|
||||
,gruvbox-faded_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-light-hard)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-light-hard-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-light-medium-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-light-medium
|
||||
"A retro-groove colour theme (light version, medium contrast)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#f9f5d7" "#ffffd7")
|
||||
(gruvbox-dark0 "#fbf1c7" "#ffffd7")
|
||||
(gruvbox-dark0_soft "#f2e5bc" "#ffffd7")
|
||||
(gruvbox-dark1 "#ebdbb2" "#ffffaf")
|
||||
(gruvbox-dark2 "#d5c4a1" "#d7d6af")
|
||||
(gruvbox-dark3 "#bdae93" "#afaf87")
|
||||
(gruvbox-dark4 "#a89984" "#afafaf")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-light0 "#282828" "#262626")
|
||||
(gruvbox-light0_soft "#32302f" "#303030")
|
||||
(gruvbox-light1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-light2 "#504945" "#4e4e4e")
|
||||
(gruvbox-light3 "#665c54" "#626262")
|
||||
(gruvbox-light4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-bright_red "#9d0006" "#870000")
|
||||
(gruvbox-bright_green "#79740e" "#878700")
|
||||
(gruvbox-bright_yellow "#b57614" "#af8700")
|
||||
(gruvbox-bright_blue "#076678" "#005f87")
|
||||
(gruvbox-bright_purple "#8f3f71" "#875f87")
|
||||
(gruvbox-bright_aqua "#427b58" "#5f8787")
|
||||
(gruvbox-bright_orange "#af3a03" "#af5f00")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-light-medium
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-faded_red
|
||||
,gruvbox-faded_green
|
||||
,gruvbox-faded_yellow
|
||||
,gruvbox-faded_blue
|
||||
,gruvbox-faded_purple
|
||||
,gruvbox-faded_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-light-medium)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-light-medium-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,137 @@
|
|||
;;; gruvbox-light-soft-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox-light-soft
|
||||
"A retro-groove colour theme (light version)"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#f9f5d7" "#ffffd7")
|
||||
(gruvbox-dark0 "#fbf1c7" "#ffffd7")
|
||||
(gruvbox-dark0_soft "#f2e5bc" "#ffffd7")
|
||||
(gruvbox-dark1 "#ebdbb2" "#ffffaf")
|
||||
(gruvbox-dark2 "#d5c4a1" "#d7d6af")
|
||||
(gruvbox-dark3 "#bdae93" "#afaf87")
|
||||
(gruvbox-dark4 "#a89984" "#afafaf")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-light0 "#282828" "#262626")
|
||||
(gruvbox-light0_soft "#32302f" "#303030")
|
||||
(gruvbox-light1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-light2 "#504945" "#4e4e4e")
|
||||
(gruvbox-light3 "#665c54" "#626262")
|
||||
(gruvbox-light4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-bright_red "#9d0006" "#870000")
|
||||
(gruvbox-bright_green "#79740e" "#878700")
|
||||
(gruvbox-bright_yellow "#b57614" "#af8700")
|
||||
(gruvbox-bright_blue "#076678" "#005f87")
|
||||
(gruvbox-bright_purple "#8f3f71" "#875f87")
|
||||
(gruvbox-bright_aqua "#427b58" "#5f8787")
|
||||
(gruvbox-bright_orange "#af3a03" "#af5f00")
|
||||
|
||||
(gruvbox-faded_red "#cc241d" "#d75f5f")
|
||||
(gruvbox-faded_green "#98971a" "#afaf00")
|
||||
(gruvbox-faded_yellow "#d79921" "#ffaf00")
|
||||
(gruvbox-faded_blue "#458588" "#87afaf")
|
||||
(gruvbox-faded_purple "#b16286" "#d787af")
|
||||
(gruvbox-faded_aqua "#689d6a" "#87af87")
|
||||
(gruvbox-faded_orange "#d65d0e" "#ff8700")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvbox-darkslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0_soft))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox-light-soft
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox-dark1
|
||||
,gruvbox-bright_red
|
||||
,gruvbox-bright_green
|
||||
,gruvbox-bright_yellow
|
||||
,gruvbox-bright_blue
|
||||
,gruvbox-bright_purple
|
||||
,gruvbox-bright_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox-light-soft)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-light-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,83 @@
|
|||
;;; gruvbox-theme-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "gruvbox" "gruvbox.el" (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "gruvbox" '("gruvbox-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-dark-hard-theme" "gruvbox-dark-hard-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-dark-hard-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-dark-medium-theme" "gruvbox-dark-medium-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-dark-medium-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-dark-soft-theme" "gruvbox-dark-soft-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-dark-soft-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-light-hard-theme" "gruvbox-light-hard-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-light-hard-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-light-medium-theme" "gruvbox-light-medium-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-light-medium-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-light-soft-theme" "gruvbox-light-soft-theme.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-light-soft-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "gruvbox-theme" "gruvbox-theme.el" (0 0 0 0))
|
||||
;;; Generated autoloads from gruvbox-theme.el
|
||||
|
||||
(and load-file-name (boundp 'custom-theme-load-path) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil nil ("gruvbox-theme-pkg.el") (0 0 0 0))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; gruvbox-theme-autoloads.el ends here
|
|
@ -0,0 +1,10 @@
|
|||
(define-package "gruvbox-theme" "20180624.309" "A retro-groove colour theme for Emacs"
|
||||
'((autothemer "0.2"))
|
||||
:authors
|
||||
'(("Jason Milkins" . "jasonm23@gmail.com"))
|
||||
:maintainer
|
||||
'("Jason Milkins" . "jasonm23@gmail.com")
|
||||
:url "http://github.com/greduan/emacs-theme-gruvbox")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
|
@ -0,0 +1,147 @@
|
|||
;;; gruvbox-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017-2018 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'gruvbox)
|
||||
|
||||
(gruvbox-deftheme
|
||||
gruvbox
|
||||
"A retro-groove colour theme"
|
||||
|
||||
((((class color) (min-colors #xFFFFFF)) ; col 1 GUI/24bit
|
||||
((class color) (min-colors #xFF))) ; col 2 Xterm/256
|
||||
|
||||
(gruvbox-dark0_hard "#1d2021" "#1c1c1c")
|
||||
(gruvbox-dark0 "#282828" "#262626")
|
||||
(gruvbox-dark0_soft "#32302f" "#303030")
|
||||
(gruvbox-dark1 "#3c3836" "#3a3a3a")
|
||||
(gruvbox-dark2 "#504945" "#4e4e4e")
|
||||
(gruvbox-dark3 "#665c54" "#626262")
|
||||
(gruvbox-dark4 "#7c6f64" "#767676")
|
||||
|
||||
(gruvbox-gray "#928374" "#8a8a8a")
|
||||
|
||||
(gruvbox-light0_hard "#ffffc8" "#ffffd7")
|
||||
(gruvbox-light0 "#fdf4c1" "#ffffaf")
|
||||
(gruvbox-light0_soft "#f4e8ba" "#ffffaf")
|
||||
(gruvbox-light1 "#ebdbb2" "#ffdfaf")
|
||||
(gruvbox-light2 "#d5c4a1" "#bcbcbc")
|
||||
(gruvbox-light3 "#bdae93" "#a8a8a8")
|
||||
(gruvbox-light4 "#a89984" "#949494")
|
||||
|
||||
(gruvbox-bright_red "#fb4933" "#d75f5f")
|
||||
(gruvbox-bright_green "#b8bb26" "#afaf00")
|
||||
(gruvbox-bright_yellow "#fabd2f" "#ffaf00")
|
||||
(gruvbox-bright_blue "#83a598" "#87afaf")
|
||||
(gruvbox-bright_purple "#d3869b" "#d787af")
|
||||
(gruvbox-bright_aqua "#8ec07c" "#87af87")
|
||||
(gruvbox-bright_orange "#fe8019" "#ff8700")
|
||||
|
||||
(gruvbox-neutral_red "#fb4934" "#d75f5f")
|
||||
(gruvbox-neutral_green "#b8bb26" "#afaf00")
|
||||
(gruvbox-neutral_yellow "#fabd2f" "#ffaf00")
|
||||
(gruvbox-neutral_blue "#83a598" "#87afaf")
|
||||
(gruvbox-neutral_purple "#d3869b" "#d787af")
|
||||
(gruvbox-neutral_aqua "#8ec07c" "#87af87")
|
||||
(gruvbox-neutral_orange "#fe8019" "#ff8700")
|
||||
|
||||
(gruvbox-faded_red "#9d0006" "#870000")
|
||||
(gruvbox-faded_green "#79740e" "#878700")
|
||||
(gruvbox-faded_yellow "#b57614" "#af8700")
|
||||
(gruvbox-faded_blue "#076678" "#005f87")
|
||||
(gruvbox-faded_purple "#8f3f71" "#875f87")
|
||||
(gruvbox-faded_aqua "#427b58" "#5f8787")
|
||||
(gruvbox-faded_orange "#af3a03" "#af5f00")
|
||||
|
||||
(gruvbox-dark_red "#421E1E" "#5f0000")
|
||||
(gruvbox-dark_blue "#2B3C44" "#000087")
|
||||
(gruvbox-dark_aqua "#36473A" "#005f5f")
|
||||
|
||||
(gruvbox-delimiter-one "#458588" "#008787")
|
||||
(gruvbox-delimiter-two "#b16286" "#d75f87")
|
||||
(gruvbox-delimiter-three "#8ec07c" "#87af87")
|
||||
(gruvbox-delimiter-four "#d65d0e" "#d75f00")
|
||||
(gruvbox-white "#FFFFFF" "#FFFFFF")
|
||||
(gruvbox-black "#000000" "#000000")
|
||||
(gruvbox-sienna "#DD6F48" "#d7875f")
|
||||
(gruvboxslategray4 "#528B8B" "#5f8787")
|
||||
(gruvbox-lightblue4 "#66999D" "#5fafaf")
|
||||
(gruvbox-burlywood4 "#BBAA97" "#afaf87")
|
||||
(gruvbox-aquamarine4 "#83A598" "#87af87")
|
||||
(gruvbox-turquoise4 "#61ACBB" "#5fafaf")
|
||||
|
||||
(gruvbox-bg gruvbox-dark0))
|
||||
|
||||
(custom-theme-set-variables 'gruvbox
|
||||
`(ansi-color-names-vector
|
||||
[,gruvbox1
|
||||
,gruvbox-neutral_red
|
||||
,gruvbox-neutral_green
|
||||
,gruvbox-neutral_yellow
|
||||
,gruvbox-neutral_blue
|
||||
,gruvbox-neutral_purple
|
||||
,gruvbox-neutral_aqua
|
||||
,gruvbox-light1])))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'gruvbox)
|
||||
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-theme.el ends here
|
Binary file not shown.
|
@ -0,0 +1,595 @@
|
|||
;;; gruvbox-dark-theme.el --- A retro-groove colour theme for Emacs
|
||||
|
||||
;; Copyright (c) 2013 Lee Machin
|
||||
;; Copyright (c) 2013-2016 Eduardo Lavaque
|
||||
;; Copyright (c) 2016-2017 Jason Milkins
|
||||
;; Copyright (c) 2017 Martijn Terpstra
|
||||
|
||||
;; Author: Jason Milkins <jasonm23@gmail.com>
|
||||
;; (current maintainer)
|
||||
;;
|
||||
;; Author-list: Lee Machin <ljmachin@gmail.com>,
|
||||
;; Eduardo Lavaque <me@greduan.com>
|
||||
;;
|
||||
;; URL: http://github.com/greduan/emacs-theme-gruvbox
|
||||
;; Version: 1.26.0
|
||||
|
||||
;; Package-Requires: ((autothemer "0.2"))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Using autothemer since 1.00
|
||||
|
||||
;; A port of the Gruvbox colorscheme for Vim, built on top of the new built-in
|
||||
;; theme support in Emacs 24.
|
||||
;;
|
||||
;; This theme contains my own modifications and it's a bit opinionated
|
||||
;; sometimes, deviating from the original because of it. I try to stay
|
||||
;; true to the original as much as possible, however. I only make
|
||||
;; changes where I would have made the changes on the original.
|
||||
;;
|
||||
;; Since there is no direct equivalent in syntax highlighting from Vim to Emacs
|
||||
;; some stuff may look different, especially in stuff like JS2-mode, where it
|
||||
;; adds stuff that Vim doesn't have, in terms of syntax.
|
||||
|
||||
;;; Credits:
|
||||
|
||||
;; Pavel Pertsev created the original theme for Vim, on which this port
|
||||
;; is based.
|
||||
|
||||
;; Lee Machin created the first port of the original theme, which
|
||||
;; Greduan developed further adding support for several major modes.
|
||||
;;
|
||||
;; Jason Milkins (ocodo) has maintained the theme since 2015 and is
|
||||
;; working with the community to add further mode support and align
|
||||
;; the project more closely with Vim Gruvbox.
|
||||
;;
|
||||
;; Martijn Terpstra has been a major contributor since mid 2017 and
|
||||
;; helped to re-implement Gruvbox with autothemer so we can have
|
||||
;; multiple variants of Gruvbox (as we do on Vim). Martijn has also
|
||||
;; provided a large number mode support enhancements.
|
||||
|
||||
;;; Code:
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
|
||||
(require 'autothemer)
|
||||
|
||||
(unless (>= emacs-major-version 24)
|
||||
(error "Requires Emacs 24 or later"))
|
||||
;;;###autoload
|
||||
(and load-file-name
|
||||
(boundp 'custom-theme-load-path)
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory
|
||||
(file-name-directory load-file-name))))
|
||||
|
||||
(defvar gruvbox-screenshot-command "scrot -u %s%s.png"
|
||||
"Command used to take automated screenshots for gruvbox.
|
||||
Should contain 2 %s constructs to allow for theme name and directory/prefix")
|
||||
|
||||
(defun gruvbox-screenshot (prefix)
|
||||
"Take a screenshot of all versions of the gruvbox theme"
|
||||
(interactive "sScreenshot Prefix: ")
|
||||
(dolist (theme '(gruvbox-light-soft
|
||||
gruvbox-light-medium
|
||||
gruvbox-light-hard
|
||||
gruvbox-dark-soft
|
||||
gruvbox-dark-medium
|
||||
gruvbox-dark-hard))
|
||||
(load-theme theme t)
|
||||
(redisplay t)
|
||||
(shell-command (format gruvbox-screenshot-command
|
||||
prefix theme))))
|
||||
|
||||
(defmacro gruvbox-deftheme (name description palette reduced-specs &rest body)
|
||||
`(autothemer-deftheme
|
||||
,name
|
||||
,description
|
||||
,palette
|
||||
((default (:background gruvbox-bg :foreground gruvbox-light0))
|
||||
(cursor (:background gruvbox-light0))
|
||||
(mode-line (:background gruvbox-dark3 :foreground gruvbox-light2 :box nil))
|
||||
(mode-line-inactive (:background gruvbox-dark1 :foreground gruvbox-light4 :box nil))
|
||||
(fringe (:background gruvbox-bg))
|
||||
(hl-line (:background gruvbox-dark1))
|
||||
(region (:background gruvbox-dark2)) ;;selection
|
||||
(secondary-selection (:background gruvbox-dark1))
|
||||
(minibuffer-prompt (:background gruvbox-bg :foreground gruvbox-bright_green :bold t))
|
||||
(vertical-border (:foreground gruvbox-dark2))
|
||||
(window-divider (:foreground gruvbox-dark2))
|
||||
(link (:foreground gruvbox-faded_blue :underline t))
|
||||
(shadow (:foreground gruvbox-dark4))
|
||||
|
||||
;; Built-in syntax
|
||||
|
||||
(font-lock-builtin-face (:foreground gruvbox-bright_orange))
|
||||
(font-lock-constant-face (:foreground gruvbox-bright_purple))
|
||||
(font-lock-comment-face (:foreground gruvbox-dark4))
|
||||
(font-lock-function-name-face (:foreground gruvbox-bright_yellow))
|
||||
(font-lock-keyword-face (:foreground gruvbox-bright_red))
|
||||
(font-lock-string-face (:foreground gruvbox-bright_green))
|
||||
(font-lock-variable-name-face (:foreground gruvbox-bright_blue))
|
||||
(font-lock-type-face (:foreground gruvbox-bright_purple))
|
||||
(font-lock-warning-face (:foreground gruvbox-bright_red :bold t))
|
||||
|
||||
;; Basic faces
|
||||
(error (:foreground gruvbox-bright_red :bold t))
|
||||
(success (:foreground gruvbox-bright_green :bold t))
|
||||
(warning (:foreground gruvbox-bright_yellow :bold t))
|
||||
(trailing-whitespace (:background gruvbox-bright_red))
|
||||
(escape-glyph (:foreground gruvbox-bright_aqua))
|
||||
(header-line (:background gruvbox-dark0 :foreground gruvbox-light3 :box nil :inherit nil))
|
||||
(highlight (:background gruvbox-dark4 :foreground gruvbox-light0))
|
||||
(homoglyph (:foreground gruvbox-bright_yellow))
|
||||
(match (:foreground gruvbox-dark0 :background gruvbox-bright_blue))
|
||||
|
||||
;; Customize faces
|
||||
(widget-field (:background gruvbox-dark3))
|
||||
(custom-group-tag (:foreground gruvbox-bright_blue :weight 'bold))
|
||||
(custom-variable-tag (:foreground gruvbox-bright_blue :weight 'bold))
|
||||
|
||||
;; whitespace-mode
|
||||
|
||||
(whitespace-space (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-hspace (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-tab (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-newline (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-trailing (:background gruvbox-dark1 :foreground gruvbox-bright_red))
|
||||
(whitespace-line (:background gruvbox-dark1 :foreground gruvbox-bright_red))
|
||||
(whitespace-space-before-tab (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-indentation (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
(whitespace-empty (:background nil :foreground nil))
|
||||
(whitespace-space-after-tab (:background gruvbox-bg :foreground gruvbox-dark4))
|
||||
|
||||
;; RainbowDelimiters
|
||||
|
||||
(rainbow-delimiters-depth-1-face (:foreground gruvbox-delimiter-one))
|
||||
(rainbow-delimiters-depth-2-face (:foreground gruvbox-delimiter-two))
|
||||
(rainbow-delimiters-depth-3-face (:foreground gruvbox-delimiter-three))
|
||||
(rainbow-delimiters-depth-4-face (:foreground gruvbox-delimiter-four))
|
||||
(rainbow-delimiters-depth-5-face (:foreground gruvbox-delimiter-one))
|
||||
(rainbow-delimiters-depth-6-face (:foreground gruvbox-delimiter-two))
|
||||
(rainbow-delimiters-depth-7-face (:foreground gruvbox-delimiter-three))
|
||||
(rainbow-delimiters-depth-8-face (:foreground gruvbox-delimiter-four))
|
||||
(rainbow-delimiters-depth-9-face (:foreground gruvbox-delimiter-one))
|
||||
(rainbow-delimiters-depth-10-face (:foreground gruvbox-delimiter-two))
|
||||
(rainbow-delimiters-depth-11-face (:foreground gruvbox-delimiter-three))
|
||||
(rainbow-delimiters-depth-12-face (:foreground gruvbox-delimiter-four))
|
||||
(rainbow-delimiters-unmatched-face (:background nil :foreground gruvbox-light0))
|
||||
|
||||
|
||||
;; line numbers
|
||||
(line-number (:foreground gruvbox-dark4 :background gruvbox-dark1))
|
||||
(line-number-current-line (:foreground gruvbox-bright_orange :background gruvbox-dark2))
|
||||
(linum (:foreground gruvbox-dark4 :background gruvbox-dark1))
|
||||
(linum-highlight-face (:foreground gruvbox-bright_orange :background gruvbox-dark2))
|
||||
(linum-relative-current-face (:foreground gruvbox-bright_orange :background gruvbox-dark2))
|
||||
|
||||
;; Highlight indentation mode
|
||||
(highlight-indentation-current-column-face (:background gruvbox-dark2))
|
||||
(highlight-indentation-face (:background gruvbox-dark1))
|
||||
|
||||
;; smartparens
|
||||
(sp-pair-overlay-face (:background gruvbox-dark2))
|
||||
(sp-show-pair-match-face (:background gruvbox-dark2)) ;; Pair tags highlight
|
||||
(sp-show-pair-mismatch-face (:background gruvbox-bright_red)) ;; Highlight for bracket without pair
|
||||
;;(sp-wrap-overlay-face (:inherit 'sp-wrap-overlay-face))
|
||||
;;(sp-wrap-tag-overlay-face (:inherit 'sp-wrap-overlay-face))
|
||||
|
||||
;; elscreen
|
||||
(elscreen-tab-background-face (:background gruvbox-bg :box nil)) ;; Tab bar, not the tabs
|
||||
(elscreen-tab-control-face (:background gruvbox-dark2 :foreground gruvbox-bright_red :underline nil :box nil)) ;; The controls
|
||||
(elscreen-tab-current-screen-face (:background gruvbox-dark4 :foreground gruvbox-dark0 :box nil)) ;; Current tab
|
||||
(elscreen-tab-other-screen-face (:background gruvbox-dark2 :foreground gruvbox-light4 :underline nil :box nil)) ;; Inactive tab
|
||||
|
||||
;; ag (The Silver Searcher)
|
||||
(ag-hit-face (:foreground gruvbox-bright_blue))
|
||||
(ag-match-face (:foreground gruvbox-bright_red))
|
||||
|
||||
;; Diffs
|
||||
(diff-changed (:background nil :foreground gruvbox-light1))
|
||||
(diff-added (:background nil :foreground gruvbox-bright_green))
|
||||
(diff-removed (:background nil :foreground gruvbox-bright_red))
|
||||
(diff-indicator-changed (:inherit 'diff-changed))
|
||||
(diff-indicator-added (:inherit 'diff-added))
|
||||
(diff-indicator-removed (:inherit 'diff-removed))
|
||||
|
||||
(js2-warning (:underline (:color gruvbox-bright_yellow :style 'wave)))
|
||||
(js2-error (:underline (:color gruvbox-bright_red :style 'wave)))
|
||||
(js2-external-variable (:underline (:color gruvbox-bright_aqua :style 'wave)))
|
||||
(js2-jsdoc-tag (:background nil :foreground gruvbox-gray ))
|
||||
(js2-jsdoc-type (:background nil :foreground gruvbox-light4))
|
||||
(js2-jsdoc-value (:background nil :foreground gruvbox-light3))
|
||||
(js2-function-param (:background nil :foreground gruvbox-bright_aqua))
|
||||
(js2-function-call (:background nil :foreground gruvbox-bright_blue))
|
||||
(js2-instance-member (:background nil :foreground gruvbox-bright_orange))
|
||||
(js2-private-member (:background nil :foreground gruvbox-faded_yellow))
|
||||
(js2-private-function-call (:background nil :foreground gruvbox-faded_aqua))
|
||||
(js2-jsdoc-html-tag-name (:background nil :foreground gruvbox-light4))
|
||||
(js2-jsdoc-html-tag-delimiter (:background nil :foreground gruvbox-light3))
|
||||
|
||||
;; popup
|
||||
(popup-face (:underline nil :foreground gruvbox-light1 :background gruvbox-dark1))
|
||||
(popup-menu-mouse-face (:underline nil :foreground gruvbox-light0 :background gruvbox-faded_green))
|
||||
(popup-menu-selection-face (:underline nil :foreground gruvbox-light0 :background gruvbox-faded_green))
|
||||
(popup-tip-face (:underline nil :foreground gruvbox-light2 :background gruvbox-dark2))
|
||||
|
||||
;; helm
|
||||
(helm-M-x-key (:foreground gruvbox-bright_orange ))
|
||||
(helm-action (:foreground gruvbox-white :underline t))
|
||||
(helm-bookmark-addressbook (:foreground gruvbox-bright_red))
|
||||
(helm-bookmark-directory (:foreground gruvbox-bright_purple))
|
||||
(helm-bookmark-file (:foreground gruvbox-faded_blue))
|
||||
(helm-bookmark-gnus (:foreground gruvbox-faded_purple))
|
||||
(helm-bookmark-info (:foreground gruvbox-turquoise4))
|
||||
(helm-bookmark-man (:foreground gruvbox-sienna))
|
||||
(helm-bookmark-w3m (:foreground gruvbox-bright_yellow))
|
||||
(helm-buffer-directory (:foreground gruvbox-white :background gruvbox-bright_blue))
|
||||
(helm-buffer-not-saved (:foreground gruvbox-faded_red))
|
||||
(helm-buffer-process (:foreground gruvbox-burlywood4))
|
||||
(helm-buffer-saved-out (:foreground gruvbox-bright_red))
|
||||
(helm-buffer-size (:foreground gruvbox-bright_purple))
|
||||
(helm-candidate-number (:foreground gruvbox-bright_green))
|
||||
(helm-ff-directory (:foreground gruvbox-bright_purple))
|
||||
(helm-ff-executable (:foreground gruvbox-turquoise4))
|
||||
(helm-ff-file (:foreground gruvbox-sienna))
|
||||
(helm-ff-invalid-symlink (:foreground gruvbox-white :background gruvbox-bright_red))
|
||||
(helm-ff-prefix (:foreground gruvbox-black :background gruvbox-bright_yellow))
|
||||
(helm-ff-symlink (:foreground gruvbox-bright_orange))
|
||||
(helm-grep-cmd-line (:foreground gruvbox-bright_green))
|
||||
(helm-grep-file (:foreground gruvbox-faded_purple))
|
||||
(helm-grep-finish (:foreground gruvbox-turquoise4))
|
||||
(helm-grep-lineno (:foreground gruvbox-bright_orange))
|
||||
(helm-grep-match (:foreground gruvbox-bright_yellow))
|
||||
(helm-grep-running (:foreground gruvbox-bright_red))
|
||||
(helm-header (:foreground gruvbox-aquamarine4))
|
||||
(helm-helper (:foreground gruvbox-aquamarine4))
|
||||
(helm-history-deleted (:foreground gruvbox-black :background gruvbox-bright_red))
|
||||
(helm-history-remote (:foreground gruvbox-faded_red))
|
||||
(helm-lisp-completion-info (:foreground gruvbox-faded_orange))
|
||||
(helm-lisp-show-completion (:foreground gruvbox-bright_red))
|
||||
(helm-locate-finish (:foreground gruvbox-white :background gruvbox-aquamarine4))
|
||||
(helm-match (:foreground gruvbox-bright_orange))
|
||||
(helm-moccur-buffer (:foreground gruvbox-bright_aqua :underline t))
|
||||
(helm-prefarg (:foreground gruvbox-turquoise4))
|
||||
(helm-selection (:foreground gruvbox-white :background gruvbox-dark2))
|
||||
(helm-selection-line (:foreground gruvbox-white :background gruvbox-dark2))
|
||||
(helm-separator (:foreground gruvbox-faded_red))
|
||||
(helm-source-header (:foreground gruvbox-light2))
|
||||
(helm-visible-mark (:foreground gruvbox-black :background gruvbox-light3))
|
||||
|
||||
;; company-mode
|
||||
(company-scrollbar-bg (:background gruvbox-dark1))
|
||||
(company-scrollbar-fg (:background gruvbox-dark0_soft))
|
||||
(company-tooltip (:background gruvbox-dark0_soft))
|
||||
(company-tooltip-annotation (:foreground gruvbox-bright_green))
|
||||
(company-tooltip-annotation-selection (:inherit 'company-tooltip-annotation))
|
||||
(company-tooltip-selection (:foreground gruvbox-bright_purple :background gruvbox-dark2))
|
||||
(company-tooltip-common (:foreground gruvbox-bright_blue :underline t))
|
||||
(company-tooltip-common-selection (:foreground gruvbox-bright_blue :underline t))
|
||||
(company-preview-common (:foreground gruvbox-light0))
|
||||
(company-preview (:background gruvbox-lightblue4))
|
||||
(company-preview-search (:background gruvbox-turquoise4))
|
||||
(company-template-field (:foreground gruvbox-black :background gruvbox-bright_yellow))
|
||||
(company-echo-common (:foreground gruvbox-faded_red))
|
||||
|
||||
;; tool tips
|
||||
(tooltip (:foreground gruvbox-light1 :background gruvbox-dark1))
|
||||
|
||||
;; term
|
||||
(term-color-black (:foreground gruvbox-dark2 :background gruvbox-dark1))
|
||||
(term-color-blue (:foreground gruvbox-bright_blue :background gruvbox-bright_blue))
|
||||
(term-color-cyan (:foreground gruvbox-bright_aqua :background gruvbox-bright_aqua))
|
||||
(term-color-green (:foreground gruvbox-bright_green :background gruvbox-bright_green))
|
||||
(term-color-magenta (:foreground gruvbox-bright_purple :background gruvbox-bright_purple))
|
||||
(term-color-red (:foreground gruvbox-bright_red :background gruvbox-bright_red))
|
||||
(term-color-white (:foreground gruvbox-light1 :background gruvbox-light1))
|
||||
(term-color-yellow (:foreground gruvbox-bright_yellow :background gruvbox-bright_yellow))
|
||||
(term-default-fg-color (:foreground gruvbox-light0))
|
||||
(term-default-bg-color (:background gruvbox-bg))
|
||||
|
||||
;; message-mode
|
||||
(message-header-to (:inherit 'font-lock-variable-name-face))
|
||||
(message-header-cc (:inherit 'font-lock-variable-name-face))
|
||||
(message-header-subject (:foreground gruvbox-bright_orange :weight 'bold))
|
||||
(message-header-newsgroups (:foreground gruvbox-bright_yellow :weight 'bold))
|
||||
(message-header-other (:inherit 'font-lock-variable-name-face))
|
||||
(message-header-name (:inherit 'font-lock-keyword-face))
|
||||
(message-header-xheader (:foreground gruvbox-faded_blue))
|
||||
(message-separator (:inherit 'font-lock-comment-face))
|
||||
(message-cited-text (:inherit 'font-lock-comment-face))
|
||||
(message-mml (:foreground gruvbox-faded_green :weight 'bold))
|
||||
|
||||
;; org-mode
|
||||
(org-hide (:foreground gruvbox-dark0))
|
||||
(org-level-1 (:foreground gruvbox-bright_blue))
|
||||
(org-level-2 (:foreground gruvbox-bright_yellow))
|
||||
(org-level-3 (:foreground gruvbox-bright_purple))
|
||||
(org-level-4 (:foreground gruvbox-bright_red))
|
||||
(org-level-5 (:foreground gruvbox-bright_green))
|
||||
(org-level-6 (:foreground gruvbox-bright_aqua))
|
||||
(org-level-7 (:foreground gruvbox-faded_blue))
|
||||
(org-level-8 (:foreground gruvbox-bright_orange))
|
||||
(org-special-keyword (:inherit 'font-lock-comment-face))
|
||||
(org-drawer (:inherit 'font-lock-function-face))
|
||||
(org-column (:background gruvbox-dark0))
|
||||
(org-column-title (:background gruvbox-dark0 :underline t :weight 'bold))
|
||||
(org-warning (:foreground gruvbox-bright_red :weight 'bold :underline nil :bold t))
|
||||
(org-archived (:foreground gruvbox-light0 :weight 'bold))
|
||||
(org-link (:foreground gruvbox-faded_aqua :underline t))
|
||||
(org-footnote (:foreground gruvbox-bright_aqua :underline t))
|
||||
(org-ellipsis (:foreground gruvbox-light4))
|
||||
(org-date (:foreground gruvbox-bright_blue :underline t))
|
||||
(org-sexp-date (:foreground gruvbox-faded_blue :underline t))
|
||||
(org-tag (:bold t :weight 'bold))
|
||||
(org-list-dt (:bold t :weight 'bold))
|
||||
(org-todo (:foreground gruvbox-bright_red :weight 'bold :bold t))
|
||||
(org-done (:foreground gruvbox-bright_aqua :weight 'bold :bold t))
|
||||
(org-agenda-done (:foreground gruvbox-bright_aqua))
|
||||
(org-headline-done (:foreground gruvbox-bright_aqua))
|
||||
(org-table (:foreground gruvbox-bright_blue))
|
||||
(org-formula (:foreground gruvbox-bright_yellow))
|
||||
(org-document-title (:foreground gruvbox-faded_blue))
|
||||
(org-document-info (:foreground gruvbox-faded_blue))
|
||||
(org-agenda-structure (:inherit 'font-lock-comment-face))
|
||||
(org-agenda-date-today (:foreground gruvbox-light0 :weight 'bold :italic t))
|
||||
(org-scheduled (:foreground gruvbox-bright_yellow))
|
||||
(org-scheduled-today (:foreground gruvbox-bright_blue))
|
||||
(org-scheduled-previously (:foreground gruvbox-faded_red))
|
||||
(org-upcoming-deadline (:inherit 'font-lock-keyword-face))
|
||||
(org-deadline-announce (:foreground gruvbox-faded_red))
|
||||
(org-time-grid (:foreground gruvbox-faded_orange))
|
||||
(org-latex-and-related (:foreground gruvbox-bright_blue))
|
||||
|
||||
;; org-habit
|
||||
(org-habit-clear-face (:background gruvbox-faded_blue))
|
||||
(org-habit-clear-future-face (:background gruvbox-bright_blue))
|
||||
(org-habit-ready-face (:background gruvbox-faded_green))
|
||||
(org-habit-ready-future-face (:background gruvbox-bright_green))
|
||||
(org-habit-alert-face (:background gruvbox-faded_yellow))
|
||||
(org-habit-alert-future-face (:background gruvbox-bright_yellow))
|
||||
(org-habit-overdue-face (:background gruvbox-faded_red))
|
||||
(org-habit-overdue-future-face (:background gruvbox-bright_red))
|
||||
|
||||
;; elfeed
|
||||
(elfeed-search-title-face (:foreground gruvbox-gray ))
|
||||
(elfeed-search-unread-title-face (:foreground gruvbox-light0))
|
||||
(elfeed-search-date-face (:inherit 'font-lock-builtin-face :underline t))
|
||||
(elfeed-search-feed-face (:inherit 'font-lock-variable-name-face))
|
||||
(elfeed-search-tag-face (:inherit 'font-lock-keyword-face))
|
||||
(elfeed-search-last-update-face (:inherit 'font-lock-comment-face))
|
||||
(elfeed-search-unread-count-face (:inherit 'font-lock-comment-face))
|
||||
(elfeed-search-filter-face (:inherit 'font-lock-string-face))
|
||||
|
||||
;; smart-mode-line
|
||||
(sml/global (:foreground gruvbox-burlywood4 :inverse-video nil))
|
||||
(sml/modes (:foreground gruvbox-bright_green))
|
||||
(sml/filename (:foreground gruvbox-bright_red :weight 'bold))
|
||||
(sml/prefix (:foreground gruvbox-light1))
|
||||
(sml/read-only (:foreground gruvbox-bright_blue))
|
||||
(persp-selected-face (:foreground gruvbox-bright_orange))
|
||||
|
||||
;; powerline
|
||||
(powerline-active0 (:background gruvbox-dark4 :foreground gruvbox-light0))
|
||||
(powerline-active1 (:background gruvbox-dark3 :foreground gruvbox-light0))
|
||||
(powerline-active2 (:background gruvbox-dark2 :foreground gruvbox-light0))
|
||||
(powerline-inactive0 (:background gruvbox-dark2 :foreground gruvbox-light4))
|
||||
(powerline-inactive1 (:background gruvbox-dark1 :foreground gruvbox-light4))
|
||||
(powerline-inactive2 (:background gruvbox-dark0 :foreground gruvbox-light4))
|
||||
|
||||
;; isearch
|
||||
(isearch (:foreground gruvbox-black :background gruvbox-bright_orange))
|
||||
(lazy-highlight (:foreground gruvbox-black :background gruvbox-bright_yellow))
|
||||
(isearch-fail (:foreground gruvbox-light0 :background gruvbox-bright_red))
|
||||
|
||||
;; markdown-mode
|
||||
(markdown-header-face-1 (:foreground gruvbox-bright_blue))
|
||||
(markdown-header-face-2 (:foreground gruvbox-bright_yellow))
|
||||
(markdown-header-face-3 (:foreground gruvbox-bright_purple))
|
||||
(markdown-header-face-4 (:foreground gruvbox-bright_red))
|
||||
(markdown-header-face-5 (:foreground gruvbox-bright_green))
|
||||
(markdown-header-face-6 (:foreground gruvbox-bright_aqua))
|
||||
|
||||
;; anzu-mode
|
||||
(anzu-mode-line (:foreground gruvbox-bright_yellow :weight 'bold))
|
||||
(anzu-match-1 (:background gruvbox-bright_green))
|
||||
(anzu-match-2 (:background gruvbox-faded_yellow))
|
||||
(anzu-match-3 (:background gruvbox-aquamarine4))
|
||||
(anzu-replace-to (:foreground gruvbox-bright_yellow))
|
||||
(anzu-replace-highlight (:inherit 'isearch))
|
||||
|
||||
;; ace-jump-mode
|
||||
(ace-jump-face-background (:foreground gruvbox-light4 :background gruvbox-bg :inverse-video nil))
|
||||
(ace-jump-face-foreground (:foreground gruvbox-bright_red :background gruvbox-bg :inverse-video nil))
|
||||
|
||||
;; ace-window
|
||||
(aw-background-face (:forground gruvbox-light1 :background gruvbox-bg :inverse-video nil))
|
||||
(aw-leading-char-face (:foreground gruvbox-bright_red :background gruvbox-bg :height 4.0))
|
||||
|
||||
;; show-paren
|
||||
(show-paren-match (:background gruvbox-dark3 :foreground gruvbox-bright_blue :weight 'bold))
|
||||
(show-paren-mismatch (:background gruvbox-bright_red :foreground gruvbox-dark3 :weight 'bold))
|
||||
|
||||
;; ivy
|
||||
(ivy-current-match (:foreground gruvbox-light0_hard :weight 'bold :underline t))
|
||||
(ivy-minibuffer-match-face-1 (:foreground gruvbox-bright_orange))
|
||||
(ivy-minibuffer-match-face-2 (:foreground gruvbox-bright_yellow))
|
||||
(ivy-minibuffer-match-face-3 (:foreground gruvbox-faded_orange))
|
||||
(ivy-minibuffer-match-face-4 (:foreground gruvbox-faded_yellow))
|
||||
|
||||
;; ido
|
||||
(ido-only-match (:foreground gruvbox-faded_green))
|
||||
(ido-first-match (:foreground gruvbox-faded_green))
|
||||
(ido-subdir (:foreground gruvbox-faded_red))
|
||||
|
||||
;; magit
|
||||
(magit-bisect-bad (:foreground gruvbox-faded_red))
|
||||
(magit-bisect-good (:foreground gruvbox-faded_green))
|
||||
(magit-bisect-skip (:foreground gruvbox-faded_yellow))
|
||||
(magit-blame-heading (:foreground gruvbox-light0 :background gruvbox-dark2))
|
||||
(magit-branch-local (:foreground gruvbox-bright_blue))
|
||||
(magit-branch-current (:underline gruvbox-bright_blue :inherit 'magit-branch-local))
|
||||
(magit-branch-remote (:foreground gruvbox-bright_green))
|
||||
(magit-cherry-equivalent (:foreground gruvbox-bright_purple))
|
||||
(magit-cherry-unmatched (:foreground gruvbox-bright_aqua))
|
||||
(magit-diff-added (:foreground gruvbox-bright_green))
|
||||
(magit-diff-added-highlight (:foreground gruvbox-bright_green :inherit 'magit-diff-context-highlight))
|
||||
(magit-diff-base (:background gruvbox-faded_yellow :foreground gruvbox-light2))
|
||||
(magit-diff-base-highlight (:background gruvbox-faded_yellow :foreground gruvbox-light0))
|
||||
(magit-diff-context (:foreground gruvbox-dark1 :foreground gruvbox-light1))
|
||||
(magit-diff-context-highlight (:background gruvbox-dark1 :foreground gruvbox-light0))
|
||||
(magit-diff-hunk-heading (:background gruvbox-dark3 :foreground gruvbox-light2))
|
||||
(magit-diff-hunk-heading-highlight (:background gruvbox-dark2 :foreground gruvbox-light0))
|
||||
(magit-diff-hunk-heading-selection (:background gruvbox-dark2 :foreground gruvbox-bright_orange))
|
||||
(magit-diff-lines-heading (:background gruvbox-faded_orange :foreground gruvbox-light0))
|
||||
(magit-diff-removed (:foreground gruvbox-bright_red))
|
||||
(magit-diff-removed-highlight (:foreground gruvbox-bright_red :inherit 'magit-diff-context-highlight))
|
||||
(magit-diffstat-added (:foreground gruvbox-faded_green))
|
||||
(magit-diffstat-removed (:foreground gruvbox-faded_red))
|
||||
(magit-dimmed (:foreground gruvbox-dark4))
|
||||
(magit-hash (:foreground gruvbox-bright_blue))
|
||||
(magit-log-author (:foreground gruvbox-bright_red))
|
||||
(magit-log-date (:foreground gruvbox-bright_aqua))
|
||||
(magit-log-graph (:foreground gruvbox-dark4))
|
||||
(magit-process-ng (:foreground gruvbox-bright_red :weight 'bold))
|
||||
(magit-process-ok (:foreground gruvbox-bright_green :weight 'bold))
|
||||
(magit-reflog-amend (:foreground gruvbox-bright_purple))
|
||||
(magit-reflog-checkout (:foreground gruvbox-bright_blue))
|
||||
(magit-reflog-cherry-pick (:foreground gruvbox-bright_green))
|
||||
(magit-reflog-commit (:foreground gruvbox-bright_green))
|
||||
(magit-reflog-merge (:foreground gruvbox-bright_green))
|
||||
(magit-reflog-other (:foreground gruvbox-bright_aqua))
|
||||
(magit-reflog-rebase (:foreground gruvbox-bright_purple))
|
||||
(magit-reflog-remote (:foreground gruvbox-bright_blue))
|
||||
(magit-reflog-reset (:foreground gruvbox-bright_red))
|
||||
(magit-refname (:foreground gruvbox-light4))
|
||||
(magit-section-heading (:foreground gruvbox-bright_yellow :weight 'bold))
|
||||
(magit-section-heading-selection (:foreground gruvbox-faded_yellow))
|
||||
(magit-section-highlight (:background gruvbox-dark1))
|
||||
(magit-sequence-drop (:foreground gruvbox-faded_yellow))
|
||||
(magit-sequence-head (:foreground gruvbox-bright_aqua))
|
||||
(magit-sequence-part (:foreground gruvbox-bright_yellow))
|
||||
(magit-sequence-stop (:foreground gruvbox-bright_green))
|
||||
(magit-signature-bad (:foreground gruvbox-bright_red :weight 'bold))
|
||||
(magit-signature-error (:foreground gruvbox-bright_red))
|
||||
(magit-signature-expired (:foreground gruvbox-bright_orange))
|
||||
(magit-signature-good (:foreground gruvbox-bright_green))
|
||||
(magit-signature-revoked (:foreground gruvbox-bright_purple))
|
||||
(magit-signature-untrusted (:foreground gruvbox-bright_blue))
|
||||
(magit-tag (:foreground gruvbox-bright_yellow))
|
||||
|
||||
;; git-gutter
|
||||
(git-gutter:modified (:background gruvbox-faded_blue :foreground gruvbox-faded_blue))
|
||||
(git-gutter:added (:background gruvbox-faded_green :foreground gruvbox-faded_green))
|
||||
(git-gutter:deleted (:background gruvbox-faded_red :foreground gruvbox-faded_red))
|
||||
|
||||
;; git-gutter+
|
||||
(git-gutter+-modified (:foreground gruvbox-faded_blue :background gruvbox-faded_blue))
|
||||
(git-gutter+-added (:foreground gruvbox-faded_green :background gruvbox-faded_green))
|
||||
(git-gutter+-deleted (:foreground gruvbox-faded_red :background gruvbox-faded_red))
|
||||
|
||||
;; git-gutter-fringe
|
||||
(git-gutter-fr:modified (:inherit 'git-gutter:modified))
|
||||
(git-gutter-fr:added (:inherit 'git-gutter:added))
|
||||
(git-gutter-fr:deleted (:inherit 'git-gutter:deleted))
|
||||
|
||||
;; flyspell
|
||||
(flyspell-duplicate (:underline (:color gruvbox-light4 :style 'line)))
|
||||
(flyspell-incorrect (:underline (:color gruvbox-bright_red :style 'line)))
|
||||
|
||||
;; langtool
|
||||
(langtool-errline (:foreground gruvbox-dark0 :background gruvbox-bright_red))
|
||||
(langtool-correction-face (:foreground gruvbox-bright_yellow :weight 'bold))
|
||||
|
||||
;; latex
|
||||
(font-latex-bold-face (:foreground gruvbox-faded_green :bold t))
|
||||
(font-latex-italic-face (:foreground gruvbox-bright_green :underline t))
|
||||
(font-latex-math-face (:foreground gruvbox-light3))
|
||||
(font-latex-script-char-face (:foreground gruvbox-faded_aqua))
|
||||
(font-latex-sectioning-5-face (:foreground gruvbox-bright_yellow :bold t))
|
||||
(font-latex-sedate-face (:foreground gruvbox-light4))
|
||||
(font-latex-string-face (:foreground gruvbox-bright_orange))
|
||||
(font-latex-verbatim-face (:foreground gruvbox-light4))
|
||||
(font-latex-warning-face (:foreground gruvbox-bright_red :weight 'bold))
|
||||
(preview-face (:background gruvbox-dark1))
|
||||
|
||||
;; mu4e
|
||||
(mu4e-header-key-face (:foreground gruvbox-bright_green :weight 'bold ))
|
||||
(mu4e-unread-face (:foreground gruvbox-bright_blue :weight 'bold ))
|
||||
(mu4e-highlight-face (:foreground gruvbox-bright_green))
|
||||
|
||||
;; shell script
|
||||
(sh-quoted-exec (:foreground gruvbox-bright_purple))
|
||||
(sh-heredoc (:foreground gruvbox-bright_orange))
|
||||
|
||||
;; undo-tree
|
||||
(undo-tree-visualizer-active-branch-face (:foreground gruvbox-light0))
|
||||
(undo-tree-visualizer-current-face (:foreground gruvbox-bright_red))
|
||||
(undo-tree-visualizer-default-face (:foreground gruvbox-dark4))
|
||||
(undo-tree-visualizer-register-face (:foreground gruvbox-bright_yellow))
|
||||
(undo-tree-visualizer-unmodified-face (:foreground gruvbox-bright_aqua))
|
||||
|
||||
;; widget faces
|
||||
(widget-button-pressed-face (:foreground gruvbox-bright_red))
|
||||
(widget-documentation-face (:foreground gruvbox-faded_green))
|
||||
(widget-field (:foreground gruvbox-light0 :background gruvbox-dark2))
|
||||
(widget-single-line-field (:foreground gruvbox-light0 :background gruvbox-dark2))
|
||||
|
||||
;; dired+
|
||||
(diredp-file-name (:foreground gruvbox-light2))
|
||||
(diredp-file-suffix (:foreground gruvbox-light4))
|
||||
(diredp-compressed-file-suffix (:foreground gruvbox-faded_blue))
|
||||
(diredp-dir-name (:foreground gruvbox-faded_blue))
|
||||
(diredp-dir-heading (:foreground gruvbox-bright_blue))
|
||||
(diredp-symlink (:foreground gruvbox-bright_orange))
|
||||
(diredp-date-time (:foreground gruvbox-light3))
|
||||
(diredp-number (:foreground gruvbox-faded_blue))
|
||||
(diredp-no-priv (:foreground gruvbox-dark4))
|
||||
(diredp-other-priv (:foreground gruvbox-dark2))
|
||||
(diredp-rare-priv (:foreground gruvbox-dark4))
|
||||
(diredp-ignored-file-name (:foreground gruvbox-dark4))
|
||||
|
||||
(diredp-dir-priv (:foreground gruvbox-faded_blue :background gruvbox-dark_blue))
|
||||
(diredp-exec-priv (:foreground gruvbox-faded_blue :background gruvbox-dark_blue))
|
||||
(diredp-link-priv (:foreground gruvbox-faded_aqua :background gruvbox-dark_aqua))
|
||||
(diredp-read-priv (:foreground gruvbox-bright_red :background gruvbox-dark_red))
|
||||
(diredp-write-priv (:foreground gruvbox-bright_aqua :background gruvbox-dark_aqua))
|
||||
|
||||
;; eshell
|
||||
(eshell-prompt-face (:foreground gruvbox-bright_aqua))
|
||||
(eshell-ls-archive-face (:foreground gruvbox-light3))
|
||||
(eshell-ls-backup-face (:foreground gruvbox-light4))
|
||||
(eshell-ls-clutter-face (:foreground gruvbox-bright_orange :weight 'bold))
|
||||
(eshell-ls-directory-face (:foreground gruvbox-bright_yellow))
|
||||
(eshell-ls-executable-face (:weight 'bold))
|
||||
(eshell-ls-missing-face (:foreground gruvbox-bright_red :bold t))
|
||||
(eshell-ls-product-face (:foreground gruvbox-faded_red))
|
||||
(eshell-ls-readonly-face (:foreground gruvbox-light2))
|
||||
(eshell-ls-special-face (:foreground gruvbox-bright_yellow :bold t))
|
||||
(eshell-ls-symlink-face (:foreground gruvbox-bright_red))
|
||||
(eshell-ls-unreadable-face (:foreground gruvbox-bright_red :bold t))
|
||||
|
||||
;; tabbar
|
||||
(tabbar-default (:foreground gruvbox-light0 :background gruvbox-dark3 :bold nil :height 1.0 :box (:line-width -5 :color gruvbox-dark3)))
|
||||
(tabbar-separator (:foreground gruvbox-light0 :background gruvbox-dark3))
|
||||
(tabbar-highlight (:inherit 'highlight))
|
||||
(tabbar-button (:foreground gruvbox-dark3 :background gruvbox-dark3 :box nil :line-width 0))
|
||||
(tabbar-button-highlight (:inherit 'tabbar-button :inverse-video t))
|
||||
(tabbar-modified (:foreground gruvbox-bright_green :background gruvbox-dark3 :box (:line-width -5 :color gruvbox-dark3)))
|
||||
(tabbar-unselected (:inherit 'tabbar-default))
|
||||
(tabbar-unselected-modified (:inherit 'tabbar-modified))
|
||||
(tabbar-selected (:inherit 'tabbar-default :foreground gruvbox-bright_yellow))
|
||||
(tabbar-selected-modified (:inherit 'tabbar-selected))
|
||||
|
||||
;; which-function-mode
|
||||
(which-func (:foreground gruvbox-faded_blue)))
|
||||
,@body))
|
||||
|
||||
(provide 'gruvbox)
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
|
||||
;; End:
|
||||
|
||||
;;; gruvbox-dark-theme.el ends here
|
Binary file not shown.
|
@ -1,2 +0,0 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "htmlize" "1.53" "Convert buffer text and decorations to HTML." 'nil :commit "1bc2f1b0feb852fa5a289a1d72646b16ac84adf1" :keywords '("hypermedia" "extensions") :authors '(("Hrvoje Niksic" . "hniksic@gmail.com")) :maintainer '("Hrvoje Niksic" . "hniksic@gmail.com"))
|
|
@ -0,0 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "htmlize" "20180412.1944" "Convert buffer text and decorations to HTML." 'nil :commit "315a8f23cfd3e87642ff9e30ae3300c7a84244d5" :keywords '("hypermedia" "extensions") :authors '(("Hrvoje Niksic" . "hniksic@gmail.com")) :maintainer '("Hrvoje Niksic" . "hniksic@gmail.com"))
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
;; Author: Hrvoje Niksic <hniksic@gmail.com>
|
||||
;; Keywords: hypermedia, extensions
|
||||
;; Package-Version: 1.53
|
||||
;; Version: 1.53
|
||||
;; Package-Version: 20180412.1944
|
||||
;; Version: 1.54
|
||||
|
||||
;; 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
|
||||
|
@ -88,7 +88,7 @@
|
|||
(defvar font-lock-support-mode)
|
||||
(defvar global-font-lock-mode))
|
||||
|
||||
(defconst htmlize-version "1.53")
|
||||
(defconst htmlize-version "1.54")
|
||||
|
||||
(defgroup htmlize nil
|
||||
"Convert buffer text and faces to HTML."
|
||||
|
@ -1276,6 +1276,24 @@ overlays that specify `face'."
|
|||
faces :test 'equal))))
|
||||
faces))
|
||||
|
||||
(if (>= emacs-major-version 25)
|
||||
(defun htmlize-sorted-overlays-at (pos)
|
||||
(overlays-at pos t))
|
||||
|
||||
(defun htmlize-sorted-overlays-at (pos)
|
||||
;; Like OVERLAYS-AT with the SORTED argument, for older Emacsen.
|
||||
(let ((overlays (overlays-at pos)))
|
||||
(setq overlays (sort* overlays #'<
|
||||
:key (lambda (o)
|
||||
(- (overlay-end o) (overlay-start o)))))
|
||||
(setq overlays
|
||||
(stable-sort overlays #'<
|
||||
:key (lambda (o)
|
||||
(let ((prio (overlay-get o 'priority)))
|
||||
(if (numberp prio) prio 0)))))
|
||||
(nreverse overlays))))
|
||||
|
||||
|
||||
;; htmlize-faces-at-point returns the faces in use at point. The
|
||||
;; faces are sorted by increasing priority, i.e. the last face takes
|
||||
;; precedence.
|
||||
|
@ -1295,10 +1313,7 @@ overlays that specify `face'."
|
|||
;; Collect overlays at point that specify `face'.
|
||||
(delete-if-not (lambda (o)
|
||||
(overlay-get o 'face))
|
||||
(nreverse
|
||||
(if (>= emacs-major-version 25)
|
||||
(overlays-at (point) t)
|
||||
(overlays-at (point))))))
|
||||
(nreverse (htmlize-sorted-overlays-at (point)))))
|
||||
list face-prop)
|
||||
(dolist (overlay overlays)
|
||||
(setq face-prop (overlay-get overlay 'face)
|
Binary file not shown.
|
@ -1,53 +0,0 @@
|
|||
This package converts the buffer text and the associated
|
||||
decorations to HTML. Mail to <hniksic@gmail.com> to discuss
|
||||
features and additions. All suggestions are more than welcome.
|
||||
|
||||
To use it, just switch to the buffer you want HTML-ized and type
|
||||
`M-x htmlize-buffer'. You will be switched to a new buffer that
|
||||
contains the resulting HTML code. You can edit and inspect this
|
||||
buffer, or you can just save it with C-x C-w. `M-x htmlize-file'
|
||||
will find a file, fontify it, and save the HTML version in
|
||||
FILE.html, without any additional intervention. `M-x
|
||||
htmlize-many-files' allows you to htmlize any number of files in
|
||||
the same manner. `M-x htmlize-many-files-dired' does the same for
|
||||
files marked in a dired buffer.
|
||||
|
||||
htmlize supports three types of HTML output, selected by setting
|
||||
`htmlize-output-type': `css', `inline-css', and `font'. In `css'
|
||||
mode, htmlize uses cascading style sheets to specify colors; it
|
||||
generates classes that correspond to Emacs faces and uses <span
|
||||
class=FACE>...</span> to color parts of text. In this mode, the
|
||||
produced HTML is valid under the 4.01 strict DTD, as confirmed by
|
||||
the W3C validator. `inline-css' is like `css', except the CSS is
|
||||
put directly in the STYLE attribute of the SPAN element, making it
|
||||
possible to paste the generated HTML into existing HTML documents.
|
||||
In `font' mode, htmlize uses <font color="...">...</font> to
|
||||
colorize HTML, which is not standard-compliant, but works better in
|
||||
older browsers. `css' mode is the default.
|
||||
|
||||
You can also use htmlize from your Emacs Lisp code. When called
|
||||
non-interactively, `htmlize-buffer' and `htmlize-region' will
|
||||
return the resulting HTML buffer, but will not change current
|
||||
buffer or move the point. htmlize will do its best to work on
|
||||
non-windowing Emacs sessions but the result will be limited to
|
||||
colors supported by the terminal.
|
||||
|
||||
htmlize aims for compatibility with older Emacs versions. Please
|
||||
let me know if it doesn't work on the version of GNU Emacs that you
|
||||
are using. The package relies on the presence of CL extensions;
|
||||
please don't try to remove that dependency. I see no practical
|
||||
problems with using the full power of the CL extensions, except
|
||||
that one might learn to like them too much.
|
||||
|
||||
The latest version is available at:
|
||||
|
||||
<https://github.com/hniksic/emacs-htmlize>
|
||||
|
||||
|
||||
Thanks go to the many people who have sent reports and contributed
|
||||
comments, suggestions, and fixes. They include Ron Gut, Bob
|
||||
Weiner, Toni Drabik, Peter Breton, Ville Skytta, Thomas Vogels,
|
||||
Juri Linkov, Maciek Pasternacki, and many others.
|
||||
|
||||
User quotes: "You sir, are a sick, sick, _sick_ person. :)"
|
||||
-- Bill Perry, author of Emacs/W3
|
|
@ -1,124 +0,0 @@
|
|||
;;; colir.el --- Color blending library -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; This file 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.
|
||||
|
||||
;; For a full copy of the GNU General Public License
|
||||
;; see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This package solves the problem of adding a face with a background
|
||||
;; to text which may already have a background. In all conflicting
|
||||
;; areas, instead of choosing either the original or the new
|
||||
;; background face, their blended sum is used.
|
||||
;;
|
||||
;; The blend mode functions are taken from URL
|
||||
;; `http://en.wikipedia.org/wiki/Blend_modes'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'color)
|
||||
|
||||
(defcustom colir-compose-method #'colir-compose-alpha
|
||||
"Select a method to compose two color channels."
|
||||
:group 'ivy
|
||||
:type '(radio
|
||||
(function-item colir-compose-alpha)
|
||||
(function-item colir-compose-overlay)
|
||||
(function-item colir-compose-soft-light)))
|
||||
|
||||
(defun colir-compose-soft-light (a b)
|
||||
"Compose A and B channels."
|
||||
(if (< b 0.5)
|
||||
(+ (* 2 a b) (* a a (- 1 b b)))
|
||||
(+ (* 2 a (- 1 b)) (* (sqrt a) (- (* 2 b) 1)))))
|
||||
|
||||
(defun colir-compose-overlay (a b)
|
||||
"Compose A and B channels."
|
||||
(if (< a 0.5)
|
||||
(* 2 a b)
|
||||
(- 1 (* 2 (- 1 a) (- 1 b)))))
|
||||
|
||||
(defun colir-compose-alpha (a b &optional alpha gamma)
|
||||
"Compose A and B channels.
|
||||
Optional argument ALPHA is a number between 0.0 and 1.0 which corresponds
|
||||
to the influence of A on the result. Default value is 0.5.
|
||||
Optional argument GAMMA is used for gamma correction. Default value is 2.2."
|
||||
(setq alpha (or alpha 0.5))
|
||||
(setq gamma (or gamma 2.2))
|
||||
(+ (* (expt a gamma) alpha) (* (expt b gamma) (- 1 alpha))))
|
||||
|
||||
(defun colir-blend (c1 c2)
|
||||
"Blend the two colors C1 and C2 using `colir-compose-method'.
|
||||
C1 and C2 are triples of floats in [0.0 1.0] range."
|
||||
(apply #'color-rgb-to-hex
|
||||
(cl-mapcar
|
||||
(if (eq (frame-parameter nil 'background-mode) 'dark)
|
||||
;; this method works nicely for dark themes
|
||||
'colir-compose-soft-light
|
||||
colir-compose-method)
|
||||
c1 c2)))
|
||||
|
||||
(defun colir-color-parse (color)
|
||||
"Convert string COLOR to triple of floats in [0.0 1.0]."
|
||||
(if (string-match "#\\([[:xdigit:]]\\{2\\}\\)\\([[:xdigit:]]\\{2\\}\\)\\([[:xdigit:]]\\{2\\}\\)" color)
|
||||
(mapcar (lambda (v) (/ (string-to-number v 16) 255.0))
|
||||
(list (match-string 1 color) (match-string 2 color) (match-string 3 color)))
|
||||
;; does not work properly in terminal (maps color to nearest color
|
||||
;; from available color palette).
|
||||
(color-name-to-rgb color)))
|
||||
|
||||
(defun colir--blend-background (start next prevn face object)
|
||||
(let ((background-prev (face-background prevn)))
|
||||
(progn
|
||||
(put-text-property
|
||||
start next 'face
|
||||
(if background-prev
|
||||
(cons `(background-color
|
||||
. ,(colir-blend
|
||||
(colir-color-parse background-prev)
|
||||
(colir-color-parse (face-background face nil t))))
|
||||
prevn)
|
||||
(list face prevn))
|
||||
object))))
|
||||
|
||||
(defun colir-blend-face-background (start end face &optional object)
|
||||
"Append to the face property of the text from START to END the face FACE.
|
||||
When the text already has a face with a non-plain background,
|
||||
blend it with the background of FACE.
|
||||
Optional argument OBJECT is the string or buffer containing the text.
|
||||
See also `font-lock-append-text-property'."
|
||||
(let (next prev prevn)
|
||||
(while (/= start end)
|
||||
(setq next (next-single-property-change start 'face object end))
|
||||
(setq prev (get-text-property start 'face object))
|
||||
(setq prevn (if (listp prev)
|
||||
(cl-find-if #'atom prev)
|
||||
prev))
|
||||
(cond
|
||||
((or (keywordp (car-safe prev)) (consp (car-safe prev)))
|
||||
(put-text-property start next 'face (cons face prev) object))
|
||||
((facep prevn)
|
||||
(colir--blend-background start next prevn face object))
|
||||
(t
|
||||
(put-text-property start next 'face face object)))
|
||||
(setq start next))))
|
||||
|
||||
(provide 'colir)
|
||||
|
||||
;;; colir.el ends here
|
Binary file not shown.
|
@ -1,154 +0,0 @@
|
|||
;;; ivy-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "colir" "colir.el" (0 0 0 0))
|
||||
;;; Generated autoloads from colir.el
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "colir" '("colir-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "ivy" "ivy.el" (0 0 0 0))
|
||||
;;; Generated autoloads from ivy.el
|
||||
|
||||
(autoload 'ivy-resume "ivy" "\
|
||||
Resume the last completion session.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'ivy-read "ivy" "\
|
||||
Read a string in the minibuffer, with completion.
|
||||
|
||||
PROMPT is a format string, normally ending in a colon and a
|
||||
space; %d anywhere in the string is replaced by the current
|
||||
number of matching candidates. For the literal % character,
|
||||
escape it with %%. See also `ivy-count-format'.
|
||||
|
||||
COLLECTION is either a list of strings, a function, an alist, or
|
||||
a hash table.
|
||||
|
||||
PREDICATE is applied to filter out the COLLECTION immediately.
|
||||
This argument is for `completing-read' compat.
|
||||
|
||||
When REQUIRE-MATCH is non-nil, only members of COLLECTION can be
|
||||
selected, i.e. custom text.
|
||||
|
||||
If INITIAL-INPUT is not nil, then insert that input in the
|
||||
minibuffer initially.
|
||||
|
||||
HISTORY is a name of a variable to hold the completion session
|
||||
history.
|
||||
|
||||
KEYMAP is composed with `ivy-minibuffer-map'.
|
||||
|
||||
If PRESELECT is not nil, then select the corresponding candidate
|
||||
out of the ones that match the INITIAL-INPUT.
|
||||
|
||||
DEF is for compatibility with `completing-read'.
|
||||
|
||||
UPDATE-FN is called each time the current candidate(s) is changed.
|
||||
|
||||
When SORT is t, use `ivy-sort-functions-alist' for sorting.
|
||||
|
||||
ACTION is a lambda function to call after selecting a result. It
|
||||
takes a single string argument.
|
||||
|
||||
UNWIND is a lambda function to call before exiting.
|
||||
|
||||
RE-BUILDER is a lambda function to call to transform text into a
|
||||
regex pattern.
|
||||
|
||||
MATCHER is to override matching.
|
||||
|
||||
DYNAMIC-COLLECTION is a boolean to specify if the list of
|
||||
candidates is updated after each input by calling COLLECTION.
|
||||
|
||||
CALLER is a symbol to uniquely identify the caller to `ivy-read'.
|
||||
It is used, along with COLLECTION, to determine which
|
||||
customizations apply to the current completion session.
|
||||
|
||||
\(fn PROMPT COLLECTION &key PREDICATE REQUIRE-MATCH INITIAL-INPUT HISTORY PRESELECT DEF KEYMAP UPDATE-FN SORT ACTION UNWIND RE-BUILDER MATCHER DYNAMIC-COLLECTION CALLER)" nil nil)
|
||||
|
||||
(autoload 'ivy-completing-read "ivy" "\
|
||||
Read a string in the minibuffer, with completion.
|
||||
|
||||
This interface conforms to `completing-read' and can be used for
|
||||
`completing-read-function'.
|
||||
|
||||
PROMPT is a string that normally ends in a colon and a space.
|
||||
COLLECTION is either a list of strings, an alist, an obarray, or a hash table.
|
||||
PREDICATE limits completion to a subset of COLLECTION.
|
||||
REQUIRE-MATCH is a boolean value. See `completing-read'.
|
||||
INITIAL-INPUT is a string inserted into the minibuffer initially.
|
||||
HISTORY is a list of previously selected inputs.
|
||||
DEF is the default value.
|
||||
INHERIT-INPUT-METHOD is currently ignored.
|
||||
|
||||
\(fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HISTORY DEF INHERIT-INPUT-METHOD)" nil nil)
|
||||
|
||||
(defvar ivy-mode nil "\
|
||||
Non-nil if Ivy mode is enabled.
|
||||
See the `ivy-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `ivy-mode'.")
|
||||
|
||||
(custom-autoload 'ivy-mode "ivy" nil)
|
||||
|
||||
(autoload 'ivy-mode "ivy" "\
|
||||
Toggle Ivy mode on or off.
|
||||
Turn Ivy mode on if ARG is positive, off otherwise.
|
||||
Turning on Ivy mode sets `completing-read-function' to
|
||||
`ivy-completing-read'.
|
||||
|
||||
Global bindings:
|
||||
\\{ivy-mode-map}
|
||||
|
||||
Minibuffer bindings:
|
||||
\\{ivy-minibuffer-map}
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'ivy-switch-buffer "ivy" "\
|
||||
Switch to another buffer.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'ivy-switch-view "ivy" "\
|
||||
Switch to one of the window views stored by `ivy-push-view'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'ivy-switch-buffer-other-window "ivy" "\
|
||||
Switch to another buffer in another window.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ivy" '("ivy-" "with-ivy-window")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "ivy-overlay" "ivy-overlay.el" (0 0 0 0))
|
||||
;;; Generated autoloads from ivy-overlay.el
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ivy-overlay" '("ivy-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil nil ("ivy-pkg.el") (0 0 0 0))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; ivy-autoloads.el ends here
|
|
@ -1,138 +0,0 @@
|
|||
* Ivy Generic Help
|
||||
|
||||
=ivy= is an Emacs incremental completion framework.
|
||||
|
||||
- Narrow the list by typing some pattern,
|
||||
- Multiple patterns are allowed by separating with a space,
|
||||
- Select with ~C-n~ and ~C-p~, choose with ~RET~.
|
||||
|
||||
** Help
|
||||
|
||||
- ~C-h m~ :: Pop to this generic help buffer.
|
||||
|
||||
** Basic Operations
|
||||
*** Key bindings for navigation
|
||||
|
||||
- ~C-n~ (=ivy-next-line=) :: next candidate.
|
||||
- ~C-p~ (=ivy-previous-line=) :: previous candidate.
|
||||
- ~C-v~ (=ivy-scroll-up-command=) :: next page.
|
||||
- ~M-v~ (=ivy-scroll-down-command=) :: previous page.
|
||||
- ~M-<~ (=ivy-beginning-of-buffer=) :: first candidate.
|
||||
- ~M->~ (=ivy-end-of-buffer=) :: last candidate.
|
||||
|
||||
*** Key bindings for single selection
|
||||
|
||||
When selecting a candidate, an action is called on it. You can think
|
||||
of an action as a function that takes the selected candidate as an
|
||||
argument and does something with it.
|
||||
|
||||
Ivy can offer several actions from which to choose. This can be
|
||||
independently composed with whether you want to end completion when
|
||||
the action is called. Depending on this, the short term is either
|
||||
"calling an action" or "exiting with action".
|
||||
|
||||
~C-m~ or ~RET~ (=ivy-done=) - exit with the current action.
|
||||
|
||||
~M-o~ (=ivy-dispatching-done=) - select an action and exit with it.
|
||||
|
||||
~C-j~ (=ivy-alt-done=) - when the candidate is a directory, enter
|
||||
it. Otherwise, exit with the current action.
|
||||
|
||||
~TAB~ (=ivy-partial-or-done=) - attempt partial completion, extending
|
||||
the current input as much as possible. ~TAB TAB~ is the same as ~C-j~.
|
||||
|
||||
~C-M-j~ (=ivy-immediate-done=) - exit with the current action, calling
|
||||
it on the /current input/ instead of the current candidate. This is
|
||||
useful especially when creating new files or directories - often the
|
||||
input will match an existing file, which you don't want to select.
|
||||
|
||||
~C-'~ (=ivy-avy=) - select a candidate from the current page with avy
|
||||
and exit with the current action.
|
||||
|
||||
** Advanced Operations
|
||||
*** Key bindings for multiple selection
|
||||
|
||||
For repeatedly applying multiple actions or acting on multiple
|
||||
candidates, Ivy does not close the minibuffer between commands. It
|
||||
keeps the minibuffer open for applying subsequent actions.
|
||||
|
||||
Adding an extra meta key to the normal key chord invokes the special
|
||||
version of the regular commands that enables applying multiple
|
||||
actions.
|
||||
|
||||
~C-M-m~ (=ivy-call=) is the non-exiting version of ~C-m~ (=ivy-done=).
|
||||
|
||||
~C-M-n~ (=ivy-next-line-and-call=) combines ~C-n~ and ~C-M-m~.
|
||||
|
||||
~C-M-p~ (=ivy-previous-line-and-call=) combines ~C-p~ and ~C-M-m~.
|
||||
|
||||
~C-M-o~ (=ivy-dispatching-call=) is a non-exiting version of ~M-o~
|
||||
(=ivy-dispatching-done=).
|
||||
|
||||
*** Key bindings that alter the minibuffer input
|
||||
|
||||
~M-n~ (=ivy-next-history-element=) select the next history element or
|
||||
symbol/URL at point.
|
||||
|
||||
~M-p~ (=ivy-previous-history-element=) select the previous history
|
||||
element.
|
||||
|
||||
~C-r~ (=ivy-reverse-i-search=) start a recursive completion session to
|
||||
select a history element.
|
||||
|
||||
~M-i~ (=ivy-insert-current=) insert the current candidate into the
|
||||
minibuffer. Useful for copying and renaming files, for example: ~M-i~
|
||||
to insert the original file name string, edit it, and then ~C-m~ to
|
||||
complete the renaming.
|
||||
|
||||
~M-j~ (=ivy-yank-word=) insert the sub-word at point into the
|
||||
minibuffer.
|
||||
|
||||
~S-SPC~ (=ivy-restrict-to-matches=) deletes the current input, and
|
||||
resets the candidates list to the currently restricted matches. This
|
||||
is how Ivy provides narrowing in successive tiers.
|
||||
|
||||
*** Other key bindings
|
||||
|
||||
~M-w~ (=ivy-kill-ring-save=) copies the selected candidates to the
|
||||
kill ring; when the region is active, copies the active region.
|
||||
|
||||
*** Saving the current completion session to a buffer
|
||||
|
||||
~C-c C-o~ (=ivy-occur=) saves the current candidates to a new buffer;
|
||||
the list is active in the new buffer.
|
||||
|
||||
~RET~ or ~mouse-1~ in the new buffer calls the appropriate action on
|
||||
the selected candidate.
|
||||
|
||||
Ivy has no limit on the number of active buffers like these.
|
||||
|
||||
Ivy takes care of making these buffer names unique. It applies
|
||||
descriptive names, for example: =*ivy-occur counsel-describe-variable
|
||||
"function$*=.
|
||||
|
||||
*** Global key bindings
|
||||
|
||||
=ivy-resume= recalls the state of the completion session just before
|
||||
its last exit. Useful after an accidental ~C-m~ (=ivy-done=).
|
||||
Recommended global binding: ~C-c C-r~.
|
||||
|
||||
*** Hydra in the minibuffer
|
||||
|
||||
~C-o~ (=hydra-ivy/body=) invokes Hydra menus with key shortcuts.
|
||||
|
||||
When in Hydra, ~C-o~ or ~i~ resumes editing.
|
||||
|
||||
Hydra reduces key strokes, for example: ~C-n C-n C-n C-n~ is ~C-o
|
||||
jjjj~ in Hydra. Besides certain shorter keys, Hydra shows useful info
|
||||
such as case folding and the current action.
|
||||
|
||||
Additionally, here are the keys that are otherwise not bound:
|
||||
|
||||
- ~<~ and ~>~ adjust the height of the minibuffer.
|
||||
- ~c~ (=ivy-toggle-calling=) - toggle calling the current action each
|
||||
time a different candidate is selected.
|
||||
- ~m~ (=ivy-rotate-preferred-builders=) - rotate regex matcher.
|
||||
- ~w~ and ~s~ scroll the actions list.
|
||||
|
||||
Minibuffer editing is disabled when Hydra is active.
|
|
@ -1,139 +0,0 @@
|
|||
;;; ivy-overlay.el --- Overlay display functions for Ivy -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2016-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; Keywords: convenience
|
||||
|
||||
;; 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This package allows to setup Ivy's completion at point to actually
|
||||
;; show the candidates and the input at point, instead of in the
|
||||
;; minibuffer.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defface ivy-cursor
|
||||
'((t (:background "black"
|
||||
:foreground "white")))
|
||||
"Cursor face for inline completion."
|
||||
:group 'ivy-faces)
|
||||
|
||||
(defvar ivy--old-cursor-type t)
|
||||
|
||||
(defvar ivy-overlay-at nil
|
||||
"Overlay variable for `ivy-display-function-overlay'.")
|
||||
|
||||
(declare-function ivy--truncate-string "ivy")
|
||||
|
||||
(defun ivy-left-pad (str width)
|
||||
"Return STR, but with each line indented by WIDTH spaces.
|
||||
Lines are truncated to the window width."
|
||||
(let ((padding (make-string width ?\s)))
|
||||
(mapconcat (lambda (x)
|
||||
(ivy--truncate-string (concat padding x)
|
||||
(1- (+ (window-width)
|
||||
(window-hscroll)))))
|
||||
(split-string str "\n")
|
||||
"\n")))
|
||||
|
||||
(defun ivy-overlay-cleanup ()
|
||||
"Clean up after `ivy-display-function-overlay'."
|
||||
(when (overlayp ivy-overlay-at)
|
||||
(delete-overlay ivy-overlay-at)
|
||||
(setq ivy-overlay-at nil))
|
||||
(unless cursor-type
|
||||
(setq cursor-type ivy--old-cursor-type))
|
||||
(when (fboundp 'company-abort)
|
||||
(company-abort)))
|
||||
|
||||
(defun ivy-overlay-show-after (str)
|
||||
"Display STR in an overlay at point.
|
||||
|
||||
First, fill each line of STR with spaces to the current column.
|
||||
Then attach the overlay the character before point."
|
||||
(if ivy-overlay-at
|
||||
(progn
|
||||
(move-overlay ivy-overlay-at (1- (point)) (line-end-position))
|
||||
(overlay-put ivy-overlay-at 'invisible nil))
|
||||
(setq ivy-overlay-at (make-overlay (1- (point)) (line-end-position)))
|
||||
(overlay-put ivy-overlay-at 'priority 9999))
|
||||
(overlay-put ivy-overlay-at 'display str)
|
||||
(overlay-put ivy-overlay-at 'after-string ""))
|
||||
|
||||
(declare-function org-current-level "org")
|
||||
(defvar org-indent-indentation-per-level)
|
||||
(defvar ivy-height)
|
||||
(defvar ivy-last)
|
||||
(defvar ivy-text)
|
||||
(defvar ivy-completion-beg)
|
||||
(declare-function ivy-add-face-text-property "ivy")
|
||||
(declare-function ivy--get-window "ivy")
|
||||
(declare-function ivy-state-current "ivy")
|
||||
(declare-function ivy-state-window "ivy")
|
||||
|
||||
(defun ivy-overlay-impossible-p (str)
|
||||
(or
|
||||
(<= (window-height) (+ ivy-height 3))
|
||||
(= (point) (point-min))
|
||||
(< (- (+ (window-width) (window-hscroll)) (current-column))
|
||||
(apply #'max
|
||||
(mapcar #'string-width
|
||||
(split-string str "\n"))))))
|
||||
|
||||
(defun ivy-display-function-overlay (str)
|
||||
"Called from the minibuffer, display STR in an overlay in Ivy window.
|
||||
Hide the minibuffer contents and cursor."
|
||||
(if (save-selected-window
|
||||
(select-window (ivy-state-window ivy-last))
|
||||
(ivy-overlay-impossible-p str))
|
||||
(let ((buffer-undo-list t))
|
||||
(save-excursion
|
||||
(forward-line 1)
|
||||
(insert str)))
|
||||
(ivy-add-face-text-property (minibuffer-prompt-end) (point-max)
|
||||
'(:foreground "white"))
|
||||
(let ((cursor-pos (1+ (- (point) (minibuffer-prompt-end))))
|
||||
(ivy-window (ivy--get-window ivy-last)))
|
||||
(setq cursor-type nil)
|
||||
(with-selected-window ivy-window
|
||||
(when cursor-type
|
||||
(setq ivy--old-cursor-type cursor-type))
|
||||
(setq cursor-type nil)
|
||||
(let ((overlay-str
|
||||
(concat
|
||||
(buffer-substring (max 1 (1- (point))) (point))
|
||||
ivy-text
|
||||
(if (eolp)
|
||||
" "
|
||||
"")
|
||||
(buffer-substring (point) (line-end-position))
|
||||
(ivy-left-pad
|
||||
str
|
||||
(+ (if (and (eq major-mode 'org-mode)
|
||||
(bound-and-true-p org-indent-mode))
|
||||
(* org-indent-indentation-per-level (org-current-level))
|
||||
0)
|
||||
(save-excursion
|
||||
(goto-char ivy-completion-beg)
|
||||
(current-column)))))))
|
||||
(ivy-add-face-text-property cursor-pos (1+ cursor-pos)
|
||||
'ivy-cursor overlay-str t)
|
||||
(ivy-overlay-show-after overlay-str))))))
|
||||
|
||||
(provide 'ivy-overlay)
|
||||
|
||||
;;; ivy-overlay.el ends here
|
Binary file not shown.
|
@ -1,12 +0,0 @@
|
|||
(define-package "ivy" "20180822.1824" "Incremental Vertical completYon"
|
||||
'((emacs "24.1"))
|
||||
:keywords
|
||||
'("matching")
|
||||
:authors
|
||||
'(("Oleh Krehel" . "ohwoeowho@gmail.com"))
|
||||
:maintainer
|
||||
'("Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
:url "https://github.com/abo-abo/swiper")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,24 @@
|
|||
;;; liso-theme-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "liso-theme" "liso-theme.el" (0 0 0 0))
|
||||
;;; Generated autoloads from liso-theme.el
|
||||
|
||||
(when load-file-name (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "liso-theme" '("liso")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; liso-theme-autoloads.el ends here
|
|
@ -0,0 +1,2 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "liso-theme" "20160410.2029" "Eclectic Dark Theme for GNU Emacs" 'nil :commit "844688245eb860d23043455e165ee24503454c81" :keywords '("theme" "themes") :authors '(("Vlad Piersec" . "vlad.piersec@gmail.com")) :maintainer '("Vlad Piersec" . "vlad.piersec@gmail.com") :url "https://github.com/caisah/liso-theme")
|
|
@ -0,0 +1,324 @@
|
|||
;;; liso-theme.el --- Eclectic Dark Theme for GNU Emacs
|
||||
|
||||
;; Author: Vlad Piersec <vlad.piersec@gmail.com>
|
||||
;; Keywords: theme, themes
|
||||
;; Package-Version: 20160410.2029
|
||||
;; URL: https://github.com/caisah/liso-theme
|
||||
;; Version: 2.1
|
||||
|
||||
;;; Commentary:
|
||||
;; Inspired by TangoTango Theme https://github.com/juba/color-theme-tangotango
|
||||
|
||||
;;; License:
|
||||
|
||||
;; This 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 2, or (at your option) any later
|
||||
;; version.
|
||||
;;
|
||||
;; This 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 file. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(deftheme liso
|
||||
"Liso - Eclectic Dark Theme inspired by TangoTango")
|
||||
|
||||
(let ((background "#272C2E")
|
||||
(foreground "#EDEDE1")
|
||||
(cursor-yellow "#E6CB00")
|
||||
(foreground-black "#1A1A1A")
|
||||
(escape "#C83194")
|
||||
(prompt-green "#C8FF03")
|
||||
(highlight-yellow "#ECE185")
|
||||
(region-background "#31454F")
|
||||
(fail-dark-red "#8B0000")
|
||||
(error-red "#E02831")
|
||||
(warning "#FF7E00")
|
||||
(search-pink "#FFEDE6")
|
||||
(search-orange "#CE5C00")
|
||||
(search-brown "#795317")
|
||||
(comment "#5D6A70")
|
||||
(liso-yellow "#FFE203")
|
||||
(liso-orange "#FF9326")
|
||||
(liso-pink "#FFABAB")
|
||||
(liso-purple "#B46DCC")
|
||||
(liso-red "#C04040")
|
||||
(liso-dark-red "#9D3E3E")
|
||||
(liso-green "#C8FF03")
|
||||
(liso-dark-green "#6E8C02")
|
||||
(liso-blue "#99D6FF")
|
||||
(link-blue "#7CA4CF")
|
||||
(link-dark-blue "#5075A4")
|
||||
(ml-black "#131617")
|
||||
(ml-yellow "#EAB700")
|
||||
(ml-grey "#C7C7AB")
|
||||
(ml-grey-darker "#414B4E")
|
||||
(paren-blue "#7AD9FF")
|
||||
(paren-red "#9D005C")
|
||||
(diff-dark-red "#8C5454")
|
||||
(diff-dark-green "#598C54")
|
||||
(diff-light-green "#7ABF73")
|
||||
(diff-ultra-green "#2BBD1C")
|
||||
(diff-light-red "#A63232")
|
||||
(diff-light-orange "#DE7000")
|
||||
(darker-background "#1A1C1F"))
|
||||
|
||||
(custom-theme-set-faces
|
||||
'liso
|
||||
|
||||
`(default ((t (:family "Ubuntu Mono"
|
||||
:foundry "unknown"
|
||||
:width normal
|
||||
:height 128
|
||||
:weight normal
|
||||
:slant normal
|
||||
:underline nil
|
||||
:overline nil
|
||||
:strike-through nil
|
||||
:box nil
|
||||
:inverse-video nil
|
||||
:foreground ,foreground
|
||||
:background ,background
|
||||
:stipple nil
|
||||
:inherit nil))))
|
||||
`(cursor ((t (:foreground ,foreground-black :background ,cursor-yellow))))
|
||||
`(fixed-pitch ((t (:inherit (default)))))
|
||||
`(variable-pitch ((t (:family "Sans Serif"))))
|
||||
`(escape-glyph ((t (:foreground ,escape))))
|
||||
`(minibuffer-prompt ((t (:weight normal :foreground ,prompt-green))))
|
||||
`(highlight ((t (:foreground ,foreground-black :background ,highlight-yellow))))
|
||||
`(region ((t (:background ,region-background))))
|
||||
`(shadow ((((class color grayscale) (min-colors 88) (background light)) (:foreground "grey50"))
|
||||
(((class color grayscale) (min-colors 88) (background dark)) (:foreground "grey70"))
|
||||
(((class color) (min-colors 8) (background light)) (:foreground "green"))
|
||||
(((class color) (min-colors 8) (background dark)) (:foreground "yellow"))))
|
||||
`(secondary-selection ((t (:background ,search-brown))))
|
||||
`(trailing-whitespace ((t (:background ,fail-dark-red))))
|
||||
`(whitespace-trailing ((t (:background ,fail-dark-red :foreground ,foreground-black))))
|
||||
;;
|
||||
`(font-lock-builtin-face ((t (:foreground ,liso-purple))))
|
||||
`(font-lock-comment-face ((t (:foreground ,comment))))
|
||||
`(font-lock-comment-delimiter-face ((t (:inherit (font-lock-comment-face)))))
|
||||
`(font-lock-constant-face ((t (:foreground ,liso-red))))
|
||||
`(font-lock-doc-face ((t (:foreground ,liso-dark-green))))
|
||||
`(font-lock-function-name-face ((t (:foreground ,liso-yellow))))
|
||||
`(font-lock-keyword-face ((t (:foreground ,liso-green))))
|
||||
`(font-lock-negation-char-face ((t nil)))
|
||||
`(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face)))))
|
||||
`(font-lock-regexp-grouping-backslash ((t (:inherit (bold)))))
|
||||
`(font-lock-regexp-grouping-construct ((t (:inherit (bold)))))
|
||||
`(font-lock-string-face ((t (:foreground ,liso-pink))))
|
||||
`(font-lock-type-face ((t (:foreground ,liso-blue))))
|
||||
`(font-lock-variable-name-face ((t (:foreground ,liso-orange))))
|
||||
`(font-lock-warning-face ((t (:weight bold :foreground ,warning :inherit (error)))))
|
||||
|
||||
`(button ((t (:inherit (link)))))
|
||||
`(link ((t (:underline (:color foreground-color :style line) :foreground ,link-blue))))
|
||||
`(link-visited ((t (:underline (:color foreground-color :style line) :foreground ,link-dark-blue :inherit (link)))))
|
||||
`(fringe ((t (:background ,background))))
|
||||
`(header-line ((t (:foreground ,comment :weight bold))))
|
||||
`(tooltip ((t (:foreground "black" :background "lightyellow" :inherit (quote variable-pitch)))))
|
||||
`(mode-line ((t (:box (:line-width -1 :color nil :style pressed-button) :foreground "white smoke" :background ,ml-black))))
|
||||
`(mode-line-buffer-id ((t (:weight bold :foreground ,ml-yellow))))
|
||||
`(mode-line-emphasis ((t (:weight bold))))
|
||||
`(mode-line-highlight ((((class color) (min-colors 88)) (:box (:line-width 2 :color "grey40" :style released-button))) (t (:inherit (highlight)))))
|
||||
`(mode-line-inactive ((t (:weight light :box (:line-width -1 :color nil :style released-button) :foreground ,ml-grey :background ,ml-grey-darker :inherit (mode-line)))))
|
||||
`(isearch ((t (:foreground ,search-pink :background ,search-orange :underline (:color foreground-color :style line)))))
|
||||
`(isearch-fail ((((class color) (min-colors 88) (background light)) (:background "RosyBrown1"))
|
||||
(((class color) (min-colors 88) (background dark)) (:background "red4"))
|
||||
(((class color) (min-colors 16)) (:background "red"))
|
||||
(((class color) (min-colors 8)) (:background "red"))
|
||||
(((class color grayscale)) (:foreground "grey"))
|
||||
(t (:inverse-video t))))
|
||||
`(anzu-mode-line ((t (:foreground "PaleVioletRed2" :weight bold))))
|
||||
`(lazy-highlight ((t (:foreground ,foreground-black :background ,search-brown))))
|
||||
`(match ((t (:weight bold :foreground ,search-orange :background ,foreground-black))))
|
||||
`(next-error ((t (:inherit (region)))))
|
||||
`(query-replace ((t (:inherit (isearch)))))
|
||||
`(show-paren-match ((t (:background ,paren-blue :foreground ,background))))
|
||||
`(show-paren-mismatch ((t (:background ,paren-red :foreground "red"))))
|
||||
`(linum ((t (:foreground "#6F8085" :weight light :height 0.9))))
|
||||
`(vertical-border ((t (:foreground ,ml-black))))
|
||||
`(error ((t (:foreground ,error-red :weight semi-bold))))
|
||||
`(completions-first-difference ((t (:inherit (highlight)))))
|
||||
|
||||
;; flycheck
|
||||
`(flycheck-error ((t (:background ,ml-black :underline (:color ,error-red :style wave)))))
|
||||
`(flycheck-warning ((t (:underline (:color ,warning :style wave)))))
|
||||
|
||||
;; helm
|
||||
`(helm-action ((t (:foreground ,foreground :underline nil))))
|
||||
`(helm-selection ((t (:background ,ml-grey-darker :weight bold))))
|
||||
`(helm-source-header ((t (:background: ,background :foreground ,ml-yellow :family "Ubuntu Mono" :weight normal :height: 1.1))))
|
||||
`(helm-visible-mark ((t (:inherit (diredp-flag-mark)))))
|
||||
`(helm-candidate-number ((t (:inherit (match)))))
|
||||
`(helm-buffer-directory ((t (:inherit (diredp-dir-priv)))))
|
||||
`(helm-buffer-size ((t (:foreground ,comment))))
|
||||
`(helm-buffer-process ((t (:inherit (font-lock-doc-face)))))
|
||||
`(helm-buffer-not-saved ((t (:foreground ,liso-orange))))
|
||||
`(helm-buffer-file ((t (:foreground ,liso-pink :weight normal))))
|
||||
`(helm-ff-directory ((t (:inherit (diredp-dir-priv)))))
|
||||
`(helm-ff-file ((t (:inherit (diredp-file-name)))))
|
||||
`(helm-ff-dotted-directory ((t (:inherit (diredp-dir-priv)))))
|
||||
`(helm-ff-symlink ((t (:inherit (font-lock-warning-face)))))
|
||||
`(helm-M-x-key ((t (:foreground ,liso-red :weight bold))))
|
||||
`(helm-match ((t (:foreground ,prompt-green))))
|
||||
`(helm-separator ((t (:foreground ,liso-dark-green))))
|
||||
`(helm-grep-file ((t (:foreground ,liso-dark-green))))
|
||||
`(helm-grep-match ((t (:foreground ,prompt-green))))
|
||||
`(helm-swoop-target-word-face ((t (:background ,ml-black :foreground ,prompt-green :underline nil))))
|
||||
`(helm-swoop-target-line-face ((t (:background ,ml-grey-darker))))
|
||||
|
||||
;; company
|
||||
`(company-tooltip-selection ((t (:inherit (helm-selection)))))
|
||||
`(company-tooltip-search ((t (:background ,foreground-black))))
|
||||
`(company-tooltip-common-selection ((t (:foreground ,prompt-green :background ,ml-grey-darker))))
|
||||
`(company-tooltip ((t (:foreground ,foreground :background ,darker-background))))
|
||||
`(company-tooltip-common ((t (:foreground ,prompt-green :background ,darker-background))))
|
||||
`(company-scrollbar-fg ((t (:background ,ml-yellow))))
|
||||
`(company-scrollbar-bg ((t (:background ,ml-black))))
|
||||
`(company-preview-common ((t (:background ,liso-pink :foreground ,ml-black))))
|
||||
|
||||
;; dired plus
|
||||
`(diredp-dir-priv ((t (:foreground ,liso-yellow :weight bold))))
|
||||
`(diredp-dir-name ((t (:foreground ,liso-yellow :weight bold))))
|
||||
`(diredp-file-name ((t (:foreground ,foreground :weight normal))))
|
||||
`(diredp-file-suffix ((t (:foreground ,comment :slant italic))))
|
||||
`(diredp-dir-heading ((t (:background ,background :foreground ,ml-yellow :weight ultra-bold))))
|
||||
`(diredp-symlink ((t (:foreground ,link-blue))))
|
||||
`(diredp-compressed-file-suffix ((t (:foreground ,foreground))))
|
||||
`(diredp-flag-mark ((t (:background ,liso-yellow :foreground ,background))))
|
||||
`(diredp-flag-mark-line ((t (:inherit (diredp-flag-mark)))))
|
||||
`(diredp-ignored-file-name ((t (:foreground ,comment))))
|
||||
`(diredp-deletion-file-name ((t (:background ,liso-red :foreground ,foreground))))
|
||||
`(diredp-deletion ((t (:inherit (diredp-deletion-file-name)))))
|
||||
`(diredp-read-priv ((t (:background ,background :foreground ,foreground :weight bold))))
|
||||
`(diredp-write-priv ((t (:background ,background :foreground ,liso-dark-green :weight bold))))
|
||||
`(diredp-exec-priv ((t (:background ,background :foreground ,liso-green :weight bold))))
|
||||
`(diredp-link-priv ((t (:background ,background :foreground ,liso-orange :weight bold))))
|
||||
`(diredp-date-time ((t (:foreground ,comment))))
|
||||
`(diredp-number ((t (:foreground ,comment))))
|
||||
`(diredp-no-priv ((t (:foreground ,foreground))))
|
||||
|
||||
;; magit
|
||||
`(magit-log-author ((t (:foreground ,comment))))
|
||||
`(magit-log-date ((t (:foreground ,comment))))
|
||||
`(magit-tag ((t (:foreground ,liso-purple))))
|
||||
`(magit-branch-remote ((t (:foreground ,liso-blue))))
|
||||
`(magit-branch-local ((t (:foreground ,liso-green :box (:width 2)))))
|
||||
`(magit-branch-current ((t (:foreground ,liso-green :box (:width 2)))))
|
||||
`(magit-hash ((t (:foreground ,liso-red))))
|
||||
`(magit-head ((t (:foreground ,liso-red :background ,ml-black))))
|
||||
`(magit-section-heading ((t (:foreground ,ml-yellow))))
|
||||
`(magit-section-highlight ((t (:background ,ml-grey-darker))))
|
||||
`(magit-diff-file-heading ((t (:foreground ,foreground))))
|
||||
`(magit-diff-file-heading-highlight ((t (:foreground ,foreground :background ,ml-grey-darker :weight bold))))
|
||||
`(magit-diff-context-highlight ((t (:background ,ml-black :foreground ,comment))))
|
||||
`(magit-diff-hunk-heading-highlight ((t (:background ,ml-black :foreground ,comment))))
|
||||
`(magit-diff-added ((t (:foreground ,diff-dark-green))))
|
||||
`(magit-diff-added-highlight ((t (:background ,ml-black :foreground ,diff-light-green))))
|
||||
`(magit-diff-removed ((t (:foreground ,diff-dark-red))))
|
||||
`(magit-diff-removed-highlight ((t (:background ,ml-black :foreground ,diff-light-red))))
|
||||
|
||||
;; org
|
||||
`(org-table ((t (:foreground ,liso-dark-green))))
|
||||
`(org-level-1 ((t (:foreground ,liso-red))))
|
||||
`(org-level-2 ((t (:foreground ,liso-orange))))
|
||||
`(org-level-3 ((t (:foreground ,liso-yellow))))
|
||||
`(org-level-4 ((t (:foreground ,liso-green))))
|
||||
`(org-level-5 ((t (:foreground ,liso-blue))))
|
||||
`(org-level-6 ((t (:foreground ,liso-purple))))
|
||||
`(org-level-7 ((t (:foreground ,liso-pink))))
|
||||
`(org-level-8 ((t (:foreground ,liso-dark-green))))
|
||||
|
||||
;; ediff
|
||||
`(diff-removed ((t (:foreground ,diff-dark-red))))
|
||||
`(diff-refine-removed ((t (:foreground ,diff-light-red))))
|
||||
`(diff-added ((t (:foreground ,diff-dark-green))))
|
||||
`(diff-refine-added ((t (:foreground ,diff-light-green))))
|
||||
`(ediff-current-diff-A ((t (:background ,ml-black))))
|
||||
`(ediff-current-diff-B ((t (:background ,ml-black))))
|
||||
`(ediff-current-diff-C ((t (:background ,ml-black))))
|
||||
`(ediff-even-diff-A ((t (:background ,ml-black))))
|
||||
`(ediff-even-diff-B ((t (:background ,ml-black))))
|
||||
`(ediff-even-diff-C ((t (:background ,ml-black))))
|
||||
`(ediff-odd-diff-A ((t (:background ,ml-black))))
|
||||
`(ediff-odd-diff-B ((t (:background ,ml-black))))
|
||||
`(ediff-odd-diff-C ((t (:background ,ml-black))))
|
||||
`(ediff-fine-diff-A ((t (:foreground ,diff-light-orange))))
|
||||
`(ediff-fine-diff-B ((t (:foreground ,diff-light-orange))))
|
||||
`(ediff-fine-diff-C ((t (:background ,ml-black :foreground ,diff-ultra-green))))
|
||||
|
||||
;; web mode
|
||||
`(web-mode-html-tag-face ((t (:foreground ,liso-yellow))))
|
||||
`(web-mode-html-tag-bracket-face ((t (:inherit (web-mode-html-tag-face)))))
|
||||
`(web-mode-html-attr-name-face ((t (:foreground ,liso-dark-green))))
|
||||
`(web-mode-html-attr-value-face ((t (:foreground ,liso-dark-red))))
|
||||
|
||||
;; js2 mode
|
||||
`(js2-error ((t (:inherit (flycheck-error)))))
|
||||
`(js2-warning ((t (:inherit (flycheck-warning)))))
|
||||
`(js2-external-variable ((t (:foreground "HotPink1"))))
|
||||
|
||||
;; eshell
|
||||
`(eshell-prompt ((t (:foreground ,ml-yellow :background ,ml-black :weight ultra-bold))))
|
||||
`(eshell-ls-directory ((t (:foreground ,liso-yellow :weight bold))))
|
||||
`(eshell-ls-symlink ((t (:foreground ,link-blue))))
|
||||
`(eshell-ls-executable ((t (:foreground ,liso-green))))
|
||||
|
||||
;; whitespace
|
||||
`(whitespace-trailing ((t (:background ,error-red))))
|
||||
`(whitespace-tab ((t (:background ,highlight-yellow))))
|
||||
`(whitespace-line ((t (:background ,background :foreground ,foreground))))
|
||||
|
||||
;; markdown
|
||||
`(markdown-header-face ((t (:inherit (org-level-1)))))
|
||||
`(markdown-header-delimiter-face ((t (:foreground ,search-orange))))
|
||||
`(markdown-header-face-1 ((t (:inherit (org-level-1)))))
|
||||
`(markdown-header-face-2 ((t (:inherit (org-level-2)))))
|
||||
`(markdown-header-face-3 ((t (:inherit (org-level-3)))))
|
||||
`(markdown-header-face-4 ((t (:inherit (org-level-4)))))
|
||||
`(markdown-header-face-5 ((t (:inherit (org-level-5)))))
|
||||
`(markdown-url-face ((t (:foreground ,link-dark-blue))))
|
||||
`(markdown-link-face ((t (:foreground ,liso-blue))))
|
||||
|
||||
;; hs
|
||||
`(hs-face ((t (:foreground ,liso-dark-green :background ,ml-black))))
|
||||
|
||||
;; re-builder
|
||||
`(reb-match-0 ((t (:background ,search-orange :foreground ,foreground :box (:line-width 1 :color ,liso-pink)))))
|
||||
`(reb-match-1 ((t (:background ,search-brown :foreground ,foreground :box (:line-width 1 :color ,liso-pink)))))
|
||||
|
||||
;; Twitter
|
||||
`(twittering-uri-face ((t (:inherit (link)))))
|
||||
`(twittering-username-face ((t (:inherit (font-lock-type-face)))))
|
||||
|
||||
;; ERC
|
||||
`(erc-timestamp-face ((t (:foreground ,liso-dark-green))))
|
||||
`(erc-notice-face ((t (:foreground ,comment))))
|
||||
`(erc-nick-default-face ((t (:foreground ,liso-blue))))
|
||||
`(erc-action-face ((t (:foreground ,liso-purple))))
|
||||
))
|
||||
|
||||
(custom-theme-set-variables
|
||||
'liso
|
||||
'(ansi-color-names-vector ["black" "red3" "green3" "yellow3" "#FFE203" "magenta3" "cyan3" "gray90"])
|
||||
'(ansi-color-map (ansi-color-make-color-map))
|
||||
'(ibuffer-marked-face 'diredp-flag-mark)
|
||||
'(ibuffer-deletion-face 'diredp-deletion-file-name))
|
||||
|
||||
;;;###autoload
|
||||
(when load-file-name
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
;; Export
|
||||
(provide-theme 'liso)
|
||||
|
||||
;;; liso-theme.el ends here
|
Binary file not shown.
|
@ -1,51 +0,0 @@
|
|||
;;; lorem-ipsum-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "lorem-ipsum" "lorem-ipsum.el" (0 0 0 0))
|
||||
;;; Generated autoloads from lorem-ipsum.el
|
||||
|
||||
(autoload 'lorem-ipsum-use-default-bindings "lorem-ipsum" "\
|
||||
Use the default keybindings of C-c l [spl].
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'lorem-ipsum-insert-paragraphs "lorem-ipsum" "\
|
||||
Insert lorem ipsum paragraphs into buffer.
|
||||
If NUM is non-nil, insert NUM paragraphs.
|
||||
|
||||
\(fn &optional NUM)" t nil)
|
||||
|
||||
(defalias 'Lorem-ipsum-insert-paragraphs 'lorem-ipsum-insert-paragraphs)
|
||||
|
||||
(autoload 'lorem-ipsum-insert-sentences "lorem-ipsum" "\
|
||||
Insert lorem ipsum sentences into buffer.
|
||||
If NUM is non-nil, insert NUM sentences.
|
||||
|
||||
\(fn &optional NUM)" t nil)
|
||||
|
||||
(defalias 'Lorem-ipsum-insert-sentences 'lorem-ipsum-insert-sentences)
|
||||
|
||||
(autoload 'lorem-ipsum-insert-list "lorem-ipsum" "\
|
||||
Insert lorem ipsum list items into buffer.
|
||||
If NUM is non-nil, insert NUM list items.
|
||||
|
||||
\(fn &optional NUM)" t nil)
|
||||
|
||||
(defalias 'Lorem-ipsum-insert-list 'lorem-ipsum-insert-list)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "lorem-ipsum" '("lorem-ipsum-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; lorem-ipsum-autoloads.el ends here
|
|
@ -1,2 +0,0 @@
|
|||
;;; -*- no-byte-compile: t -*-
|
||||
(define-package "lorem-ipsum" "20140911.2108" "Insert dummy pseudo Latin text." 'nil :commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd" :keywords '("tools" "language" "convenience") :authors '(("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) :maintainer '("Joe Schafer" . "joe@jschaf.com"))
|
|
@ -1,215 +0,0 @@
|
|||
;;; lorem-ipsum.el --- Insert dummy pseudo Latin text.
|
||||
|
||||
;; Copyright (c) 2003 Jean-Philippe Theberge
|
||||
|
||||
;; Author: Jean-Philippe Theberge (jphil21@sourceforge.net)
|
||||
;; Maintainer: Joe Schafer (joe@jschaf.com)
|
||||
;; Package-Version: 20140911.2108
|
||||
;; Package-X-Original-Version: 0.2
|
||||
;; Keywords: tools, language, convenience
|
||||
|
||||
;; Special Thanks: The emacswiki users, the #emacs@freenode.net citizens
|
||||
;; and Marcus Tullius Cicero
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
|
||||
;; Contains code from GNU Emacs <https://www.gnu.org/software/emacs/>,
|
||||
;; released under the GNU General Public License version 3 or later.
|
||||
|
||||
;; lorem-ipsum.el 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.
|
||||
|
||||
;; lorem-ipsum.el 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 lorem-ipsum.el. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; History:
|
||||
|
||||
;; Version 0.1 released by Jean-Philippe Theberge in 2003. After
|
||||
;; attempting to contact Jean-Philippe, Joe Schafer took over as
|
||||
;; maintainer and published to Github.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This package provides convenience functions to insert dummy Latin
|
||||
;; text into a buffer.
|
||||
;;
|
||||
;; To install manually, add this file to your `load-path'. Use the
|
||||
;; default keybindings by adding the following to your .emacs file:
|
||||
;;
|
||||
;; (lorem-ipsum-use-default-bindings)
|
||||
;;
|
||||
;; This will setup the folling keybindings:
|
||||
;;
|
||||
;; C-c l p: lorem-ipsum-insert-paragraphs
|
||||
;; C-c l s: lorem-ipsum-insert-sentences
|
||||
;; C-c l l: lorem-ipsum-insert-list
|
||||
;;
|
||||
;; If you want a different keybinding, say you want the prefix C-c C-l, use a variation of the
|
||||
;; following:
|
||||
;;
|
||||
;; (global-set-key (kbd "C-c C-l s") 'lorem-ipsum-insert-sentences)
|
||||
;; (global-set-key (kbd "C-c C-l p") 'lorem-ipsum-insert-paragraphs)
|
||||
;; (global-set-key (kbd "C-c C-l l") 'lorem-ipsum-insert-list)
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defconst lorem-ipsum-version "0.2")
|
||||
|
||||
(defgroup lorem-ipsum nil
|
||||
"Insert filler text."
|
||||
:group 'tools
|
||||
:group 'convenience)
|
||||
|
||||
;;;###autoload
|
||||
(defun lorem-ipsum-use-default-bindings ()
|
||||
"Use the default keybindings of C-c l [spl]."
|
||||
(interactive)
|
||||
(global-set-key (kbd "C-c l s") 'lorem-ipsum-insert-sentences)
|
||||
(global-set-key (kbd "C-c l p") 'lorem-ipsum-insert-paragraphs)
|
||||
(global-set-key (kbd "C-c l l") 'lorem-ipsum-insert-list))
|
||||
|
||||
(defconst lorem-ipsum-text
|
||||
'(("Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
|
||||
"Donec hendrerit tempor tellus."
|
||||
"Donec pretium posuere tellus."
|
||||
"Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus."
|
||||
"Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."
|
||||
"Nulla posuere."
|
||||
"Donec vitae dolor."
|
||||
"Nullam tristique diam non turpis."
|
||||
"Cras placerat accumsan nulla."
|
||||
"Nullam rutrum."
|
||||
"Nam vestibulum accumsan nisl.")
|
||||
|
||||
("Pellentesque dapibus suscipit ligula."
|
||||
"Donec posuere augue in quam."
|
||||
"Etiam vel tortor sodales tellus ultricies commodo."
|
||||
"Suspendisse potenti."
|
||||
"Aenean in sem ac leo mollis blandit."
|
||||
"Donec neque quam, dignissim in, mollis nec, sagittis eu, wisi."
|
||||
"Phasellus lacus."
|
||||
"Etiam laoreet quam sed arcu."
|
||||
"Phasellus at dui in ligula mollis ultricies."
|
||||
"Integer placerat tristique nisl."
|
||||
"Praesent augue."
|
||||
"Fusce commodo."
|
||||
"Vestibulum convallis, lorem a tempus semper, dui dui euismod elit, vitae placerat urna tortor vitae lacus."
|
||||
"Nullam libero mauris, consequat quis, varius et, dictum id, arcu."
|
||||
"Mauris mollis tincidunt felis."
|
||||
"Aliquam feugiat tellus ut neque."
|
||||
"Nulla facilisis, risus a rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo sit amet elit.")
|
||||
|
||||
("Aliquam erat volutpat."
|
||||
"Nunc eleifend leo vitae magna."
|
||||
"In id erat non orci commodo lobortis."
|
||||
"Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus."
|
||||
"Sed diam."
|
||||
"Praesent fermentum tempor tellus."
|
||||
"Nullam tempus."
|
||||
"Mauris ac felis vel velit tristique imperdiet."
|
||||
"Donec at pede."
|
||||
"Etiam vel neque nec dui dignissim bibendum."
|
||||
"Vivamus id enim."
|
||||
"Phasellus neque orci, porta a, aliquet quis, semper a, massa."
|
||||
"Phasellus purus."
|
||||
"Pellentesque tristique imperdiet tortor."
|
||||
"Nam euismod tellus id erat.")
|
||||
|
||||
("Nullam eu ante vel est convallis dignissim."
|
||||
"Fusce suscipit, wisi nec facilisis facilisis, est dui fermentum leo, quis tempor ligula erat quis odio."
|
||||
"Nunc porta vulputate tellus."
|
||||
"Nunc rutrum turpis sed pede."
|
||||
"Sed bibendum."
|
||||
"Aliquam posuere."
|
||||
"Nunc aliquet, augue nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi purus non odio."
|
||||
"Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue ornare nulla, non luctus diam neque sit amet urna."
|
||||
"Curabitur vulputate vestibulum lorem."
|
||||
"Fusce sagittis, libero non molestie mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia eros."
|
||||
"Sed id ligula quis est convallis tempor."
|
||||
"Curabitur lacinia pulvinar nibh."
|
||||
"Nam a sapien.")))
|
||||
|
||||
(defvar lorem-ipsum-paragraph-separator "\n\n")
|
||||
(defvar lorem-ipsum-sentence-separator " ")
|
||||
(defvar lorem-ipsum-list-beginning "")
|
||||
(defvar lorem-ipsum-list-bullet "* ")
|
||||
(defvar lorem-ipsum-list-item-end "\n")
|
||||
(defvar lorem-ipsum-list-end "")
|
||||
|
||||
(make-variable-buffer-local 'lorem-ipsum-paragraph-separator)
|
||||
(make-variable-buffer-local 'lorem-ipsum-sentence-separator)
|
||||
(make-variable-buffer-local 'lorem-ipsum-list-beginning)
|
||||
(make-variable-buffer-local 'lorem-ipsum-list-bullet)
|
||||
(make-variable-buffer-local 'lorem-ipsum-list-item-end)
|
||||
(make-variable-buffer-local 'lorem-ipsum-list-end)
|
||||
|
||||
(add-hook 'sgml-mode-hook (lambda ()
|
||||
(setq lorem-ipsum-paragraph-separator "<br><br>\n"
|
||||
lorem-ipsum-sentence-separator " "
|
||||
lorem-ipsum-list-beginning "<ul>\n"
|
||||
lorem-ipsum-list-bullet "<li>"
|
||||
lorem-ipsum-list-item-end "</li>\n"
|
||||
lorem-ipsum-list-end "</ul>\n")))
|
||||
|
||||
;;;###autoload
|
||||
(defun lorem-ipsum-insert-paragraphs (&optional num)
|
||||
"Insert lorem ipsum paragraphs into buffer.
|
||||
If NUM is non-nil, insert NUM paragraphs."
|
||||
(interactive "p")
|
||||
(if (not num)(setq num 1))
|
||||
(if (> num 0)
|
||||
(progn
|
||||
(insert (concat
|
||||
(mapconcat 'identity
|
||||
(nth (random (length lorem-ipsum-text))
|
||||
lorem-ipsum-text) lorem-ipsum-sentence-separator) lorem-ipsum-paragraph-separator))
|
||||
(lorem-ipsum-insert-paragraphs (- num 1)))))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'Lorem-ipsum-insert-paragraphs 'lorem-ipsum-insert-paragraphs)
|
||||
|
||||
;;;###autoload
|
||||
(defun lorem-ipsum-insert-sentences (&optional num)
|
||||
"Insert lorem ipsum sentences into buffer.
|
||||
If NUM is non-nil, insert NUM sentences."
|
||||
(interactive "p")
|
||||
(if (not num)(setq num 1))
|
||||
(if (> num 0)
|
||||
(progn
|
||||
(let ((para
|
||||
(nth (random (length lorem-ipsum-text)) lorem-ipsum-text)))
|
||||
(insert (concat (nth (random (length para)) para) lorem-ipsum-sentence-separator)))
|
||||
(lorem-ipsum-insert-sentences (- num 1)))))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'Lorem-ipsum-insert-sentences 'lorem-ipsum-insert-sentences)
|
||||
|
||||
;;;###autoload
|
||||
(defun lorem-ipsum-insert-list (&optional num)
|
||||
"Insert lorem ipsum list items into buffer.
|
||||
If NUM is non-nil, insert NUM list items."
|
||||
(interactive "p")
|
||||
(if (not num)(setq num 1))
|
||||
(if (> num 0)
|
||||
(progn
|
||||
(let ((para (nth (random (length lorem-ipsum-text)) lorem-ipsum-text)))
|
||||
(insert (concat lorem-ipsum-list-bullet
|
||||
(nth (random (length para)) para)
|
||||
lorem-ipsum-list-item-end)))
|
||||
(lorem-ipsum-insert-list (- num 1)))
|
||||
(insert lorem-ipsum-list-end)))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'Lorem-ipsum-insert-list 'lorem-ipsum-insert-list)
|
||||
|
||||
(provide 'lorem-ipsum)
|
||||
|
||||
;;; lorem-ipsum.el ends here
|
Binary file not shown.
|
@ -1,20 +0,0 @@
|
|||
This package provides convenience functions to insert dummy Latin
|
||||
text into a buffer.
|
||||
|
||||
To install manually, add this file to your `load-path'. Use the
|
||||
default keybindings by adding the following to your .emacs file:
|
||||
|
||||
(lorem-ipsum-use-default-bindings)
|
||||
|
||||
This will setup the folling keybindings:
|
||||
|
||||
C-c l p: lorem-ipsum-insert-paragraphs
|
||||
C-c l s: lorem-ipsum-insert-sentences
|
||||
C-c l l: lorem-ipsum-insert-list
|
||||
|
||||
If you want a different keybinding, say you want the prefix C-c C-l, use a variation of the
|
||||
following:
|
||||
|
||||
(global-set-key (kbd "C-c C-l s") 'lorem-ipsum-insert-sentences)
|
||||
(global-set-key (kbd "C-c C-l p") 'lorem-ipsum-insert-paragraphs)
|
||||
(global-set-key (kbd "C-c C-l l") 'lorem-ipsum-insert-list)
|
|
@ -0,0 +1 @@
|
|||
Good signature from 474F05837FBDEF9B GNU ELPA Signing Agent <elpasign@elpa.gnu.org> (trust undefined) created at 2018-08-27T14:40:03+0530 using DSA
|
|
@ -0,0 +1,41 @@
|
|||
This is the Emacs Org project, an Emacs library for organizing your life.
|
||||
|
||||
The homepage of Org is at:
|
||||
https://orgmode.org
|
||||
|
||||
Installations instructions are at:
|
||||
https://orgmode.org/org.html#Installation
|
||||
|
||||
This distribution contains an ELPA packaged version of Org.
|
||||
"ELPA" stands for the "Emacs Lisp Package Archive".
|
||||
|
||||
The GNU ELPA is at:
|
||||
http://elpa.gnu.org
|
||||
|
||||
It contains the org-*.tar package, containing only the org files
|
||||
that are also part of GNU Emacs.
|
||||
|
||||
There are other ELPA online, offering more packages.
|
||||
|
||||
Some contain the org-plus-contrib-*.tar ELPA package, which bundles
|
||||
the core Org files plus many additional contributed libraries.
|
||||
|
||||
All ELPA packages of Org contain:
|
||||
|
||||
README_ELPA
|
||||
This file.
|
||||
|
||||
*.el
|
||||
Elisp files.
|
||||
|
||||
org
|
||||
The Org info manual.
|
||||
|
||||
orgcard.pdf
|
||||
The Org reference card.
|
||||
|
||||
etc/
|
||||
Libraries for the ODT exporter.
|
||||
|
||||
org-*-pkg.el
|
||||
The name of the package, requested GNU Emacs packaging system.
|
|
@ -5,7 +5,7 @@ The first time you invoke Info you start off looking at this node.
|
|||
File: dir, Node: Top This is the top of the INFO tree
|
||||
|
||||
This (the Directory node) gives a menu of major topics.
|
||||
Typing "q" exits, "H" lists all Info commands, "d" returns here,
|
||||
Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||
"h" gives a primer for first-timers,
|
||||
"mEmacs<Return>" visits the Emacs manual, etc.
|
||||
|
||||
|
@ -15,4 +15,4 @@ File: dir, Node: Top This is the top of the INFO tree
|
|||
* Menu:
|
||||
|
||||
Emacs
|
||||
* Ivy: (ivy). Using Ivy for completion.
|
||||
* Org Mode: (org). Outline-based notes management and organizer
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,275 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- See etc/org/README for copyright information -->
|
||||
<office:document-content
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
|
||||
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
|
||||
xmlns:math="http://www.w3.org/1998/Math/MathML"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
|
||||
xmlns:ooo="http://openoffice.org/2004/office"
|
||||
xmlns:ooow="http://openoffice.org/2004/writer"
|
||||
xmlns:oooc="http://openoffice.org/2004/calc"
|
||||
xmlns:dom="http://www.w3.org/2001/xml-events"
|
||||
xmlns:xforms="http://www.w3.org/2002/xforms"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:rpt="http://openoffice.org/2005/report"
|
||||
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
|
||||
xmlns:xodt="http://www.w3.org/1999/xodt"
|
||||
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" office:version="1.2">
|
||||
<!-- scripts -->
|
||||
<office:scripts/>
|
||||
|
||||
<!-- font face declarations -->
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/>
|
||||
<style:font-face style:name="courier" svg:font-family="courier, monospace"/>
|
||||
<style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J'" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Thorndale" svg:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
|
||||
<!-- automatic styles -->
|
||||
<office:automatic-styles>
|
||||
|
||||
<!-- Section styles -->
|
||||
|
||||
<!-- Section styles for Table Of Contents and Other Indices -->
|
||||
<style:style style:name="OrgIndexSection" style:family="section">
|
||||
<style:section-properties fo:background-color="#c0c0c0" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
<style:background-image/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
|
||||
<!-- Indented sections, used as container for tables that occur
|
||||
within list items -->
|
||||
<style:style style:name="OrgIndentedSection-Level-1" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="1.281cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-2" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="1.905cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-3" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="2.54cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-4" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="3.175cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-5" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="3.81cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-6" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="4.445cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-7" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="5.08cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-8" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="5.715cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-9" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="6.35cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgIndentedSection-Level-10" style:family="section">
|
||||
<style:section-properties text:dont-balance-text-columns="false" fo:margin-left="6.985cm" fo:margin-right="0cm" style:editable="false">
|
||||
<style:columns fo:column-count="1" fo:column-gap="0cm"/>
|
||||
</style:section-properties>
|
||||
</style:style>
|
||||
|
||||
<!-- Table styles -->
|
||||
<style:style style:name="OrgTable" style:family="table">
|
||||
<style:table-properties style:rel-width="96%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgTableColumn" style:family="table-column">
|
||||
<style:table-column-properties style:rel-column-width="1*"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgTblCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellL" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellT" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTL" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellB" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellBL" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellBR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellBLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTB" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTBL" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTBR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTblCellTBLR" style:family="table-cell" style:parent-style-name="OrgTblCell">
|
||||
<style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
|
||||
<!-- BEGIN: Table styles for numbered equations -->
|
||||
<style:style style:name="OrgEquation" style:family="table">
|
||||
<style:table-properties style:rel-width="100%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgEquationTableColumn" style:family="table-column">
|
||||
<style:table-column-properties style:rel-column-width="1*"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgFirstEquationFirstColumnTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgEquationLastColumnTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgEquationFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgEquationLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<!-- END: Table styles for numbered equations -->
|
||||
|
||||
<!-- BEGIN: Custom Table Template -->
|
||||
<style:style style:name="Custom" style:family="table">
|
||||
<style:table-properties style:rel-width="80%" table:align="center"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomColumn" style:family="table-column">
|
||||
<style:table-column-properties style:rel-column-width="1*"/>
|
||||
</style:style>
|
||||
|
||||
<!-- Table Paragraph Styles -->
|
||||
<style:style style:name="CustomTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomLastRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomFirstRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/>
|
||||
</style:style>
|
||||
|
||||
<!-- Table Cell Styles -->
|
||||
<style:style style:name="CustomTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:background-color="#ffffff" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomFirstRowTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:background-color="#000080" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomLastRowTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomFirstColumnTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:background-color="#4d4d4d" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="CustomLastColumnTableCell" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
|
||||
<!-- END: Custom Table Template -->
|
||||
|
||||
</office:automatic-styles>
|
||||
|
||||
<office:body>
|
||||
<office:text>
|
||||
<text:sequence-decls>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Equation"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Listing"/>
|
||||
</text:sequence-decls>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
|
@ -0,0 +1,861 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- See etc/org/README for copyright information -->
|
||||
<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2">
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/>
|
||||
<style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/>
|
||||
<style:font-face style:name="Courier New" svg:font-family="'Courier New'" style:font-family-generic="modern" style:font-pitch="fixed"/>
|
||||
<style:font-face style:name="NSimSun" svg:font-family="NSimSun" style:font-family-generic="modern" style:font-pitch="fixed"/>
|
||||
<style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
<office:styles>
|
||||
<style:default-style style:family="graphic">
|
||||
<style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
|
||||
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
|
||||
<style:tab-stops/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
|
||||
</style:default-style>
|
||||
<style:default-style style:family="paragraph">
|
||||
<style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
|
||||
<style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Tahoma" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
|
||||
</style:default-style>
|
||||
<style:default-style style:family="table">
|
||||
<style:table-properties table:border-model="collapsing"/>
|
||||
</style:default-style>
|
||||
<style:default-style style:family="table-row">
|
||||
<style:table-row-properties fo:keep-together="auto"/>
|
||||
</style:default-style>
|
||||
|
||||
<!-- Outline numbering -->
|
||||
<text:outline-style style:name="OrgOutline">
|
||||
<text:outline-level-style text:level="1" style:num-suffix=". " style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-0.762cm" fo:margin-left="0.762cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="2" style:num-suffix=". " style:num-format="1" text:display-levels="2">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.016cm" fo:margin-left="1.016cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="3" style:num-suffix=". " style:num-format="1" text:display-levels="3">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.27cm" fo:margin-left="1.27cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="4" style:num-suffix=". " style:num-format="1" text:display-levels="4">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.524cm" fo:margin-left="1.524cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="5" style:num-suffix=". " style:num-format="1" text:display-levels="5">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.778cm" fo:margin-left="1.778cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="6" style:num-suffix=". " style:num-format="1" text:display-levels="6">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.032cm" fo:margin-left="2.032cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="7" style:num-suffix=". " style:num-format="1" text:display-levels="7">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.286cm" fo:margin-left="2.286cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="8" style:num-suffix=". " style:num-format="1" text:display-levels="8">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.54cm" fo:margin-left="2.54cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="9" style:num-suffix=". " style:num-format="1" text:display-levels="9">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.794cm" fo:margin-left="2.794cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
<text:outline-level-style text:level="10" style:num-suffix=". " style:num-format="1" text:display-levels="10">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-3.048cm" fo:margin-left="3.048cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:outline-level-style>
|
||||
</text:outline-style>
|
||||
|
||||
<style:style style:name="Standard" style:family="paragraph" style:class="text"/>
|
||||
<style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
|
||||
<style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="17cm" style:type="right"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" style:font-name-asian="SimSun" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
|
||||
<style:text-properties style:font-name-complex="Tahoma1"/>
|
||||
</style:style>
|
||||
<style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
|
||||
<style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:font-style-complex="italic"/>
|
||||
</style:style>
|
||||
<style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
|
||||
<style:paragraph-properties text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties style:font-name-complex="Tahoma1"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="1" style:class="text">
|
||||
<style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_1_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_1" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="2" style:class="text">
|
||||
<style:text-properties fo:font-size="14pt" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-style-complex="italic" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_2_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_2" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:class="text">
|
||||
<style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_3_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_3" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_4" style:display-name="Heading 4" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="4" style:class="text">
|
||||
<style:text-properties fo:font-size="85%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="85%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-style-complex="italic" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_4_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_4" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_5" style:display-name="Heading 5" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="5" style:class="text">
|
||||
<style:text-properties fo:font-size="85%" fo:font-weight="bold" style:font-size-asian="85%" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_5_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_5" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_6" style:display-name="Heading 6" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="6" style:class="text">
|
||||
<style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_6_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_6" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_7" style:display-name="Heading 7" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="7" style:class="text">
|
||||
<style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_7_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_7" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_8" style:display-name="Heading 8" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="8" style:class="text">
|
||||
<style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_8_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_8" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_9" style:display-name="Heading 9" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="9" style:class="text">
|
||||
<style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_9_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_9" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_10" style:display-name="Heading 10" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="10" style:class="text">
|
||||
<style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_10_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_10" style:list-style-name="">
|
||||
</style:style>
|
||||
<style:style style:name="Heading_20_1.title" style:display-name="Heading 1.title" style:family="paragraph" style:parent-style-name="Heading_20_1">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Subtitle" style:class="chapter">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="18pt" fo:font-weight="bold" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-size-complex="18pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTitle" style:family="paragraph" style:parent-style-name="Title">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
|
||||
<style:text-properties fo:font-size="24pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgSubtitle" style:family="paragraph" style:parent-style-name="Subtitle">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
|
||||
<style:text-properties fo:font-size="20pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="Text_20_body_20_indent" style:display-name="Text body indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
|
||||
<style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="List_20_Indent" style:display-name="List Indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
|
||||
<style:paragraph-properties fo:margin-left="5.001cm" fo:margin-right="0cm" fo:text-indent="-4.5cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="0cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="First_20_line_20_indent" style:display-name="First line indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
|
||||
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0.499cm" style:auto-text-indent="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Hanging_20_indent" style:display-name="Hanging indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text">
|
||||
<style:paragraph-properties fo:margin-left="1cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="0cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Salutation" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
|
||||
<style:paragraph-properties text:number-lines="false" text:line-number="0"/>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_Heading" style:display-name="Contents Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_1" style:display-name="Contents 1" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_2" style:display-name="Contents 2" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_3" style:display-name="Contents 3" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="0.998cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_4" style:display-name="Contents 4" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="1.498cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="15.503cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_5" style:display-name="Contents 5" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="1.997cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="15.004cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_6" style:display-name="Contents 6" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="2.496cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="14.504cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_7" style:display-name="Contents 7" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="2.995cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="14.005cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_8" style:display-name="Contents 8" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="3.494cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="13.506cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_9" style:display-name="Contents 9" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="3.993cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="13.007cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Contents_20_10" style:display-name="Contents 10" style:family="paragraph" style:parent-style-name="Index" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="4.493cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="12.508cm" style:type="right" style:leader-style="dotted" style:leader-text="."/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
|
||||
<style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgFootnoteQuotations" style:family="paragraph" style:parent-style-name="Footnote" style:class="html">
|
||||
<style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Preformatted_20_Text" style:display-name="Preformatted Text" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
|
||||
<style:text-properties style:font-name="Courier New" fo:font-size="10pt" style:font-name-asian="NSimSun" style:font-size-asian="10pt" style:font-name-complex="Courier New" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgVerse" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
|
||||
<style:paragraph-properties fo:background-color="transparent" fo:padding="0cm" fo:border="none" style:shadow="none">
|
||||
<style:background-image/>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgClock" style:family="paragraph" style:parent-style-name="Text_20_body">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgClockLastLine" style:family="paragraph" style:parent-style-name="OrgClock"/>
|
||||
<style:style style:name="OrgPlanning" style:family="paragraph" style:parent-style-name="Text_20_body"/>
|
||||
|
||||
<!-- Fixed width block -->
|
||||
<style:style style:name="OrgFixedWidthBlock" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">
|
||||
<style:paragraph-properties fo:background-color="#c0c0c0" fo:padding="0.049cm" fo:border="0.06pt solid #000000" style:shadow="none">
|
||||
<style:background-image/>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="OrgFixedWidthBlockLastLine" style:family="paragraph" style:parent-style-name="OrgFixedWidthBlock">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgFormula" style:family="paragraph" style:parent-style-name="Text_20_body">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="17cm" style:type="right"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgSrcBlockLastLine" style:family="paragraph" style:parent-style-name="OrgSrcBlock">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgCenter" style:family="paragraph" style:parent-style-name="Text_20_body">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgFootnoteCenter" style:family="paragraph" style:parent-style-name="Footnote">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTableContents" style:family="paragraph" style:parent-style-name="Text_20_body"/>
|
||||
<style:style style:name="OrgTableHeading" style:family="paragraph" style:parent-style-name="OrgTableContents" style:class="extra">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgTableHeadingLeft" style:family="paragraph" style:parent-style-name="OrgTableHeading">
|
||||
<style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTableHeadingRight" style:family="paragraph" style:parent-style-name="OrgTableHeading">
|
||||
<style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTableHeadingCenter" style:family="paragraph" style:parent-style-name="OrgTableHeading">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgTableContentsLeft" style:family="paragraph" style:parent-style-name="OrgTableContents">
|
||||
<style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTableContentsRight" style:family="paragraph" style:parent-style-name="OrgTableContents">
|
||||
<style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTableContentsCenter" style:family="paragraph" style:parent-style-name="OrgTableContents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Text_20_body_20_bold" style:display-name="Text body bold" style:family="paragraph" style:parent-style-name="Text_20_body" style:next-style-name="Text_20_body">
|
||||
<style:text-properties fo:font-weight="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
|
||||
<style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="Figure" style:family="paragraph" style:parent-style-name="Caption"/>
|
||||
<style:style style:name="Illustration_20_Index_20_Heading" style:display-name="Illustration Index Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index">
|
||||
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Table" style:family="paragraph" style:parent-style-name="Caption" style:class="extra">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Listing" style:family="paragraph" style:parent-style-name="Caption" style:class="extra">
|
||||
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" fo:keep-with-next="always">
|
||||
<style:tab-stops/>
|
||||
</style:paragraph-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Horizontal_20_Line" style:display-name="Horizontal Line" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="html">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm" style:page-number="auto" fo:padding="0cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.06pt solid #000000" style:shadow="none" text:number-lines="false" text:line-number="0" style:join-border="false"/>
|
||||
<style:text-properties fo:font-size="6pt" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="Emphasis" style:family="text">
|
||||
<style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
|
||||
</style:style>
|
||||
<style:style style:name="Underline" style:family="text">
|
||||
<style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:background-color="transparent"/>
|
||||
</style:style>
|
||||
<style:style style:name="Strikethrough" style:family="text">
|
||||
<style:text-properties style:text-line-through-style="solid"/>
|
||||
</style:style>
|
||||
<style:style style:name="Source_20_Text" style:display-name="Source Text" style:family="text">
|
||||
<style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/>
|
||||
</style:style>
|
||||
<style:style style:name="Citation" style:family="text">
|
||||
<style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
|
||||
</style:style>
|
||||
<style:style style:name="Example" style:family="text">
|
||||
<style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgCode" style:family="text" style:parent-style-name="Source_20_Text"/>
|
||||
|
||||
<!-- BEGIN: Org Agenda Styles -->
|
||||
<style:style style:name="OrgTodo" style:family="text"/>
|
||||
<style:style style:name="OrgDone" style:family="text"/>
|
||||
|
||||
<style:style style:name="OrgTag" style:family="text">
|
||||
<style:text-properties fo:font-variant="small-caps" fo:background-color="transparent"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgTags" style:family="text"/>
|
||||
|
||||
<style:style style:name="OrgPriority" style:family="text"/>
|
||||
<style:style style:name="OrgPriority-A" style:family="text" style:parent-style-name="OrgPriority"/>
|
||||
<style:style style:name="OrgPriority-B" style:family="text" style:parent-style-name="OrgPriority"/>
|
||||
<style:style style:name="OrgPriority-C" style:family="text" style:parent-style-name="OrgPriority"/>
|
||||
|
||||
<style:style style:name="OrgTimestamp" style:display-name="OrgTimestamp" style:family="text">
|
||||
<style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgActiveTimestamp" style:family="text" style:parent-style-name="OrgTimestamp"/>
|
||||
<style:style style:name="OrgInactiveTimestamp" style:family="text" style:parent-style-name="OrgTimestamp"/>
|
||||
<style:style style:name="OrgTimestampKeyword" style:family="text">
|
||||
<style:text-properties style:use-window-font-color="true" fo:font-weight="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgScheduledKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/>
|
||||
<style:style style:name="OrgDeadlineKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/>
|
||||
<style:style style:name="OrgClockKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/>
|
||||
<style:style style:name="OrgClosedKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/>
|
||||
<style:style style:name="OrgTimestampWrapper" style:family="text"/>
|
||||
<style:style style:name="OrgTarget" style:family="text"/>
|
||||
|
||||
<number:date-style style:name="OrgDate" number:automatic-order="true">
|
||||
<number:day number:style="long"/>
|
||||
<number:text>/</number:text>
|
||||
<number:month number:style="long"/>
|
||||
<number:text>/</number:text>
|
||||
<number:year number:style="long"/>
|
||||
</number:date-style>
|
||||
<!-- END: Org Agenda Styles -->
|
||||
|
||||
<style:style style:name="Bold" style:family="text">
|
||||
<style:text-properties fo:font-weight="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Numbering_20_Symbols" style:display-name="Numbering Symbols" style:family="text"/>
|
||||
<style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/>
|
||||
<style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text">
|
||||
<style:text-properties style:text-position="super 58%"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgSuperscript" style:family="text">
|
||||
<style:text-properties style:text-position="super 58%"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgSubscript" style:family="text">
|
||||
<style:text-properties style:text-position="sub 58%"/>
|
||||
</style:style>
|
||||
<style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text">
|
||||
<style:text-properties fo:color="#000080" fo:language="zxx" fo:country="none" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" style:language-asian="zxx" style:country-asian="none" style:language-complex="zxx" style:country-complex="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Graphics" style:family="graphic">
|
||||
<style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
|
||||
</style:style>
|
||||
<style:style style:name="Frame" style:family="graphic">
|
||||
<style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" fo:margin-top="0.201cm" fo:margin-bottom="0.201cm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0.15cm" fo:border="0.002cm solid #000000"/>
|
||||
</style:style>
|
||||
|
||||
<!-- Simple Images -->
|
||||
<style:style style:name="OrgDisplayImage" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties text:anchor-type="paragraph" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgPageImage" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties text:anchor-type="page" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" style:shadow="none" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard">
|
||||
<style:background-image/>
|
||||
</style:graphic-properties>
|
||||
</style:style>
|
||||
|
||||
<!-- Captioned Images -->
|
||||
<style:style style:name="OrgCaptionedImage" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:rel-width="100%" text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgPageImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" fo:padding="0cm" fo:border="none" style:shadow="none">
|
||||
<style:background-image/>
|
||||
</style:graphic-properties>
|
||||
</style:style>
|
||||
|
||||
<!-- Inlined Images -->
|
||||
<style:style style:name="OrgInlineImage" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties text:anchor-type="as-char" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
|
||||
</style:style>
|
||||
|
||||
<!-- Inline Formula -->
|
||||
<style:style style:name="OrgFormula" style:family="graphic">
|
||||
<style:graphic-properties text:anchor-type="as-char" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text" style:shadow="none"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula">
|
||||
<style:graphic-properties text:anchor-type="as-char" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula">
|
||||
<style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" draw:ole-draw-aspect="1"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgDisplayFormula" style:family="graphic" style:parent-style-name="OrgFormula">
|
||||
<style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" draw:ole-draw-aspect="1"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgFormulaCaptionFrame" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:wrap="right" style:number-wrapped-paragraphs="1" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none"/>
|
||||
</style:style>
|
||||
|
||||
<style:style style:name="OrgCaptionedFormula" style:family="graphic" style:parent-style-name="OrgFormula">
|
||||
<style:graphic-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:ole-draw-aspect="1"/>
|
||||
</style:style>
|
||||
|
||||
<!-- Inline Tasks -->
|
||||
<style:style style:name="OrgInlineTaskHeading" style:family="paragraph" style:parent-style-name="Caption" style:next-style-name="Text_20_body">
|
||||
<style:text-properties style:font-name="Arial1" fo:font-style="normal" fo:font-weight="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="OrgInlineTaskFrame" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:background-color="#ffffcc" style:background-transparency="0%" fo:padding="0.15cm" fo:border="0.26pt solid #000000" style:shadow="none">
|
||||
<style:background-image/>
|
||||
</style:graphic-properties>
|
||||
</style:style>
|
||||
|
||||
<text:list-style style:name="Numbering_20_1" style:display-name="Numbering 1">
|
||||
<text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.499cm" fo:text-indent="-0.499cm" fo:margin-left="0.499cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1cm" fo:text-indent="-0.499cm" fo:margin-left="1cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.499cm" fo:text-indent="-0.499cm" fo:margin-left="1.499cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.499cm" fo:margin-left="2cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.499cm" fo:text-indent="-0.499cm" fo:margin-left="2.499cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3cm" fo:text-indent="-0.499cm" fo:margin-left="3cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.5cm" fo:text-indent="-0.499cm" fo:margin-left="3.5cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.499cm" fo:margin-left="4.001cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.5cm" fo:text-indent="-0.499cm" fo:margin-left="4.5cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.001cm" fo:text-indent="-0.499cm" fo:margin-left="5.001cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-number>
|
||||
</text:list-style>
|
||||
<text:list-style style:name="List_20_1" style:display-name="List 1">
|
||||
<text:list-level-style-bullet text:level="1" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="2" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.801cm" fo:text-indent="-0.4cm" fo:margin-left="0.801cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="3" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.199cm" fo:text-indent="-0.4cm" fo:margin-left="1.199cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="4" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.6cm" fo:text-indent="-0.4cm" fo:margin-left="1.6cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="5" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.4cm" fo:margin-left="2cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="6" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.401cm" fo:text-indent="-0.4cm" fo:margin-left="2.401cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="7" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.799cm" fo:text-indent="-0.4cm" fo:margin-left="2.799cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="8" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.2cm" fo:text-indent="-0.4cm" fo:margin-left="3.2cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="9" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.6cm" fo:text-indent="-0.4cm" fo:margin-left="3.6cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="10" text:style-name="Numbering_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.4cm" fo:margin-left="4.001cm"/>
|
||||
</style:list-level-properties>
|
||||
<style:text-properties style:font-name="OpenSymbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
</text:list-style>
|
||||
|
||||
<!-- Numbered List -->
|
||||
<text:list-style style:name="OrgNumberedList">
|
||||
<text:list-level-style-number text:level="1" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="2" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="3" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1">
|
||||
<style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
</text:list-style>
|
||||
|
||||
<!-- Bulleted List -->
|
||||
<text:list-style style:name="OrgBulletedList">
|
||||
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">
|
||||
<style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/>
|
||||
<style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
|
||||
</text:list-level-style-bullet>
|
||||
</text:list-style>
|
||||
|
||||
<!-- Description List -->
|
||||
<text:list-style style:name="OrgDescriptionList">
|
||||
<text:list-level-style-number text:level="1" style:num-format="">
|
||||
<style:list-level-properties text:space-before="0.635cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="2" style:num-format="">
|
||||
<style:list-level-properties text:space-before="1.27cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="3" style:num-format="">
|
||||
<style:list-level-properties text:space-before="1.905cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="4" style:num-format="">
|
||||
<style:list-level-properties text:space-before="2.54cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="5" style:num-format="">
|
||||
<style:list-level-properties text:space-before="3.175cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="6" style:num-format="">
|
||||
<style:list-level-properties text:space-before="3.81cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="7" style:num-format="">
|
||||
<style:list-level-properties text:space-before="4.445cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="8" style:num-format="">
|
||||
<style:list-level-properties text:space-before="5.08cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="9" style:num-format="">
|
||||
<style:list-level-properties text:space-before="5.715cm"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="10" style:num-format="">
|
||||
<style:list-level-properties text:space-before="6.35cm"/>
|
||||
</text:list-level-style-number>
|
||||
</text:list-style>
|
||||
|
||||
<text:list-style style:name="OrgSrcBlockNumberedLine">
|
||||
<text:list-level-style-number text:level="1" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="2" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="3" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="4" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="5" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="6" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="7" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="8" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="9" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
<text:list-level-style-number text:level="10" style:num-format="1">
|
||||
<style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/>
|
||||
</text:list-level-style-number>
|
||||
</text:list-style>
|
||||
|
||||
<text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
|
||||
<text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
|
||||
<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
|
||||
</office:styles>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="MP1" style:family="paragraph" style:parent-style-name="Footer">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
</style:style>
|
||||
<style:page-layout style:name="Mpm1" style:page-usage="mirrored">
|
||||
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
|
||||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||||
</style:page-layout-properties>
|
||||
<style:header-style/>
|
||||
<style:footer-style>
|
||||
<style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/>
|
||||
</style:footer-style>
|
||||
</style:page-layout>
|
||||
<style:page-layout style:name="Mpm2">
|
||||
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
|
||||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||||
</style:page-layout-properties>
|
||||
<style:header-style/>
|
||||
<style:footer-style/>
|
||||
</style:page-layout>
|
||||
<style:page-layout style:name="Mpm3" style:page-usage="mirrored">
|
||||
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="i" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
|
||||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||||
</style:page-layout-properties>
|
||||
<style:header-style/>
|
||||
<style:footer-style>
|
||||
<style:header-footer-properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm"/>
|
||||
</style:footer-style>
|
||||
</style:page-layout>
|
||||
<style:page-layout style:name="Mpm4" style:page-usage="right">
|
||||
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" fo:background-color="transparent" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
|
||||
<style:background-image/>
|
||||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||||
</style:page-layout-properties>
|
||||
<style:header-style/>
|
||||
<style:footer-style>
|
||||
<style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/>
|
||||
</style:footer-style>
|
||||
</style:page-layout>
|
||||
<style:page-layout style:name="Mpm5" style:page-usage="mirrored">
|
||||
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
|
||||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||||
</style:page-layout-properties>
|
||||
<style:header-style/>
|
||||
<style:footer-style>
|
||||
<style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/>
|
||||
</style:footer-style>
|
||||
</style:page-layout>
|
||||
</office:automatic-styles>
|
||||
<office:master-styles>
|
||||
<style:master-page style:name="Standard" style:page-layout-name="Mpm1">
|
||||
<style:footer>
|
||||
<text:p text:style-name="MP1"><text:page-number text:select-page="current"></text:page-number></text:p>
|
||||
</style:footer>
|
||||
</style:master-page>
|
||||
<style:master-page style:name="OrgTitlePage" style:page-layout-name="Mpm2" style:next-style-name="OrgFrontMatterPage"/>
|
||||
<style:master-page style:name="OrgFrontMatterPage" style:page-layout-name="Mpm3">
|
||||
<style:footer>
|
||||
<text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p>
|
||||
</style:footer>
|
||||
</style:master-page>
|
||||
<style:master-page style:name="OrgFirstPage" style:page-layout-name="Mpm4" style:next-style-name="OrgPage">
|
||||
<style:footer>
|
||||
<text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p>
|
||||
</style:footer>
|
||||
</style:master-page>
|
||||
<style:master-page style:name="OrgPage" style:page-layout-name="Mpm5">
|
||||
<style:footer>
|
||||
<text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p>
|
||||
</style:footer>
|
||||
</style:master-page>
|
||||
</office:master-styles>
|
||||
</office:document-styles>
|
|
@ -0,0 +1,36 @@
|
|||
The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the
|
||||
following copyright information:
|
||||
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
These files are part of GNU Emacs.
|
||||
|
||||
GNU Emacs 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.
|
||||
|
||||
GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
Author: Jambunathan K <kjambunathan at gmail dot com>
|
||||
Keywords: outlines, hypermedia, calendar, wp
|
||||
Homepage: https://orgmode.org
|
||||
|
||||
Commentary:
|
||||
|
||||
These files are part of Org-mode's OpenDocument export module.
|
||||
|
||||
OrgOdtContentTemplate.xml provides a template within which the content
|
||||
of an exported document is enclosed. This file contributes to
|
||||
"content.xml" file within an exported document and acts as a
|
||||
repository of automatic styles.
|
||||
|
||||
OrgOdtStyles.xml contributes to "styles.xml" file within an exported
|
||||
document and acts as a repository of custom styles.
|
|
@ -0,0 +1,469 @@
|
|||
;;; ob-C.el --- Babel Functions for C and Similar Languages -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Eric Schulte
|
||||
;; Thierry Banel
|
||||
;; Keywords: literate programming, reproducible research
|
||||
;; Homepage: https://orgmode.org
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs 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.
|
||||
|
||||
;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Org-Babel support for evaluating C, C++, D code.
|
||||
;;
|
||||
;; very limited implementation:
|
||||
;; - currently only support :results output
|
||||
;; - not much in the way of error feedback
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cc-mode)
|
||||
(require 'ob)
|
||||
|
||||
|
||||
(declare-function org-entry-get "org" (pom property &optional inherit literal-nil))
|
||||
(declare-function org-remove-indentation "org" (code &optional n))
|
||||
(declare-function org-trim "org" (s &optional keep-lead))
|
||||
|
||||
(defvar org-babel-tangle-lang-exts)
|
||||
(add-to-list 'org-babel-tangle-lang-exts '("C++" . "cpp"))
|
||||
(add-to-list 'org-babel-tangle-lang-exts '("D" . "d"))
|
||||
|
||||
(defvar org-babel-default-header-args:C '())
|
||||
|
||||
(defconst org-babel-header-args:C '((includes . :any)
|
||||
(defines . :any)
|
||||
(main . :any)
|
||||
(flags . :any)
|
||||
(cmdline . :any)
|
||||
(libs . :any))
|
||||
"C/C++-specific header arguments.")
|
||||
|
||||
(defconst org-babel-header-args:C++
|
||||
(append '((namespaces . :any))
|
||||
org-babel-header-args:C)
|
||||
"C++-specific header arguments.")
|
||||
|
||||
(defcustom org-babel-C-compiler "gcc"
|
||||
"Command used to compile a C source code file into an executable.
|
||||
May be either a command in the path, like gcc
|
||||
or an absolute path name, like /usr/local/bin/gcc
|
||||
parameter may be used, like gcc -v"
|
||||
:group 'org-babel
|
||||
:version "24.3"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-C++-compiler "g++"
|
||||
"Command used to compile a C++ source code file into an executable.
|
||||
May be either a command in the path, like g++
|
||||
or an absolute path name, like /usr/local/bin/g++
|
||||
parameter may be used, like g++ -v"
|
||||
:group 'org-babel
|
||||
:version "24.3"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-D-compiler "rdmd"
|
||||
"Command used to compile and execute a D source code file.
|
||||
May be either a command in the path, like rdmd
|
||||
or an absolute path name, like /usr/local/bin/rdmd
|
||||
parameter may be used, like rdmd --chatty"
|
||||
:group 'org-babel
|
||||
:version "24.3"
|
||||
:type 'string)
|
||||
|
||||
(defvar org-babel-c-variant nil
|
||||
"Internal variable used to hold which type of C (e.g. C or C++ or D)
|
||||
is currently being evaluated.")
|
||||
|
||||
(defun org-babel-execute:cpp (body params)
|
||||
"Execute BODY according to PARAMS.
|
||||
This function calls `org-babel-execute:C++'."
|
||||
(org-babel-execute:C++ body params))
|
||||
|
||||
(defun org-babel-expand-body:cpp (body params)
|
||||
"Expand a block of C++ code with org-babel according to its
|
||||
header arguments."
|
||||
(org-babel-expand-body:C++ body params))
|
||||
|
||||
(defun org-babel-execute:C++ (body params)
|
||||
"Execute a block of C++ code with org-babel.
|
||||
This function is called by `org-babel-execute-src-block'."
|
||||
(let ((org-babel-c-variant 'cpp)) (org-babel-C-execute body params)))
|
||||
|
||||
(defun org-babel-expand-body:C++ (body params)
|
||||
"Expand a block of C++ code with org-babel according to its
|
||||
header arguments."
|
||||
(let ((org-babel-c-variant 'cpp)) (org-babel-C-expand-C++ body params)))
|
||||
|
||||
(defun org-babel-execute:D (body params)
|
||||
"Execute a block of D code with org-babel.
|
||||
This function is called by `org-babel-execute-src-block'."
|
||||
(let ((org-babel-c-variant 'd)) (org-babel-C-execute body params)))
|
||||
|
||||
(defun org-babel-expand-body:D (body params)
|
||||
"Expand a block of D code with org-babel according to its
|
||||
header arguments."
|
||||
(let ((org-babel-c-variant 'd)) (org-babel-C-expand-D body params)))
|
||||
|
||||
(defun org-babel-execute:C (body params)
|
||||
"Execute a block of C code with org-babel.
|
||||
This function is called by `org-babel-execute-src-block'."
|
||||
(let ((org-babel-c-variant 'c)) (org-babel-C-execute body params)))
|
||||
|
||||
(defun org-babel-expand-body:C (body params)
|
||||
"Expand a block of C code with org-babel according to its
|
||||
header arguments."
|
||||
(let ((org-babel-c-variant 'c)) (org-babel-C-expand-C body params)))
|
||||
|
||||
(defun org-babel-C-execute (body params)
|
||||
"This function should only be called by `org-babel-execute:C'
|
||||
or `org-babel-execute:C++' or `org-babel-execute:D'."
|
||||
(let* ((tmp-src-file (org-babel-temp-file
|
||||
"C-src-"
|
||||
(pcase org-babel-c-variant
|
||||
(`c ".c") (`cpp ".cpp") (`d ".d"))))
|
||||
(tmp-bin-file ;not used for D
|
||||
(org-babel-process-file-name
|
||||
(org-babel-temp-file "C-bin-" org-babel-exeext)))
|
||||
(cmdline (cdr (assq :cmdline params)))
|
||||
(cmdline (if cmdline (concat " " cmdline) ""))
|
||||
(flags (cdr (assq :flags params)))
|
||||
(flags (mapconcat 'identity
|
||||
(if (listp flags) flags (list flags)) " "))
|
||||
(libs (org-babel-read
|
||||
(or (cdr (assq :libs params))
|
||||
(org-entry-get nil "libs" t))
|
||||
nil))
|
||||
(libs (mapconcat #'identity
|
||||
(if (listp libs) libs (list libs))
|
||||
" "))
|
||||
(full-body
|
||||
(pcase org-babel-c-variant
|
||||
(`c (org-babel-C-expand-C body params))
|
||||
(`cpp (org-babel-C-expand-C++ body params))
|
||||
(`d (org-babel-C-expand-D body params)))))
|
||||
(with-temp-file tmp-src-file (insert full-body))
|
||||
(pcase org-babel-c-variant
|
||||
((or `c `cpp)
|
||||
(org-babel-eval
|
||||
(format "%s -o %s %s %s %s"
|
||||
(pcase org-babel-c-variant
|
||||
(`c org-babel-C-compiler)
|
||||
(`cpp org-babel-C++-compiler))
|
||||
tmp-bin-file
|
||||
flags
|
||||
(org-babel-process-file-name tmp-src-file)
|
||||
libs)
|
||||
""))
|
||||
(`d nil)) ;; no separate compilation for D
|
||||
(let ((results
|
||||
(org-babel-eval
|
||||
(pcase org-babel-c-variant
|
||||
((or `c `cpp)
|
||||
(concat tmp-bin-file cmdline))
|
||||
(`d
|
||||
(format "%s %s %s %s"
|
||||
org-babel-D-compiler
|
||||
flags
|
||||
(org-babel-process-file-name tmp-src-file)
|
||||
cmdline)))
|
||||
"")))
|
||||
(when results
|
||||
(setq results (org-trim (org-remove-indentation results)))
|
||||
(org-babel-reassemble-table
|
||||
(org-babel-result-cond (cdr (assq :result-params params))
|
||||
(org-babel-read results t)
|
||||
(let ((tmp-file (org-babel-temp-file "c-")))
|
||||
(with-temp-file tmp-file (insert results))
|
||||
(org-babel-import-elisp-from-file tmp-file)))
|
||||
(org-babel-pick-name
|
||||
(cdr (assq :colname-names params)) (cdr (assq :colnames params)))
|
||||
(org-babel-pick-name
|
||||
(cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))
|
||||
)))
|
||||
|
||||
(defun org-babel-C-expand-C++ (body params)
|
||||
"Expand a block of C or C++ code with org-babel according to
|
||||
its header arguments."
|
||||
(org-babel-C-expand-C body params))
|
||||
|
||||
(defun org-babel-C-expand-C (body params)
|
||||
"Expand a block of C or C++ code with org-babel according to
|
||||
its header arguments."
|
||||
(let ((vars (org-babel--get-vars params))
|
||||
(colnames (cdr (assq :colname-names params)))
|
||||
(main-p (not (string= (cdr (assq :main params)) "no")))
|
||||
(includes (org-babel-read
|
||||
(cdr (assq :includes params))
|
||||
nil))
|
||||
(defines (org-babel-read
|
||||
(cdr (assq :defines params))
|
||||
nil))
|
||||
(namespaces (org-babel-read
|
||||
(cdr (assq :namespaces params))
|
||||
nil)))
|
||||
(when (stringp includes)
|
||||
(setq includes (split-string includes)))
|
||||
(when (stringp namespaces)
|
||||
(setq namespaces (split-string namespaces)))
|
||||
(when (stringp defines)
|
||||
(let ((y nil)
|
||||
(result (list t)))
|
||||
(dolist (x (split-string defines))
|
||||
(if (null y)
|
||||
(setq y x)
|
||||
(nconc result (list (concat y " " x)))
|
||||
(setq y nil)))
|
||||
(setq defines (cdr result))))
|
||||
(mapconcat 'identity
|
||||
(list
|
||||
;; includes
|
||||
(mapconcat
|
||||
(lambda (inc) (format "#include %s" inc))
|
||||
includes "\n")
|
||||
;; defines
|
||||
(mapconcat
|
||||
(lambda (inc) (format "#define %s" inc))
|
||||
(if (listp defines) defines (list defines)) "\n")
|
||||
;; namespaces
|
||||
(mapconcat
|
||||
(lambda (inc) (format "using namespace %s;" inc))
|
||||
namespaces
|
||||
"\n")
|
||||
;; variables
|
||||
(mapconcat 'org-babel-C-var-to-C vars "\n")
|
||||
;; table sizes
|
||||
(mapconcat 'org-babel-C-table-sizes-to-C vars "\n")
|
||||
;; tables headers utility
|
||||
(when colnames
|
||||
(org-babel-C-utility-header-to-C))
|
||||
;; tables headers
|
||||
(mapconcat 'org-babel-C-header-to-C colnames "\n")
|
||||
;; body
|
||||
(if main-p
|
||||
(org-babel-C-ensure-main-wrap body)
|
||||
body) "\n") "\n")))
|
||||
|
||||
(defun org-babel-C-expand-D (body params)
|
||||
"Expand a block of D code with org-babel according to
|
||||
its header arguments."
|
||||
(let ((vars (org-babel--get-vars params))
|
||||
(colnames (cdr (assq :colname-names params)))
|
||||
(main-p (not (string= (cdr (assq :main params)) "no")))
|
||||
(imports (or (cdr (assq :imports params))
|
||||
(org-babel-read (org-entry-get nil "imports" t)))))
|
||||
(when (stringp imports)
|
||||
(setq imports (split-string imports)))
|
||||
(setq imports (append imports '("std.stdio" "std.conv")))
|
||||
(mapconcat 'identity
|
||||
(list
|
||||
"module mmm;"
|
||||
;; imports
|
||||
(mapconcat
|
||||
(lambda (inc) (format "import %s;" inc))
|
||||
imports "\n")
|
||||
;; variables
|
||||
(mapconcat 'org-babel-C-var-to-C vars "\n")
|
||||
;; table sizes
|
||||
(mapconcat 'org-babel-C-table-sizes-to-C vars "\n")
|
||||
;; tables headers utility
|
||||
(when colnames
|
||||
(org-babel-C-utility-header-to-C))
|
||||
;; tables headers
|
||||
(mapconcat 'org-babel-C-header-to-C colnames "\n")
|
||||
;; body
|
||||
(if main-p
|
||||
(org-babel-C-ensure-main-wrap body)
|
||||
body) "\n") "\n")))
|
||||
|
||||
(defun org-babel-C-ensure-main-wrap (body)
|
||||
"Wrap BODY in a \"main\" function call if none exists."
|
||||
(if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body)
|
||||
body
|
||||
(format "int main() {\n%s\nreturn 0;\n}\n" body)))
|
||||
|
||||
(defun org-babel-prep-session:C (_session _params)
|
||||
"This function does nothing as C is a compiled language with no
|
||||
support for sessions"
|
||||
(error "C is a compiled language -- no support for sessions"))
|
||||
|
||||
(defun org-babel-load-session:C (_session _body _params)
|
||||
"This function does nothing as C is a compiled language with no
|
||||
support for sessions"
|
||||
(error "C is a compiled language -- no support for sessions"))
|
||||
|
||||
;; helper functions
|
||||
|
||||
(defun org-babel-C-format-val (type val)
|
||||
"Handle the FORMAT part of TYPE with the data from VAL."
|
||||
(let ((format-data (cadr type)))
|
||||
(if (stringp format-data)
|
||||
(cons "" (format format-data val))
|
||||
(funcall format-data val))))
|
||||
|
||||
(defun org-babel-C-val-to-C-type (val)
|
||||
"Determine the type of VAL.
|
||||
Return a list (TYPE-NAME FORMAT). TYPE-NAME should be the name of the type.
|
||||
FORMAT can be either a format string or a function which is called with VAL."
|
||||
(let* ((basetype (org-babel-C-val-to-base-type val))
|
||||
(type
|
||||
(pcase basetype
|
||||
(`integerp '("int" "%d"))
|
||||
(`floatp '("double" "%f"))
|
||||
(`stringp
|
||||
(list
|
||||
(if (eq org-babel-c-variant 'd) "string" "const char*")
|
||||
"\"%s\""))
|
||||
(_ (error "unknown type %S" basetype)))))
|
||||
(cond
|
||||
((integerp val) type) ;; an integer declared in the #+begin_src line
|
||||
((floatp val) type) ;; a numeric declared in the #+begin_src line
|
||||
((and (listp val) (listp (car val))) ;; a table
|
||||
`(,(car type)
|
||||
(lambda (val)
|
||||
(cons
|
||||
(format "[%d][%d]" (length val) (length (car val)))
|
||||
(concat
|
||||
(if (eq org-babel-c-variant 'd) "[\n" "{\n")
|
||||
(mapconcat
|
||||
(lambda (v)
|
||||
(concat
|
||||
(if (eq org-babel-c-variant 'd) " [" " {")
|
||||
(mapconcat (lambda (w) (format ,(cadr type) w)) v ",")
|
||||
(if (eq org-babel-c-variant 'd) "]" "}")))
|
||||
val
|
||||
",\n")
|
||||
(if (eq org-babel-c-variant 'd) "\n]" "\n}"))))))
|
||||
((or (listp val) (vectorp val)) ;; a list declared in the #+begin_src line
|
||||
`(,(car type)
|
||||
(lambda (val)
|
||||
(cons
|
||||
(format "[%d]" (length val))
|
||||
(concat
|
||||
(if (eq org-babel-c-variant 'd) "[" "{")
|
||||
(mapconcat (lambda (v) (format ,(cadr type) v)) val ",")
|
||||
(if (eq org-babel-c-variant 'd) "]" "}"))))))
|
||||
(t ;; treat unknown types as string
|
||||
type))))
|
||||
|
||||
(defun org-babel-C-val-to-base-type (val)
|
||||
"Determine the base type of VAL which may be
|
||||
`integerp' if all base values are integers
|
||||
`floatp' if all base values are either floating points or integers
|
||||
`stringp' otherwise."
|
||||
(cond
|
||||
((integerp val) 'integerp)
|
||||
((floatp val) 'floatp)
|
||||
((or (listp val) (vectorp val))
|
||||
(let ((type nil))
|
||||
(mapc (lambda (v)
|
||||
(pcase (org-babel-C-val-to-base-type v)
|
||||
(`stringp (setq type 'stringp))
|
||||
(`floatp
|
||||
(if (or (not type) (eq type 'integerp))
|
||||
(setq type 'floatp)))
|
||||
(`integerp
|
||||
(unless type (setq type 'integerp)))))
|
||||
val)
|
||||
type))
|
||||
(t 'stringp)))
|
||||
|
||||
(defun org-babel-C-var-to-C (pair)
|
||||
"Convert an elisp val into a string of C code specifying a var
|
||||
of the same value."
|
||||
;; TODO list support
|
||||
(let ((var (car pair))
|
||||
(val (cdr pair)))
|
||||
(when (symbolp val)
|
||||
(setq val (symbol-name val))
|
||||
(when (= (length val) 1)
|
||||
(setq val (string-to-char val))))
|
||||
(let* ((type-data (org-babel-C-val-to-C-type val))
|
||||
(type (car type-data))
|
||||
(formated (org-babel-C-format-val type-data val))
|
||||
(suffix (car formated))
|
||||
(data (cdr formated)))
|
||||
(format "%s %s%s = %s;"
|
||||
type
|
||||
var
|
||||
suffix
|
||||
data))))
|
||||
|
||||
(defun org-babel-C-table-sizes-to-C (pair)
|
||||
"Create constants of table dimensions, if PAIR is a table."
|
||||
(when (listp (cdr pair))
|
||||
(cond
|
||||
((listp (cadr pair)) ;; a table
|
||||
(concat
|
||||
(format "const int %s_rows = %d;" (car pair) (length (cdr pair)))
|
||||
"\n"
|
||||
(format "const int %s_cols = %d;" (car pair) (length (cadr pair)))))
|
||||
(t ;; a list declared in the #+begin_src line
|
||||
(format "const int %s_cols = %d;" (car pair) (length (cdr pair)))))))
|
||||
|
||||
(defun org-babel-C-utility-header-to-C ()
|
||||
"Generate a utility function to convert a column name
|
||||
into a column number."
|
||||
(pcase org-babel-c-variant
|
||||
((or `c `cpp)
|
||||
"int get_column_num (int nbcols, const char** header, const char* column)
|
||||
{
|
||||
int c;
|
||||
for (c=0; c<nbcols; c++)
|
||||
if (strcmp(header[c],column)==0)
|
||||
return c;
|
||||
return -1;
|
||||
}
|
||||
")
|
||||
(`d
|
||||
"int get_column_num (string[] header, string column)
|
||||
{
|
||||
foreach (c, h; header)
|
||||
if (h==column)
|
||||
return to!int(c);
|
||||
return -1;
|
||||
}
|
||||
")))
|
||||
|
||||
(defun org-babel-C-header-to-C (head)
|
||||
"Convert an elisp list of header table into a C or D vector
|
||||
specifying a variable with the name of the table."
|
||||
(let ((table (car head))
|
||||
(headers (cdr head)))
|
||||
(concat
|
||||
(format
|
||||
(pcase org-babel-c-variant
|
||||
((or `c `cpp) "const char* %s_header[%d] = {%s};")
|
||||
(`d "string %s_header[%d] = [%s];"))
|
||||
table
|
||||
(length headers)
|
||||
(mapconcat (lambda (h) (format "%S" h)) headers ","))
|
||||
"\n"
|
||||
(pcase org-babel-c-variant
|
||||
((or `c `cpp)
|
||||
(format
|
||||
"const char* %s_h (int row, const char* col) { return %s[row][get_column_num(%d,%s_header,col)]; }"
|
||||
table table (length headers) table))
|
||||
(`d
|
||||
(format
|
||||
"string %s_h (size_t row, string col) { return %s[row][get_column_num(%s_header,col)]; }"
|
||||
table table table))))))
|
||||
|
||||
(provide 'ob-C)
|
||||
|
||||
;;; ob-C.el ends here
|
Binary file not shown.
|
@ -0,0 +1,186 @@
|
|||
;;; ob-J.el --- Babel Functions for J -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2011-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel
|
||||
;; Keywords: literate programming, reproducible research
|
||||
;; Homepage: https://orgmode.org
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs 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.
|
||||
|
||||
;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Org-Babel support for evaluating J code.
|
||||
;;
|
||||
;; Session interaction depends on `j-console' from package `j-mode'
|
||||
;; (available in MELPA).
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ob)
|
||||
|
||||
(declare-function org-trim "org" (s &optional keep-lead))
|
||||
(declare-function j-console-ensure-session "ext:j-console" ())
|
||||
|
||||
(defcustom org-babel-J-command "jconsole"
|
||||
"Command to call J."
|
||||
:group 'org-babel
|
||||
:version "26.1"
|
||||
:package-version '(Org . "9.0")
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-expand-body:J (body _params &optional _processed-params)
|
||||
"Expand BODY according to PARAMS, return the expanded body.
|
||||
PROCESSED-PARAMS isn't used yet."
|
||||
(org-babel-J-interleave-echos-except-functions body))
|
||||
|
||||
(defun org-babel-J-interleave-echos (body)
|
||||
"Interleave echo',' between each source line of BODY."
|
||||
(mapconcat #'identity (split-string body "\n") "\necho','\n"))
|
||||
|
||||
(defun org-babel-J-interleave-echos-except-functions (body)
|
||||
"Interleave echo',' between source lines of BODY that aren't functions."
|
||||
(if (obj-string-match-m "\\(?:^\\|\n\\)[^\n]*\\(?:0\\|1\\|2\\|3\\|4\\|dyad\\) : 0\n.*\n)\\(?:\n\\|$\\)" body)
|
||||
(let ((s1 (substring body 0 (match-beginning 0)))
|
||||
(s2 (match-string 0 body))
|
||||
(s3 (substring body (match-end 0))))
|
||||
(concat
|
||||
(if (string= s1 "")
|
||||
""
|
||||
(concat (org-babel-J-interleave-echos s1)
|
||||
"\necho','\n"))
|
||||
s2
|
||||
"\necho','\n"
|
||||
(org-babel-J-interleave-echos-except-functions s3)))
|
||||
(org-babel-J-interleave-echos body)))
|
||||
|
||||
(defalias 'org-babel-execute:j 'org-babel-execute:J)
|
||||
|
||||
(defun org-babel-execute:J (body params)
|
||||
"Execute a block of J code BODY.
|
||||
PARAMS are given by org-babel.
|
||||
This function is called by `org-babel-execute-src-block'"
|
||||
(message "executing J source code block")
|
||||
(let* ((processed-params (org-babel-process-params params))
|
||||
(sessionp (cdr (assq :session params)))
|
||||
(full-body (org-babel-expand-body:J
|
||||
body params processed-params))
|
||||
(tmp-script-file (org-babel-temp-file "J-src")))
|
||||
(org-babel-j-initiate-session sessionp)
|
||||
(org-babel-J-strip-whitespace
|
||||
(if (string= sessionp "none")
|
||||
(progn
|
||||
(with-temp-file tmp-script-file
|
||||
(insert full-body))
|
||||
(org-babel-eval (format "%s < %s" org-babel-J-command tmp-script-file) ""))
|
||||
(org-babel-J-eval-string full-body)))))
|
||||
|
||||
(defun org-babel-J-eval-string (str)
|
||||
"Sends STR to the `j-console-cmd' session and executes it."
|
||||
(let ((session (j-console-ensure-session)))
|
||||
(with-current-buffer (process-buffer session)
|
||||
(goto-char (point-max))
|
||||
(insert (format "\n%s\n" str))
|
||||
(let ((beg (point)))
|
||||
(comint-send-input)
|
||||
(sit-for .1)
|
||||
(buffer-substring-no-properties
|
||||
beg (point-max))))))
|
||||
|
||||
(defun org-babel-J-strip-whitespace (str)
|
||||
"Remove whitespace from jconsole output STR."
|
||||
(mapconcat
|
||||
#'identity
|
||||
(delete "" (mapcar
|
||||
#'org-babel-J-print-block
|
||||
(split-string str "^ *,\n" t)))
|
||||
"\n\n"))
|
||||
|
||||
(defun obj-get-string-alignment (str)
|
||||
"Return a number to describe STR alignment.
|
||||
STR represents a table.
|
||||
Positive/negative/zero result means right/left/undetermined.
|
||||
Don't trust first line."
|
||||
(let* ((str (org-trim str))
|
||||
(lines (split-string str "\n" t))
|
||||
n1 n2)
|
||||
(cond ((<= (length lines) 1)
|
||||
0)
|
||||
((= (length lines) 2)
|
||||
;; numbers are right-aligned
|
||||
(if (and
|
||||
(numberp (read (car lines)))
|
||||
(numberp (read (cadr lines)))
|
||||
(setq n1 (obj-match-second-space-right (nth 0 lines)))
|
||||
(setq n2 (obj-match-second-space-right (nth 1 lines))))
|
||||
n2
|
||||
0))
|
||||
((not (obj-match-second-space-left (nth 0 lines)))
|
||||
0)
|
||||
((and
|
||||
(setq n1 (obj-match-second-space-left (nth 1 lines)))
|
||||
(setq n2 (obj-match-second-space-left (nth 2 lines)))
|
||||
(= n1 n2))
|
||||
n1)
|
||||
((and
|
||||
(setq n1 (obj-match-second-space-right (nth 1 lines)))
|
||||
(setq n2 (obj-match-second-space-right (nth 2 lines)))
|
||||
(= n1 n2))
|
||||
(- n1))
|
||||
(t 0))))
|
||||
|
||||
(defun org-babel-J-print-block (x)
|
||||
"Prettify jconsole output X."
|
||||
(let* ((x (org-trim x))
|
||||
(a (obj-get-string-alignment x))
|
||||
(lines (split-string x "\n" t))
|
||||
b)
|
||||
(cond ((< a 0)
|
||||
(setq b (obj-match-second-space-right (nth 0 lines)))
|
||||
(concat (make-string (+ a b) ? ) x))
|
||||
((> a 0)
|
||||
(setq b (obj-match-second-space-left (nth 0 lines)))
|
||||
(concat (make-string (- a b) ? ) x))
|
||||
(t x))))
|
||||
|
||||
(defun obj-match-second-space-left (s)
|
||||
"Return position of leftmost space in second space block of S or nil."
|
||||
(and (string-match "^ *[^ ]+\\( \\)" s)
|
||||
(match-beginning 1)))
|
||||
|
||||
(defun obj-match-second-space-right (s)
|
||||
"Return position of rightmost space in second space block of S or nil."
|
||||
(and (string-match "^ *[^ ]+ *\\( \\)[^ ]" s)
|
||||
(match-beginning 1)))
|
||||
|
||||
(defun obj-string-match-m (regexp string &optional start)
|
||||
"Call (string-match REGEXP STRING START).
|
||||
REGEXP is modified so that .* matches newlines as well."
|
||||
(string-match
|
||||
(replace-regexp-in-string "\\.\\*" "[\0-\377[:nonascii:]]*" regexp)
|
||||
string
|
||||
start))
|
||||
|
||||
(defun org-babel-j-initiate-session (&optional session)
|
||||
"Initiate a J session.
|
||||
SESSION is a parameter given by org-babel."
|
||||
(unless (string= session "none")
|
||||
(require 'j-console)
|
||||
(j-console-ensure-session)))
|
||||
|
||||
(provide 'ob-J)
|
||||
|
||||
;;; ob-J.el ends here
|
Binary file not shown.
|
@ -0,0 +1,469 @@
|
|||
;;; ob-R.el --- Babel Functions for R -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Eric Schulte
|
||||
;; Dan Davison
|
||||
;; Keywords: literate programming, reproducible research, R, statistics
|
||||
;; Homepage: https://orgmode.org
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs 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.
|
||||
|
||||
;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Org-Babel support for evaluating R code
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'ob)
|
||||
|
||||
(declare-function orgtbl-to-tsv "org-table" (table params))
|
||||
(declare-function R "ext:essd-r" (&optional start-args))
|
||||
(declare-function inferior-ess-send-input "ext:ess-inf" ())
|
||||
(declare-function ess-make-buffer-current "ext:ess-inf" ())
|
||||
(declare-function ess-eval-buffer "ext:ess-inf" (vis))
|
||||
(declare-function ess-wait-for-process "ext:ess-inf"
|
||||
(&optional proc sec-prompt wait force-redisplay))
|
||||
|
||||
(defconst org-babel-header-args:R
|
||||
'((width . :any)
|
||||
(height . :any)
|
||||
(bg . :any)
|
||||
(units . :any)
|
||||
(pointsize . :any)
|
||||
(antialias . :any)
|
||||
(quality . :any)
|
||||
(compression . :any)
|
||||
(res . :any)
|
||||
(type . :any)
|
||||
(family . :any)
|
||||
(title . :any)
|
||||
(fonts . :any)
|
||||
(version . :any)
|
||||
(paper . :any)
|
||||
(encoding . :any)
|
||||
(pagecentre . :any)
|
||||
(colormodel . :any)
|
||||
(useDingbats . :any)
|
||||
(horizontal . :any)
|
||||
(results . ((file list vector table scalar verbatim)
|
||||
(raw html latex org code pp drawer)
|
||||
(replace silent none append prepend)
|
||||
(output value graphics))))
|
||||
"R-specific header arguments.")
|
||||
|
||||
(defconst ob-R-safe-header-args
|
||||
(append org-babel-safe-header-args
|
||||
'(:width :height :bg :units :pointsize :antialias :quality
|
||||
:compression :res :type :family :title :fonts
|
||||
:version :paper :encoding :pagecentre :colormodel
|
||||
:useDingbats :horizontal))
|
||||
"Header args which are safe for R babel blocks.
|
||||
|
||||
See `org-babel-safe-header-args' for documentation of the format of
|
||||
this variable.")
|
||||
|
||||
(defvar org-babel-default-header-args:R '())
|
||||
(put 'org-babel-default-header-args:R 'safe-local-variable
|
||||
(org-babel-header-args-safe-fn ob-R-safe-header-args))
|
||||
|
||||
(defcustom org-babel-R-command "R --slave --no-save"
|
||||
"Name of command to use for executing R code."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defvar ess-current-process-name) ; dynamically scoped
|
||||
(defvar ess-local-process-name) ; dynamically scoped
|
||||
(defun org-babel-edit-prep:R (info)
|
||||
(let ((session (cdr (assq :session (nth 2 info)))))
|
||||
(when (and session
|
||||
(string-prefix-p "*" session)
|
||||
(string-suffix-p "*" session))
|
||||
(org-babel-R-initiate-session session nil))))
|
||||
|
||||
;; The usage of utils::read.table() ensures that the command
|
||||
;; read.table() can be found even in circumstances when the utils
|
||||
;; package is not in the search path from R.
|
||||
(defconst ob-R-transfer-variable-table-with-header
|
||||
"%s <- local({
|
||||
con <- textConnection(
|
||||
%S
|
||||
)
|
||||
res <- utils::read.table(
|
||||
con,
|
||||
header = %s,
|
||||
row.names = %s,
|
||||
sep = \"\\t\",
|
||||
as.is = TRUE
|
||||
)
|
||||
close(con)
|
||||
res
|
||||
})"
|
||||
"R code used to transfer a table defined as a variable from org to R.
|
||||
|
||||
This function is used when the table contains a header.")
|
||||
|
||||
(defconst ob-R-transfer-variable-table-without-header
|
||||
"%s <- local({
|
||||
con <- textConnection(
|
||||
%S
|
||||
)
|
||||
res <- utils::read.table(
|
||||
con,
|
||||
header = %s,
|
||||
row.names = %s,
|
||||
sep = \"\\t\",
|
||||
as.is = TRUE,
|
||||
fill = TRUE,
|
||||
col.names = paste(\"V\", seq_len(%d), sep =\"\")
|
||||
)
|
||||
close(con)
|
||||
res
|
||||
})"
|
||||
"R code used to transfer a table defined as a variable from org to R.
|
||||
|
||||
This function is used when the table does not contain a header.")
|
||||
|
||||
(defun org-babel-expand-body:R (body params &optional _graphics-file)
|
||||
"Expand BODY according to PARAMS, return the expanded body."
|
||||
(mapconcat 'identity
|
||||
(append
|
||||
(when (cdr (assq :prologue params))
|
||||
(list (cdr (assq :prologue params))))
|
||||
(org-babel-variable-assignments:R params)
|
||||
(list body)
|
||||
(when (cdr (assq :epilogue params))
|
||||
(list (cdr (assq :epilogue params)))))
|
||||
"\n"))
|
||||
|
||||
(defun org-babel-execute:R (body params)
|
||||
"Execute a block of R code.
|
||||
This function is called by `org-babel-execute-src-block'."
|
||||
(save-excursion
|
||||
(let* ((result-params (cdr (assq :result-params params)))
|
||||
(result-type (cdr (assq :result-type params)))
|
||||
(session (org-babel-R-initiate-session
|
||||
(cdr (assq :session params)) params))
|
||||
(graphics-file (and (member "graphics" (assq :result-params params))
|
||||
(org-babel-graphical-output-file params)))
|
||||
(colnames-p (unless graphics-file (cdr (assq :colnames params))))
|
||||
(rownames-p (unless graphics-file (cdr (assq :rownames params))))
|
||||
(full-body
|
||||
(let ((inside
|
||||
(list (org-babel-expand-body:R body params graphics-file))))
|
||||
(mapconcat 'identity
|
||||
(if graphics-file
|
||||
(append
|
||||
(list (org-babel-R-construct-graphics-device-call
|
||||
graphics-file params))
|
||||
inside
|
||||
(list "},error=function(e){plot(x=-1:1, y=-1:1, type='n', xlab='', ylab='', axes=FALSE); text(x=0, y=0, labels=e$message, col='red'); paste('ERROR', e$message, sep=' : ')}); dev.off()"))
|
||||
inside)
|
||||
"\n")))
|
||||
(result
|
||||
(org-babel-R-evaluate
|
||||
session full-body result-type result-params
|
||||
(or (equal "yes" colnames-p)
|
||||
(org-babel-pick-name
|
||||
(cdr (assq :colname-names params)) colnames-p))
|
||||
(or (equal "yes" rownames-p)
|
||||
(org-babel-pick-name
|
||||
(cdr (assq :rowname-names params)) rownames-p)))))
|
||||
(if graphics-file nil result))))
|
||||
|
||||
(defun org-babel-prep-session:R (session params)
|
||||
"Prepare SESSION according to the header arguments specified in PARAMS."
|
||||
(let* ((session (org-babel-R-initiate-session session params))
|
||||
(var-lines (org-babel-variable-assignments:R params)))
|
||||
(org-babel-comint-in-buffer session
|
||||
(mapc (lambda (var)
|
||||
(end-of-line 1) (insert var) (comint-send-input nil t)
|
||||
(org-babel-comint-wait-for-output session)) var-lines))
|
||||
session))
|
||||
|
||||
(defun org-babel-load-session:R (session body params)
|
||||
"Load BODY into SESSION."
|
||||
(save-window-excursion
|
||||
(let ((buffer (org-babel-prep-session:R session params)))
|
||||
(with-current-buffer buffer
|
||||
(goto-char (process-mark (get-buffer-process (current-buffer))))
|
||||
(insert (org-babel-chomp body)))
|
||||
buffer)))
|
||||
|
||||
;; helper functions
|
||||
|
||||
(defun org-babel-variable-assignments:R (params)
|
||||
"Return list of R statements assigning the block's variables."
|
||||
(let ((vars (org-babel--get-vars params)))
|
||||
(mapcar
|
||||
(lambda (pair)
|
||||
(org-babel-R-assign-elisp
|
||||
(car pair) (cdr pair)
|
||||
(equal "yes" (cdr (assq :colnames params)))
|
||||
(equal "yes" (cdr (assq :rownames params)))))
|
||||
(mapcar
|
||||
(lambda (i)
|
||||
(cons (car (nth i vars))
|
||||
(org-babel-reassemble-table
|
||||
(cdr (nth i vars))
|
||||
(cdr (nth i (cdr (assq :colname-names params))))
|
||||
(cdr (nth i (cdr (assq :rowname-names params)))))))
|
||||
(number-sequence 0 (1- (length vars)))))))
|
||||
|
||||
(defun org-babel-R-quote-tsv-field (s)
|
||||
"Quote field S for export to R."
|
||||
(if (stringp s)
|
||||
(concat "\"" (mapconcat 'identity (split-string s "\"") "\"\"") "\"")
|
||||
(format "%S" s)))
|
||||
|
||||
(defun org-babel-R-assign-elisp (name value colnames-p rownames-p)
|
||||
"Construct R code assigning the elisp VALUE to a variable named NAME."
|
||||
(if (listp value)
|
||||
(let* ((lengths (mapcar 'length (cl-remove-if-not 'sequencep value)))
|
||||
(max (if lengths (apply 'max lengths) 0))
|
||||
(min (if lengths (apply 'min lengths) 0)))
|
||||
;; Ensure VALUE has an orgtbl structure (depth of at least 2).
|
||||
(unless (listp (car value)) (setq value (list value)))
|
||||
(let ((file (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field)))
|
||||
(header (if (or (eq (nth 1 value) 'hline) colnames-p)
|
||||
"TRUE" "FALSE"))
|
||||
(row-names (if rownames-p "1" "NULL")))
|
||||
(if (= max min)
|
||||
(format ob-R-transfer-variable-table-with-header
|
||||
name file header row-names)
|
||||
(format ob-R-transfer-variable-table-without-header
|
||||
name file header row-names max))))
|
||||
(cond ((integerp value) (format "%s <- %s" name (concat (number-to-string value) "L")))
|
||||
((floatp value) (format "%s <- %s" name value))
|
||||
((stringp value) (format "%s <- %S" name (org-no-properties value)))
|
||||
(t (format "%s <- %S" name (prin1-to-string value))))))
|
||||
|
||||
|
||||
(defvar ess-ask-for-ess-directory) ; dynamically scoped
|
||||
(defun org-babel-R-initiate-session (session params)
|
||||
"If there is not a current R process then create one."
|
||||
(unless (string= session "none")
|
||||
(let ((session (or session "*R*"))
|
||||
(ess-ask-for-ess-directory
|
||||
(and (boundp 'ess-ask-for-ess-directory)
|
||||
ess-ask-for-ess-directory
|
||||
(not (cdr (assq :dir params))))))
|
||||
(if (org-babel-comint-buffer-livep session)
|
||||
session
|
||||
(save-window-excursion
|
||||
(when (get-buffer session)
|
||||
;; Session buffer exists, but with dead process
|
||||
(set-buffer session))
|
||||
(require 'ess) (R)
|
||||
(let ((R-proc (get-process (or ess-local-process-name
|
||||
ess-current-process-name))))
|
||||
(while (process-get R-proc 'callbacks)
|
||||
(ess-wait-for-process R-proc)))
|
||||
(rename-buffer
|
||||
(if (bufferp session)
|
||||
(buffer-name session)
|
||||
(if (stringp session)
|
||||
session
|
||||
(buffer-name))))
|
||||
(current-buffer))))))
|
||||
|
||||
(defun org-babel-R-associate-session (session)
|
||||
"Associate R code buffer with an R session.
|
||||
Make SESSION be the inferior ESS process associated with the
|
||||
current code buffer."
|
||||
(setq ess-local-process-name
|
||||
(process-name (get-buffer-process session)))
|
||||
(ess-make-buffer-current))
|
||||
|
||||
(defvar org-babel-R-graphics-devices
|
||||
'((:bmp "bmp" "filename")
|
||||
(:jpg "jpeg" "filename")
|
||||
(:jpeg "jpeg" "filename")
|
||||
(:tikz "tikz" "file")
|
||||
(:tiff "tiff" "filename")
|
||||
(:png "png" "filename")
|
||||
(:svg "svg" "file")
|
||||
(:pdf "pdf" "file")
|
||||
(:ps "postscript" "file")
|
||||
(:postscript "postscript" "file"))
|
||||
"An alist mapping graphics file types to R functions.
|
||||
|
||||
Each member of this list is a list with three members:
|
||||
1. the file extension of the graphics file, as an elisp :keyword
|
||||
2. the R graphics device function to call to generate such a file
|
||||
3. the name of the argument to this function which specifies the
|
||||
file to write to (typically \"file\" or \"filename\")")
|
||||
|
||||
(defun org-babel-R-construct-graphics-device-call (out-file params)
|
||||
"Construct the call to the graphics device."
|
||||
(let* ((allowed-args '(:width :height :bg :units :pointsize
|
||||
:antialias :quality :compression :res
|
||||
:type :family :title :fonts :version
|
||||
:paper :encoding :pagecentre :colormodel
|
||||
:useDingbats :horizontal))
|
||||
(device (file-name-extension out-file))
|
||||
(device-info (or (assq (intern (concat ":" device))
|
||||
org-babel-R-graphics-devices)
|
||||
(assq :png org-babel-R-graphics-devices)))
|
||||
(extra-args (cdr (assq :R-dev-args params))) filearg args)
|
||||
(setq device (nth 1 device-info))
|
||||
(setq filearg (nth 2 device-info))
|
||||
(setq args (mapconcat
|
||||
(lambda (pair)
|
||||
(if (member (car pair) allowed-args)
|
||||
(format ",%s=%S"
|
||||
(substring (symbol-name (car pair)) 1)
|
||||
(cdr pair)) ""))
|
||||
params ""))
|
||||
(format "%s(%s=\"%s\"%s%s%s); tryCatch({"
|
||||
device filearg out-file args
|
||||
(if extra-args "," "") (or extra-args ""))))
|
||||
|
||||
(defconst org-babel-R-eoe-indicator "'org_babel_R_eoe'")
|
||||
(defconst org-babel-R-eoe-output "[1] \"org_babel_R_eoe\"")
|
||||
|
||||
(defconst org-babel-R-write-object-command "{
|
||||
function(object,transfer.file) {
|
||||
object
|
||||
invisible(
|
||||
if (
|
||||
inherits(
|
||||
try(
|
||||
{
|
||||
tfile<-tempfile()
|
||||
write.table(object, file=tfile, sep=\"\\t\",
|
||||
na=\"nil\",row.names=%s,col.names=%s,
|
||||
quote=FALSE)
|
||||
file.rename(tfile,transfer.file)
|
||||
},
|
||||
silent=TRUE),
|
||||
\"try-error\"))
|
||||
{
|
||||
if(!file.exists(transfer.file))
|
||||
file.create(transfer.file)
|
||||
}
|
||||
)
|
||||
}
|
||||
}(object=%s,transfer.file=\"%s\")"
|
||||
"A template for an R command to evaluate a block of code and write the result to a file.
|
||||
|
||||
Has four %s escapes to be filled in:
|
||||
1. Row names, \"TRUE\" or \"FALSE\"
|
||||
2. Column names, \"TRUE\" or \"FALSE\"
|
||||
3. The code to be run (must be an expression, not a statement)
|
||||
4. The name of the file to write to")
|
||||
|
||||
(defun org-babel-R-evaluate
|
||||
(session body result-type result-params column-names-p row-names-p)
|
||||
"Evaluate R code in BODY."
|
||||
(if session
|
||||
(org-babel-R-evaluate-session
|
||||
session body result-type result-params column-names-p row-names-p)
|
||||
(org-babel-R-evaluate-external-process
|
||||
body result-type result-params column-names-p row-names-p)))
|
||||
|
||||
(defun org-babel-R-evaluate-external-process
|
||||
(body result-type result-params column-names-p row-names-p)
|
||||
"Evaluate BODY in external R process.
|
||||
If RESULT-TYPE equals `output' then return standard output as a
|
||||
string. If RESULT-TYPE equals `value' then return the value of the
|
||||
last statement in BODY, as elisp."
|
||||
(cl-case result-type
|
||||
(value
|
||||
(let ((tmp-file (org-babel-temp-file "R-")))
|
||||
(org-babel-eval org-babel-R-command
|
||||
(format org-babel-R-write-object-command
|
||||
(if row-names-p "TRUE" "FALSE")
|
||||
(if column-names-p
|
||||
(if row-names-p "NA" "TRUE")
|
||||
"FALSE")
|
||||
(format "{function ()\n{\n%s\n}}()" body)
|
||||
(org-babel-process-file-name tmp-file 'noquote)))
|
||||
(org-babel-R-process-value-result
|
||||
(org-babel-result-cond result-params
|
||||
(with-temp-buffer
|
||||
(insert-file-contents tmp-file)
|
||||
(org-babel-chomp (buffer-string) "\n"))
|
||||
(org-babel-import-elisp-from-file tmp-file '(16)))
|
||||
column-names-p)))
|
||||
(output (org-babel-eval org-babel-R-command body))))
|
||||
|
||||
(defvar ess-eval-visibly-p)
|
||||
|
||||
(defun org-babel-R-evaluate-session
|
||||
(session body result-type result-params column-names-p row-names-p)
|
||||
"Evaluate BODY in SESSION.
|
||||
If RESULT-TYPE equals `output' then return standard output as a
|
||||
string. If RESULT-TYPE equals `value' then return the value of the
|
||||
last statement in BODY, as elisp."
|
||||
(cl-case result-type
|
||||
(value
|
||||
(with-temp-buffer
|
||||
(insert (org-babel-chomp body))
|
||||
(let ((ess-local-process-name
|
||||
(process-name (get-buffer-process session)))
|
||||
(ess-eval-visibly-p nil))
|
||||
(ess-eval-buffer nil)))
|
||||
(let ((tmp-file (org-babel-temp-file "R-")))
|
||||
(org-babel-comint-eval-invisibly-and-wait-for-file
|
||||
session tmp-file
|
||||
(format org-babel-R-write-object-command
|
||||
(if row-names-p "TRUE" "FALSE")
|
||||
(if column-names-p
|
||||
(if row-names-p "NA" "TRUE")
|
||||
"FALSE")
|
||||
".Last.value" (org-babel-process-file-name tmp-file 'noquote)))
|
||||
(org-babel-R-process-value-result
|
||||
(org-babel-result-cond result-params
|
||||
(with-temp-buffer
|
||||
(insert-file-contents tmp-file)
|
||||
(org-babel-chomp (buffer-string) "\n"))
|
||||
(org-babel-import-elisp-from-file tmp-file '(16)))
|
||||
column-names-p)))
|
||||
(output
|
||||
(mapconcat
|
||||
'org-babel-chomp
|
||||
(butlast
|
||||
(delq nil
|
||||
(mapcar
|
||||
(lambda (line) (when (> (length line) 0) line))
|
||||
(mapcar
|
||||
(lambda (line) ;; cleanup extra prompts left in output
|
||||
(if (string-match
|
||||
"^\\([>+.]\\([ ][>.+]\\)*[ ]\\)"
|
||||
(car (split-string line "\n")))
|
||||
(substring line (match-end 1))
|
||||
line))
|
||||
(org-babel-comint-with-output (session org-babel-R-eoe-output)
|
||||
(insert (mapconcat 'org-babel-chomp
|
||||
(list body org-babel-R-eoe-indicator)
|
||||
"\n"))
|
||||
(inferior-ess-send-input)))))) "\n"))))
|
||||
|
||||
(defun org-babel-R-process-value-result (result column-names-p)
|
||||
"R-specific processing of return value.
|
||||
Insert hline if column names in output have been requested."
|
||||
(if column-names-p
|
||||
(cons (car result) (cons 'hline (cdr result)))
|
||||
result))
|
||||
|
||||
(provide 'ob-R)
|
||||
|
||||
|
||||
|
||||
;;; ob-R.el ends here
|
Binary file not shown.
|
@ -0,0 +1,90 @@
|
|||
;;; ob-abc.el --- Org Babel Functions for ABC -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: William Waites
|
||||
;; Keywords: literate programming, music
|
||||
;; Homepage: http://www.tardis.ed.ac.uk/wwaites
|
||||
;; Version: 0.01
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs 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.
|
||||
|
||||
;; GNU Emacs 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 GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; This file adds support to Org Babel for music in ABC notation.
|
||||
;;; It requires that the abcm2ps program is installed.
|
||||
;;; See http://moinejf.free.fr/
|
||||
|
||||
(require 'ob)
|
||||
|
||||
;; optionally define a file extension for this language
|
||||
(add-to-list 'org-babel-tangle-lang-exts '("abc" . "abc"))
|
||||
|
||||
;; optionally declare default header arguments for this language
|
||||
(defvar org-babel-default-header-args:abc
|
||||
'((:results . "file") (:exports . "results"))
|
||||
"Default arguments to use when evaluating an ABC source block.")
|
||||
|
||||
(defun org-babel-expand-body:abc (body params)
|
||||
"Expand BODY according to PARAMS, return the expanded body."
|
||||
(let ((vars (org-babel--get-vars params)))
|
||||
(mapc
|
||||
(lambda (pair)
|
||||
(let ((name (symbol-name (car pair)))
|
||||
(value (cdr pair)))
|
||||
(setq body
|
||||
(replace-regexp-in-string
|
||||
(concat "\$" (regexp-quote name))
|
||||
(if (stringp value) value (format "%S" value))
|
||||
body))))
|
||||
vars)
|
||||
body))
|
||||
|
||||
(defun org-babel-execute:abc (body params)
|
||||
"Execute a block of ABC code with org-babel. This function is
|
||||
called by `org-babel-execute-src-block'"
|
||||
(message "executing Abc source code block")
|
||||
(let* ((cmdline (cdr (assq :cmdline params)))
|
||||
(out-file (let ((file (cdr (assq :file params))))
|
||||
(if file (replace-regexp-in-string "\.pdf$" ".ps" file)
|
||||
(error "abc code block requires :file header argument"))))
|
||||
(in-file (org-babel-temp-file "abc-"))
|
||||
(render (concat "abcm2ps" " " cmdline
|
||||
" -O " (org-babel-process-file-name out-file)
|
||||
" " (org-babel-process-file-name in-file))))
|
||||
(with-temp-file in-file (insert (org-babel-expand-body:abc body params)))
|
||||
(org-babel-eval render "")
|
||||
;;; handle where abcm2ps changes the file name (to support multiple files
|
||||
(when (or (string= (file-name-extension out-file) "eps")
|
||||
(string= (file-name-extension out-file) "svg"))
|
||||
(rename-file (concat
|
||||
(file-name-sans-extension out-file) "001."
|
||||
(file-name-extension out-file))
|
||||
out-file t))
|
||||
;;; if we were asked for a pdf...
|
||||
(when (string= (file-name-extension (cdr (assq :file params))) "pdf")
|
||||
(org-babel-eval (concat "ps2pdf" " " out-file " " (cdr (assq :file params))) ""))
|
||||
;;; indicate that the file has been written
|
||||
nil))
|
||||
|
||||
;; This function should be used to assign any variables in params in
|
||||
;; the context of the session environment.
|
||||
(defun org-babel-prep-session:abc (_session _params)
|
||||
"Return an error because abc does not support sessions."
|
||||
(error "ABC does not support sessions"))
|
||||
|
||||
(provide 'ob-abc)
|
||||
;;; ob-abc.el ends here
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue