theme extension added

This commit is contained in:
Sameer Rahmani 2015-07-09 15:35:26 +04:30
parent bc6ab002aa
commit f776a5ccc9
8 changed files with 46 additions and 17 deletions

View File

@ -2,18 +2,19 @@
(toggle-debug-on-error) (toggle-debug-on-error)
(require 'fg42) (require 'fg42)
;; Load the default theme
(theme themes/color-theme-monokai)
;; Activate these extensions ;; Activate these extensions
(activate-extensions 'editor (activate-extensions 'editor
'development 'development
'web 'web
'editor-theme
'ruby) 'ruby)
;; Disable abilities which we do not want to load ;; Disable abilities which we do not want to load
(disable 'rbenv) (disable 'rbenv)
;; Load the default theme
(theme themes/color-theme-monokai)
;; Load user config file in ~/.fg42 ;; Load user config file in ~/.fg42
(load-user-config "~/.fg42") (load-user-config "~/.fg42")

View File

@ -17,7 +17,7 @@
;; Extension ------------------------------------- ;; Extension -------------------------------------
(extension development (extension development
:version "2.67" :version "2.31"
:on-initialize extension/development-initialize) :on-initialize extension/development-initialize)
(provide 'extensions/development) (provide 'extensions/development)

View File

@ -0,0 +1,17 @@
(require 'fpkg)
(require 'fg42/extension)
;; Dependencies ----------------------------------
(depends-on 'color-theme)
(defun extensions/editor-theme-initialize ()
"Initialize 'editor-theme' extension."
(message "Initializing 'editor-theme' extension.")
(load-default-theme))
;; Extension -------------------------------------
(extension editor-theme
:version "2.31"
:on-initialize extensions/editor-theme-initialize)
(provide 'extensions/editor-theme)

View File

@ -3,7 +3,6 @@
(require 'extensions/editor/init) (require 'extensions/editor/init)
;; Dependencies ---------------------------------- ;; Dependencies ----------------------------------
(depends-on 'color-theme)
(depends-on 'ido) (depends-on 'ido)
(depends-on 'ido-vertical-mode) (depends-on 'ido-vertical-mode)
(depends-on 'multiple-cursors) (depends-on 'multiple-cursors)
@ -13,7 +12,7 @@
;; Extension ------------------------------------- ;; Extension -------------------------------------
(extension editor (extension editor
:version "2.67" :version "2.31"
:on-initialize extension/editor-initialize) :on-initialize extensions/editor-initialize)
(provide 'extensions/editor) (provide 'extensions/editor)

View File

@ -6,7 +6,7 @@
(load-file (concat (getenv "FG42_HOME") "/fg42-config.el"))) (load-file (concat (getenv "FG42_HOME") "/fg42-config.el")))
;;;###autoload ;;;###autoload
(defun extension/editor-initialize () (defun extensions/editor-initialize ()
"Base plugin initialization." "Base plugin initialization."
(message "Initializing 'editor' extension.") (message "Initializing 'editor' extension.")

View File

@ -21,7 +21,7 @@
;; Extension ------------------------------------- ;; Extension -------------------------------------
(extension ruby (extension ruby
:version "2.67" :version "2.31"
:on-initialize extensions/ruby-initialize) :on-initialize extensions/ruby-initialize)
(provide 'extensions/ruby) (provide 'extensions/ruby)

View File

@ -18,7 +18,7 @@
;; Extension ------------------------------------- ;; Extension -------------------------------------
(extension web (extension web
:version "2.67" :version "2.31"
:on-initialize extensions/web-initialize) :on-initialize extensions/web-initialize)
(provide 'extensions/web) (provide 'extensions/web)

View File

@ -1,17 +1,29 @@
(require 'cl-lib) (require 'cl-lib)
(require 'fg42/extension) (require 'fg42/extension)
;; Vars -----------------------------------
(defvar default-theme nil "Default FG42 theme.")
;; Macros --------------------------------- ;; Macros ---------------------------------
(defmacro theme (name) (defmacro theme (name &optional local)
"Load the given theme name" "Mark the given theme name as default them.
local should be 't' if theme is on FG42 it self"
`(progn `(progn
(require ',(intern (symbol-name name))) (setq default-theme ',(intern (symbol-name name)))
(eval-after-load "color-theme" (when (not (null ,local))
'(progn (depends-on default-theme))))
(color-theme-initialize)
(,name)))))
;; Functions ------------------------------ ;; Functions ------------------------------
(defun load-default-theme ()
"Load the given theme name"
(require default-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(funcall (symbol-function default-theme))))
(require 'color-theme))
(defun load--extension (extension) (defun load--extension (extension)
"Load a single extension and call its :on-initialize function" "Load a single extension and call its :on-initialize function"
(let ((lib (concat "extensions/" (symbol-name extension)))) (let ((lib (concat "extensions/" (symbol-name extension))))