diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1e902da --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,32 @@ +# Change Log +All notable changes to this project will be documented in this file. +This project adheres to [Semantic Versioning](http://semver.org/). + +## [Unreleased] +### Added +- CSS mode icon. +- Coffee mode icon. +- Compilation mode icon. +- Emacs Speaks Statistics (R) mode icon. +- Haml mode icon. +- Image mode icon for ImageMagick. +- Inf-Ruby mode icon. +- JavaScript mode icon. +- Projectile Rails Server mode icon. +- Ruby mode icon. +- Sass/Scss mode icon. +- Shell-script mode icon. +- Slim mode icon. +- Snippet mode icon. +- Term mode icon. +- Web mode icon. +- XML mode icon. +- YAML mode icon. +- YASnippet minor-mode icon. +- nXML mode icon. +- Showing icons for minor modes. +- Go mode icon. +- Customization options. +- Lisp Interaction mode icon. + +[Unreleased]: https://github.com/ryuslash/mode-icons/compare/0.1.0...HEAD diff --git a/icons/go.xpm b/icons/go.xpm new file mode 100644 index 0000000..9a8bffb --- /dev/null +++ b/icons/go.xpm @@ -0,0 +1,74 @@ +/* XPM */ +static char * golang_xpm[] = { +"17 17 54 1", +" c None", +". c #74AAB4", +"+ c #C0DFE4", +"@ c #A0D1D9", +"# c #70C9D6", +"$ c #D5F3F9", +"% c #B8DADE", +"& c #5F9199", +"* c #78B1BB", +"= c #BEBFC0", +"- c #DCF2F6", +"; c #7CC8D6", +"> c #C9D2D3", +", c #D8E3E5", +"' c #7EB6C0", +") c #7BC2CE", +"! c #A2B6B9", +"~ c #C3D8D8", +"{ c #677F7D", +"] c #9CB0B0", +"^ c #B0D8DE", +"/ c #83D1DE", +"( c #77CFDD", +"_ c #7EC9D5", +": c #78ADB1", +"< c #716558", +"[ c #77B4BA", +"} c #6BC7D5", +"| c #71CEDD", +"1 c #73CEDD", +"2 c #72CEDD", +"3 c #7ECAD6", +"4 c #A9C8CB", +"5 c #79CAD7", +"6 c #74CEDD", +"7 c #73CEDE", +"8 c #6ED1E0", +"9 c #74CFDE", +"0 c #75CFDE", +"a c #6FCCDC", +"b c #75D0DF", +"c c #76D0DF", +"d c #6DC8D9", +"e c #7CB8BB", +"f c #72CAD8", +"g c #72CAD9", +"h c #73CAD9", +"i c #78AEB0", +"j c #94A393", +"k c #6EC1CE", +"l c #6EC3D2", +"m c #6EC4D3", +"n c #6DC0CE", +"o c #8E9482", +" ", +" ", +" .+@#$%& ", +" *=-;>,' ", +" )!~{]^/ ", +" (_:<[}| ", +" 1234516 ", +" 6678766 ", +" 6666666 ", +" 6666666 ", +" 6666666 ", +" 9666660 ", +" ab969cd ", +" efg6ghi ", +" jkl9mno ", +" ", +" "}; diff --git a/icons/rainbow.xpm b/icons/rainbow.xpm new file mode 100644 index 0000000..2318950 --- /dev/null +++ b/icons/rainbow.xpm @@ -0,0 +1,162 @@ +/* XPM */ +static char * E:\EmacsPortable_App\Data\src\mode_icons\icons\rainbow_xpm[] = { +"16 16 143 2", +" c None", +". c #9243C2", +"+ c #B369D8", +"@ c #BF77E0", +"# c #C579E3", +"$ c #872DB1", +"% c #B36CD9", +"& c #D888F1", +"* c #F076FF", +"= c #BD66FA", +"- c #915DEF", +"; c #AA93F6", +"> c #41258E", +", c #AA61D1", +"' c #E285FA", +") c #C75AFD", +"! c #6558E6", +"~ c #216AD4", +"{ c #3385DE", +"] c #489EE9", +"^ c #84C6F7", +"/ c #1F5C8F", +"( c #C37EE3", +"_ c #E262FF", +": c #615BE5", +"< c #2274D6", +"[ c #54ADEF", +"} c #6FDFFF", +"| c #6FE1E5", +"1 c #6ADA8D", +"2 c #96EBA1", +"3 c #307F52", +"4 c #CF85ED", +"5 c #BF4CFA", +"6 c #2A6CD7", +"7 c #4CA0EA", +"8 c #71E5FF", +"9 c #69D995", +"0 c #58D208", +"a c #6BD700", +"b c #9FE625", +"c c #C5F570", +"d c #668D11", +"e c #CA82E9", +"f c #BD4EFA", +"g c #256FD6", +"h c #62C7F9", +"i c #6DDED2", +"j c #59D20B", +"k c #8EE119", +"l c #EAFB58", +"m c #FFFF69", +"n c #FFDF41", +"o c #FFDF6F", +"p c #9C7D11", +"q c #B772DA", +"r c #CF54FD", +"s c #216BD4", +"t c #66CEFD", +"u c #6AD9AC", +"v c #60D400", +"w c #DCF74C", +"x c #FFF65C", +"y c #FFC31B", +"z c #FF9F00", +"A c #F37200", +"B c #F78A50", +"C c #902B00", +"D c #9449C0", +"E c #EE75FF", +"F c #3B66DB", +"G c #59B7F4", +"H c #6ADABE", +"I c #F1FF63", +"J c #FED536", +"K c #FFA300", +"L c #EA440A", +"M c #E63449", +"N c #D83C47", +"O c #D23C3D", +"P c #940000", +"Q c #CB82E9", +"R c #8F52F0", +"S c #3B8AE2", +"T c #70E3F1", +"U c #58D200", +"V c #EFFD5E", +"W c #FECB2A", +"X c #FA9300", +"Y c #E32027", +"Z c #D1393C", +"` c #8E0000", +" . c #8E43B9", +".. c #F174FF", +"+. c #2969D5", +"@. c #67D1FF", +"#. c #63D64B", +"$. c #B7EC37", +"%. c #FFE546", +"&. c #FC9D00", +"*. c #E31D2D", +"=. c #B82021", +"-. c #B973DB", +";. c #A75AF4", +">. c #3888E1", +",. c #6FE1E7", +"'. c #FFFF71", +"). c #FFAE00", +"!. c #E5271B", +"~. c #C1292B", +"{. c #D483EE", +"]. c #6457E7", +"^. c #57B3F0", +"/. c #67D77A", +"(. c #ACE92F", +"_. c #FFD73B", +":. c #F47501", +"<. c #DC3B46", +"[. c #EA84FF", +"}. c #3D61DB", +"|. c #66CFFF", +"1. c #5BD31C", +"2. c #E6FB57", +"3. c #FFBF13", +"4. c #E83D1D", +"5. c #C12A2A", +"6. c #7D2DAC", +"7. c #F87CFF", +"8. c #0E60CF", +"9. c #6AE5FF", +"0. c #4ACE00", +"a. c #FFAA00", +"b. c #E7343F", +"c. c #9A0000", +"d. c #893AB8", +"e. c #D06BDD", +"f. c #5386C3", +"g. c #8AD0EC", +"h. c #73C132", +"i. c #E4DF8B", +"j. c #DCAC42", +"k. c #C83F4E", +"l. c #9C0000", +" . + @ # $ ", +" % & * = - ; > ", +" , ' ) ! ~ { ] ^ / ", +" ( _ : < [ } | 1 2 3 ", +" 4 5 6 7 8 9 0 a b c d ", +" e f g h i j k l m n o p ", +" q r s t u v w x y z A B C ", +" D E F G H v I J K L M N O P ", +" Q R S T U V W X Y Z ` ", +" ...+.@.#.$.%.&.*.=. ", +" -.;.>.,.v '.).!.~. ", +" {.].^./.(._.:.<. ", +" [.}.|.1.2.3.4.5. ", +"6.7.8.9.0.m a.b.c. ", +"d.e.f.g.h.i.j.k.l. ", +" "}; diff --git a/mode-icons.el b/mode-icons.el index e9f211c..670afe0 100644 --- a/mode-icons.el +++ b/mode-icons.el @@ -6,6 +6,7 @@ ;; Keywords: multimedia ;; Version: 0.1.0 ;; URL: http://ryuslash.org/projects/mode-icons.html +;; Package-Requires: ((emacs "24") (cl-lib "0.5")) ;; 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 @@ -22,9 +23,38 @@ ;;; Commentary: +;; This package provides a globalized minor mode that replaces the +;; major mode name in your mode-line and places like Ibuffer with an +;; icon. Currently the following programming modes are supported, +;; along with some other modes: ;; +;; - CSS +;; - Coffee +;; - Emacs-Lisp +;; - HTML +;; - Haml +;; - JavaScript +;; - Lisp +;; - nXML +;; - PHP +;; - Python +;; - Ruby +;; - Sass/Scss +;; - Scheme +;; - Shell-script +;; - Slim +;; - Snippet +;; - Web +;; - Yaml +;; +;; To enable this minor mode add the following line to your init file: +;; +;; (mode-icons-mode) ;;; Code: + +(require 'cl-lib) + (defgroup mode-icons nil "Provide icons for major modes." :group 'editing-basics @@ -60,6 +90,7 @@ absolute path to ICON." ("Coffee" "coffee" xpm) ("Compilation" "compile" xpm) ("Emacs-Lisp" "emacs" xpm) + ("Lisp Interaction" "emacs" xpm) ("HTML" "html" xpm) ("Haml" "haml" xpm) ("Image[imagemagick]" "svg" xpm) @@ -69,6 +100,7 @@ absolute path to ICON." ("nXML" "xml" xpm) ("Org" "org" xpm) ("PHP" "php" xpm) + ("PHP/l" "php" xpm) ("Projectile Rails Server" "rails" xpm) ("Python" "python" xpm) ("Ruby" "ruby" xpm) @@ -79,6 +111,7 @@ absolute path to ICON." ("Scheme" "scheme" xpm) ("Shell-script" "bash" xpm) ("Slim" "slim" xpm) + ("Snippet" "yas" xpm) ("Term" "term" xpm) ("Web" "html" xpm) ("XML" "xml" xpm) @@ -96,6 +129,8 @@ absolute path to ICON." ("Debug.*" ,(make-string 1 #xf188) FontAwesome) ("Calendar" ,(make-string 1 #xf073) FontAwesome) ("C/l" ,(make-string 1 #xf107) font-mfizz) + ("Go" "go" xpm) + (" Rbow" "rainbow" xpm) ;; Diminished modes ("\\(ElDoc\\|Anzu\\|SP\\|Guide\\|PgLn\\|Golden\\|Undo-Tree\\|Ergo.*\\|,\\|Isearch\\|Ind\\|Fly\\)" nil nil)) "Icons for major and minor modes.