├── .travis.yml ├── CONTRIBUTING.md ├── Formula ├── ace-window.rb ├── ack-emacs.rb ├── ada-mode.rb ├── adaptive-wrap.rb ├── adjust-parens.rb ├── ag-emacs.rb ├── aggressive-indent.rb ├── ahungry-emacs.rb ├── all-emacs.rb ├── android-mode.rb ├── ansi-emacs.rb ├── ansible-doc.rb ├── anzu-mode.rb ├── applescript-mode.rb ├── ascii-art-to-unicode.rb ├── assess-emacs.rb ├── async-emacs.rb ├── auctex.rb ├── aumix-mode.rb ├── auto-complete.rb ├── auto-overlays.rb ├── avy.rb ├── beacon-mode.rb ├── browse-kill-ring.rb ├── bundler-emacs.rb ├── buttercup.rb ├── caps-lock-emacs.rb ├── cargo-mode.rb ├── chess-emacs.rb ├── cider.rb ├── circe.rb ├── cl-generic.rb ├── cl-lib.rb ├── cloc-emacs.rb ├── clojure-mode.rb ├── coffee-mode.rb ├── commander-emacs.rb ├── company-mode.rb ├── context-coloring.rb ├── crisp.rb ├── csharp-mode.rb ├── csv-mode.rb ├── cython-mode.rb ├── d-mode.rb ├── darkroom-mode.rb ├── dart-mode.rb ├── dash-emacs.rb ├── dbus-codegen.rb ├── debbugs.rb ├── deferred.rb ├── dict-tree.rb ├── diff-hl.rb ├── diffview.rb ├── diminish.rb ├── dismal-mode.rb ├── djvu-emacs.rb ├── docbook-emacs.rb ├── dockerfile-mode.rb ├── dracula-emacs.rb ├── easy-kill.rb ├── ediprolog.rb ├── editorconfig-emacs.rb ├── el-mock.rb ├── el-x.rb ├── eldoc-eval.rb ├── electric-spacing.rb ├── elfeed.rb ├── elisp-bug-hunter.rb ├── elisp-slime-nav.rb ├── emmet-mode.rb ├── enwc.rb ├── epl.rb ├── epoch-view.rb ├── ert-runner.rb ├── evil.rb ├── exec-path-from-shell.rb ├── f-emacs.rb ├── f90-interface-browser.rb ├── flycheck.rb ├── flylisp.rb ├── fountain-mode.rb ├── ggtags.rb ├── gh-emacs.rb ├── gist-emacs.rb ├── git-messenger.rb ├── git-modes.rb ├── gnorb.rb ├── gnugo-emacs.rb ├── go-mode.rb ├── groovy-mode.rb ├── haskell-mode.rb ├── heap-emacs.rb ├── helm.rb ├── homebrew-mode.rb ├── htmlize.rb ├── hydra-emacs.rb ├── indium.rb ├── inf-ruby.rb ├── irony-mode.rb ├── javaimp.rb ├── jgraph-mode.rb ├── js2-mode.rb ├── json-mode.rb ├── json-reformat.rb ├── json-snatcher.rb ├── jumpc.rb ├── keyfreq.rb ├── know-your-http-well.rb ├── landmark-emacs.rb ├── ledger-mode.rb ├── less-css-mode.rb ├── let-alist.rb ├── lex-emacs.rb ├── list-unicode-display.rb ├── lmc-emacs.rb ├── load-dir.rb ├── load-relative.rb ├── loc-changes.rb ├── logito.rb ├── loop-emacs.rb ├── m-buffer.rb ├── magit.rb ├── markchars.rb ├── markdown-mode.rb ├── mastodon-mode.rb ├── memory-usage-emacs.rb ├── metar-emacs.rb ├── mines.rb ├── minibuffer-line.rb ├── minimap-emacs.rb ├── minitest-emacs.rb ├── mmm-mode.rb ├── mocha-emacs.rb ├── mocker.rb ├── multiple-cursors.rb ├── muse.rb ├── names.rb ├── neotree.rb ├── nhexl-mode.rb ├── nix-mode.rb ├── nlinum.rb ├── num3-mode.rb ├── oauth2-emacs.rb ├── olivetti.rb ├── omn-mode.rb ├── org-mode.rb ├── osc-emacs.rb ├── pabbrev.rb ├── package-lint.rb ├── pandoc-mode.rb ├── pass-mode.rb ├── pcache.rb ├── pdf-tools.rb ├── php-mode.rb ├── pkg-info.rb ├── pmd-emacs.rb ├── poker-emacs.rb ├── popup.rb ├── pos-tip.rb ├── powerline-emacs.rb ├── projectile.rb ├── puppet-mode.rb ├── quarter-plane.rb ├── queue-emacs.rb ├── rainbow-delimiters.rb ├── rainbow-mode.rb ├── ranger-emacs.rb ├── rdf-prefix.rb ├── realgud.rb ├── register-list.rb ├── request-emacs.rb ├── robe.rb ├── rspec-mode.rb ├── rubocop-emacs.rb ├── ruby-tools.rb ├── rust-mode.rb ├── s-emacs.rb ├── scroll-restore.rb ├── scss-mode.rb ├── seq.rb ├── shell-pop.rb ├── shut-up.rb ├── simple-httpd.rb ├── sisu-mode.rb ├── skewer-mode.rb ├── slime.rb ├── smartparens.rb ├── smex.rb ├── sml-mode.rb ├── soap-client-emacs.rb ├── sokoban-emacs.rb ├── solarized-emacs.rb ├── sotlisp.rb ├── sourcemap.rb ├── spinner-emacs.rb ├── suggest-emacs.rb ├── swiper.rb ├── tablist.rb ├── tawny-mode.rb ├── temp-buffer-browse.rb ├── tern.rb ├── test-simple.rb ├── textmate-emacs.rb ├── timerfunctions.rb ├── tiny-emacs.rb ├── tnfa-emacs.rb ├── trie-emacs.rb ├── twittering-mode.rb ├── typo-mode.rb ├── undercover.rb ├── undo-tree.rb ├── unkillable-scratch.rb ├── vdiff.rb ├── vlf-mode.rb ├── w3.rb ├── wcheck-mode.rb ├── web-completion-data.rb ├── web-mode.rb ├── web-server-emacs.rb ├── websocket-emacs.rb ├── wgrep.rb ├── which-key.rb ├── windresize.rb ├── wisi.rb ├── wpuzzle.rb ├── xclip-mode.rb ├── xcscope.rb ├── xml-rpc-emacs.rb ├── xpm-emacs.rb ├── yaml-mode.rb ├── yasnippet.rb ├── zenburn-emacs.rb └── ztree.rb ├── Homebrew ├── emacs.rb ├── emacs_formula.rb └── requirements │ ├── emacs_requirement.rb │ └── latex_requirement.rb ├── LICENSE ├── README.md ├── cmd └── brew-emacs.rb └── formula_renames.json /Formula/ack-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AckEmacs < EmacsFormula 4 | desc "Emacs interface to Ack-like tools" 5 | homepage "https://github.com/leoliu/ack-el" 6 | url "http://elpa.gnu.org/packages/ack-1.5.tar" 7 | sha256 "395172b1b930eed0ea61911f6036a9b46ad29dd0b267e05b3ce213e223d4926a" 8 | head "https://github.com/leoliu/ack-el.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | byte_compile Dir["*.el"] 14 | elisp.install Dir["*.el"], Dir["*.elc"] 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "ack") 21 | (ack-skel-file) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/adaptive-wrap.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AdaptiveWrap < EmacsFormula 4 | desc "Emacs minor mode for smart soft-wrapping" 5 | homepage "https://elpa.gnu.org/packages/adaptive-wrap.html" 6 | url "https://elpa.gnu.org/packages/adaptive-wrap-0.5.1.el" 7 | sha256 "940ed8b720efc56d235ffd6ecc78a17094aef956d4eea89a98dc5f96af7c2762" 8 | 9 | depends_on EmacsRequirement => "23.1" 10 | 11 | def install 12 | mv "adaptive-wrap-#{version}.el", "adaptive-wrap.el" if build.stable? 13 | 14 | byte_compile "adaptive-wrap.el" 15 | elisp.install "adaptive-wrap.el", "adaptive-wrap.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "adaptive-wrap") 22 | (adaptive-wrap-prefix-mode 1) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/adjust-parens.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AdjustParens < EmacsFormula 4 | desc "Emacs minor mode for indenting Lisp and Clojure" 5 | homepage "http://elpa.gnu.org/packages/adjust-parens.html" 6 | url "http://elpa.gnu.org/packages/adjust-parens-3.0.tar" 7 | sha256 "ef3febb45ed9a4291bec226ce7d7d641b75a7c3f2e197382894763efdacbf599" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | system "make" 13 | (share/"emacs/site-lisp/adjust-parens").install Dir["*.el"], 14 | Dir["*.elc"] 15 | end 16 | 17 | def caveats; <<~EOS 18 | Add the following to your init file: 19 | 20 | (require 'adjust-parens) 21 | (add-hook 'emacs-lisp-mode-hook #'adjust-parens-mode) 22 | (add-hook 'clojure-mode-hook #'adjust-parens-mode) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/adjust-parens") 29 | (load "adjust-parens") 30 | (adjust-parens-mode 1) 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/ag-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AgEmacs < EmacsFormula 4 | desc "Emacs front-end to ag (the silver searcher)" 5 | homepage "http://agel.readthedocs.org/en/latest/" 6 | url "https://github.com/Wilfred/ag.el/archive/0.47.tar.gz" 7 | sha256 "5951a28a112a7adeb2276d12bb9543e5ea4a42ca27fcd50c7a0e436fb9b995e6" 8 | head "https://github.com/Wilfred/ag.el.git" 9 | 10 | depends_on EmacsRequirement => "23.4" 11 | depends_on "the_silver_searcher" 12 | depends_on "dunn/emacs/dash-emacs" 13 | depends_on "dunn/emacs/s-emacs" 14 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 15 | 16 | def install 17 | byte_compile "ag.el" 18 | elisp.install "ag.el", "ag.elc" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/s-emacs"].opt_elisp}") 26 | (load "ag") 27 | (print (buffer-name (ag "#{elisp}" "#{testpath}"))) 28 | EOS 29 | assert_equal "\"*ag search text:#{elisp} dir:#{testpath}*\"", 30 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/ahungry-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AhungryEmacs < EmacsFormula 4 | desc "Bright and bold color theme for Emacs" 5 | homepage "https://github.com/ahungry/color-theme-ahungry" 6 | url "https://elpa.gnu.org/packages/ahungry-theme-1.8.0.tar" 7 | sha256 "fbacbbeecbbd94511eae99e18fb1bcddbe556a141fb81769993d7fb968b6b091" 8 | head "https://github.com/ahungry/color-theme-ahungry.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | byte_compile "ahungry-theme.el", "color-theme-ahungry.el" 14 | elisp.install "ahungry-theme.el", "color-theme-ahungry.el", 15 | "ahungry-theme.elc", "color-theme-ahungry.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'custom-theme-load-path "#{elisp}") 21 | (load-theme 'ahungry t) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/all-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AllEmacs < EmacsFormula 4 | desc "Emacs package to edit all lines matching a given regexp" 5 | homepage "http://elpa.gnu.org/packages/all.html" 6 | url "http://elpa.gnu.org/packages/all-1.0.el" 7 | sha256 "23c200460cb8ebcbc03e781562277e550b8c6bb075593de0d70840dbc165049e" 8 | head "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/packages/all/all.el" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | mv "all-#{version}.el", "all.el" if build.stable? 14 | byte_compile "all.el" 15 | (share/"emacs/site-lisp/all").install "all.el", "all.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'all) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/all") 28 | (load "all") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/android-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AndroidMode < EmacsFormula 4 | desc "Emacs minor mode for Android application development" 5 | homepage "https://github.com/remvee/android-mode" 6 | url "https://github.com/remvee/android-mode/archive/0.5.0.tar.gz" 7 | sha256 "39d0acfe3cd23d3234012f213548411ce922f68f1e5edf7a66b8e682bf5edf45" 8 | head "https://github.com/remvee/android-mode.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "22.1" 13 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 14 | 15 | def install 16 | byte_compile "android-mode.el" 17 | elisp.install "android-mode.el", "android-mode.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/cl-lib"].opt_elisp}") 24 | (load "android-mode") 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/ansi-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AnsiEmacs < EmacsFormula 4 | desc "Emacs library to convert strings into ANSI" 5 | homepage "https://github.com/rejeep/ansi.el" 6 | url "https://github.com/rejeep/ansi.el/archive/v0.4.1.tar.gz" 7 | sha256 "884beed6a8d4c33d2f99fdf2b1092c4d06f18eaf2b250d4fb843a214d726528e" 8 | head "https://github.com/rejeep/ansi.el.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/dash-emacs" 12 | depends_on "dunn/emacs/s-emacs" 13 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 14 | 15 | def install 16 | byte_compile "ansi.el" 17 | elisp.install "ansi.el", "ansi.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/s-emacs"].opt_elisp}") 25 | (load "ansi") 26 | (print (ansi-red "honk")) 27 | EOS 28 | assert_equal "\"\e[31mhonk\e[0m\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/ansible-doc.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AnsibleDoc < EmacsFormula 4 | desc "Ansible documentation lookup for Emacs" 5 | homepage "https://github.com/lunaryorn/ansible-doc.el" 6 | url "https://github.com/lunaryorn/ansible-doc.el/archive/0.4.tar.gz" 7 | sha256 "77374246b73f1291513fd027c5ecd526ad95f6b507d2e457b40aa6d5638dcfaf" 8 | head "https://github.com/lunaryorn/ansible-doc.el.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "6aa199b9cd8c2a4b74d946a02b5efc837c13c2013ba2a39f8fb663f331442bdf" => :sierra 13 | sha256 "6aa199b9cd8c2a4b74d946a02b5efc837c13c2013ba2a39f8fb663f331442bdf" => :el_capitan 14 | sha256 "6aa199b9cd8c2a4b74d946a02b5efc837c13c2013ba2a39f8fb663f331442bdf" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | depends_on "dunn/emacs/yaml-mode" 19 | 20 | def install 21 | system "make", "compile" 22 | system "make", "test" if build.head? 23 | elisp.install "ansible-doc.el", "ansible-doc.elc" 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "ansible-doc") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/anzu-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AnzuMode < EmacsFormula 4 | desc "Emacs minor mode for numbering search results" 5 | homepage "https://github.com/syohex/emacs-anzu" 6 | url "https://github.com/syohex/emacs-anzu/archive/0.62.tar.gz" 7 | sha256 "9f91077d12bffc2d30640dfc5a5b627139d03c06bee9335f5df6977e121a8f99" 8 | head "https://github.com/syohex/emacs-anzu.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile "anzu.el" 15 | elisp.install "anzu.el", "anzu.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "anzu") 22 | (anzu-mode +1) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/ascii-art-to-unicode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AsciiArtToUnicode < EmacsFormula 4 | desc "Convert ASCII line art to Unicode line art" 5 | homepage "http://www.gnuvola.org/software/aa2u/" 6 | url "https://elpa.gnu.org/packages/ascii-art-to-unicode-1.11.el" 7 | sha256 "1a7d15cd24aaf79bff137bab50fe6fb7e6f17337bf6c168892d6c33df5953bfc" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "ascii-art-to-unicode-#{version}.el", "ascii-art-to-unicode.el" 14 | 15 | byte_compile "ascii-art-to-unicode.el" 16 | elisp.install "ascii-art-to-unicode.el", "ascii-art-to-unicode.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/ascii-art-to-unicode") 22 | (load "ascii-art-to-unicode") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/assess-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AssessEmacs < EmacsFormula 4 | desc "Test support functions for Emacs" 5 | homepage "https://github.com/phillord/assess" 6 | url "https://github.com/phillord/assess/archive/v0.4.tar.gz" 7 | sha256 "534165cafe5f4aa248e60122bb4237fee2eb471274504ecb6bf14b4a15fc01a7" 8 | head "https://github.com/phillord/assess.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "cask" => :build 14 | 15 | depends_on "dunn/emacs/seq" 16 | depends_on "dunn/emacs/m-buffer" 17 | 18 | def install 19 | byte_compile Dir["*.el"] 20 | elisp.install Dir["*.el"], Dir["*.elc"] 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (add-to-list 'load-path "#{Formula["dunn/emacs/m-buffer"].opt_elisp}") 27 | (load "assess") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/async-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class AsyncEmacs < EmacsFormula 4 | desc "Emacs library for asynchronous processing" 5 | homepage "https://github.com/jwiegley/emacs-async" 6 | url "https://elpa.gnu.org/packages/async-1.9.2.tar" 7 | sha256 "dcb9bc817be1c478a73a039a2a4c129c3cca7ebcd228b3954e82737964ded69d" 8 | head "https://github.com/jwiegley/emacs-async.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "async") 22 | (let ((fut (async-start 23 | (lambda () (sleep-for 2) "mkdir brew")))) 24 | (shell-command (async-get fut))) 25 | EOS 26 | system "emacs", "-Q", "--batch", "-l", "#{testpath}/test.el" 27 | sleep 3 28 | (testpath/"brew").directory? 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/avy.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Avy < EmacsFormula 4 | desc "Emacs library for navigating text via trees" 5 | homepage "https://github.com/abo-abo/avy" 6 | url "https://github.com/abo-abo/avy/archive/0.4.0.tar.gz" 7 | sha256 "269d1a0710f86c3fd82a7099f5b9f359b45d7dd36b0ab7e4afbe082842c1b9f1" 8 | head "https://github.com/abo-abo/avy.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | system "make", "compile" 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "avy") 22 | (avy-setup-default) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/beacon-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class BeaconMode < EmacsFormula 4 | desc "Highlight the cursor when an Emacs window scrolls" 5 | homepage "https://github.com/Malabarba/beacon" 6 | url "https://elpa.gnu.org/packages/beacon-1.3.3.el" 7 | sha256 "026894f050904a91f0f4ef05966b2247ad3ff579a55e668bc5c1b18bdc752483" 8 | head "https://github.com/Malabarba/beacon.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement 13 | depends_on "dunn/emacs/seq" if Emacs.version < Version.create("25") 14 | 15 | def install 16 | mv "beacon-#{version}.el", "beacon.el" if build.stable? 17 | 18 | byte_compile "beacon.el" 19 | elisp.install "beacon.el", "beacon.elc" 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/seq"].opt_elisp}") 26 | (load "beacon") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/browse-kill-ring.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class BrowseKillRing < EmacsFormula 4 | desc "Tool for examining kill history in Emacs" 5 | homepage "https://github.com/browse-kill-ring/browse-kill-ring" 6 | url "https://github.com/browse-kill-ring/browse-kill-ring/archive/2.0.0.tar.gz" 7 | sha256 "3323acad302516a644f43cf726a2b3ce1be873fa87ce60a5969e1ea761ac3b35" 8 | head "https://github.com/browse-kill-ring/browse-kill-ring.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile Dir["*.el"] 14 | (share/"emacs/site-lisp/browse-kill-ring").install Dir["*.el"], 15 | Dir["*.elc"] 16 | doc.install "README.md" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/browse-kill-ring") 22 | (load "browse-kill-ring") 23 | (browse-kill-ring-default-keybindings) 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/bundler-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class BundlerEmacs < EmacsFormula 4 | desc "Bundler helpers for Emacs" 5 | homepage "https://github.com/tobiassvn/bundler.el" 6 | head "https://github.com/tobiassvn/bundler.el.git" 7 | 8 | stable do 9 | url "https://github.com/tobiassvn/bundler.el/archive/v1.1.0.tar.gz" 10 | sha256 "c67b505de738db713334f8a5590ad64826d4f58fdd2d3a3b314e6871f33d178a" 11 | 12 | patch do 13 | url "https://github.com/tobiassvn/bundler.el/commit/8adfeecc1f110b41a62a85643cd30ff9e721c203.diff" 14 | sha256 "078590331ffebad76b02202c40d38753e17783f57316f35b7ddc7ef59fb32963" 15 | end 16 | end 17 | 18 | depends_on EmacsRequirement 19 | depends_on "dunn/emacs/inf-ruby" 20 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 21 | 22 | def install 23 | byte_compile "bundler.el" 24 | elisp.install "bundler.el", "bundler.elc" 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{elisp}") 30 | (add-to-list 'load-path "#{Formula["dunn/emacs/inf-ruby"].opt_elisp}") 31 | (load "bundler") 32 | (print (minibuffer-prompt-width)) 33 | EOS 34 | 35 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /Formula/buttercup.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Buttercup < EmacsFormula 4 | desc "Behavior-driven Emacs Lisp testing" 5 | homepage "https://github.com/jorgenschaefer/emacs-buttercup/" 6 | url "https://github.com/jorgenschaefer/emacs-buttercup/archive/v1.7.tar.gz" 7 | sha256 "844e9bec68767d2c077655c9d0ad290fba8fca674586220475ae7df4c54d13e9" 8 | head "https://github.com/jorgenschaefer/emacs-buttercup.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | system "make", "test" 14 | system "make", "compile" 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | 17 | inreplace "bin/buttercup", "-l buttercup", "-L #{elisp} -l buttercup" 18 | bin.install "bin/buttercup" 19 | doc.install Dir["docs/*"] 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (load "buttercup") 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/caps-lock-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CapsLockEmacs < EmacsFormula 4 | desc "Caps lock as an Emacs minor mode" 5 | homepage "http://elpa.gnu.org/packages/caps-lock.html" 6 | url "http://elpa.gnu.org/packages/caps-lock-1.0.el" 7 | sha256 "6a5fba4a7fb30ce50050477639ed34bb76f2e374a7083417c88ddc80aae290c4" 8 | head "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/packages/caps-lock/caps-lock.el" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | mv "caps-lock-#{version}.el", "caps-lock.el" if build.stable? 14 | 15 | byte_compile "caps-lock.el" 16 | (share/"emacs/site-lisp/caps-lock").install "caps-lock.el", 17 | "caps-lock.elc" 18 | end 19 | 20 | def caveats; <<~EOS 21 | Add the following to your init file: 22 | 23 | (require 'caps-lock) 24 | EOS 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{share}/emacs/site-lisp/caps-lock") 30 | (load "caps-lock") 31 | (print caps-lock-commands) 32 | EOS 33 | assert_equal "(self-insert-command isearch-printing-char)", 34 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/cargo-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CargoMode < EmacsFormula 4 | desc "Emacs Minor Mode for Cargo, Rust's Package Manager." 5 | homepage "https://github.com/kwrooijen/cargo.el" 6 | url "https://github.com/kwrooijen/cargo.el/archive/0.4.1.tar.gz" 7 | sha256 "d15b810a00fb2d4340abe833501554dbd8fd28679dcb02a09d82d82865934d01" 8 | head "https://github.com/kwrooijen/cargo.el.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.3" 13 | depends_on "rust-mode" 14 | 15 | def install 16 | byte_compile "cargo.el", "cargo-process.el" 17 | elisp.install "cargo.el", "cargo.elc", 18 | "cargo-process.el", "cargo-process.elc" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/rust-mode"].opt_elisp}") 25 | (load "cargo") 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/chess-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ChessEmacs < EmacsFormula 4 | desc "Chess module for Emacs" 5 | homepage "http://elpa.gnu.org/packages/chess.html" 6 | url "http://elpa.gnu.org/packages/chess-2.0.4.tar" 7 | sha256 "5a16dbd56432be81f1c313fc88972ac690c2dc5a82c1035da37b8472ab5c01eb" 8 | head "http://git.savannah.gnu.org/r/emacs/elpa.git", 9 | :branch => "externals/chess" 10 | 11 | depends_on EmacsRequirement => "24.1" 12 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 13 | 14 | def install 15 | system "make", "test" if build.head? 16 | byte_compile Dir["*.el"] 17 | 18 | (share/"emacs/site-lisp/chess").install Dir["*.el"], Dir["*.elc"] 19 | info.install "chess.info" 20 | end 21 | 22 | def caveats; <<~EOS 23 | Add the following to your init file: 24 | 25 | (require 'chess) 26 | EOS 27 | end 28 | 29 | test do 30 | (testpath/"test.el").write <<~EOS 31 | (add-to-list 'load-path "#{share}/emacs/site-lisp/chess") 32 | (load "chess") 33 | (print chess-version) 34 | EOS 35 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /Formula/circe.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Circe < EmacsFormula 4 | desc "Emacs IRC client" 5 | homepage "https://github.com/jorgenschaefer/circe" 6 | url "https://github.com/jorgenschaefer/circe/archive/v2.5.tar.gz" 7 | sha256 "c9d26e5aab840f41526166dc89fce5421e91c250b58620f26a2161ef0c5c1a75" 8 | head "https://github.com/jorgenschaefer/circe.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | depends_on "dunn/emacs/buttercup" => :build 14 | 15 | def install 16 | system Formula["dunn/emacs/buttercup"].bin/"buttercup", "-L", "." 17 | 18 | byte_compile Dir["*.el"] 19 | elisp.install Dir["*.el"], Dir["*.elc"] 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/cl-lib"].opt_elisp}") 26 | (load "circe") 27 | (print circe-version) 28 | EOS 29 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/cl-generic.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ClGeneric < EmacsFormula 4 | desc "Forward compatibility library for Emacs 24 and below" 5 | homepage "https://elpa.gnu.org/packages/cl-generic.html" 6 | url "https://elpa.gnu.org/packages/cl-generic-0.3.el" 7 | sha256 "f893845a425e414d5a5769670b958b36cb5c3ef1b63f0c8ccb565f09171a636d" 8 | head "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/packages/cl-generic/cl-generic.el" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | mv "cl-generic-#{version}.el", "cl-generic.el" 14 | 15 | byte_compile "cl-generic.el" 16 | elisp.install "cl-generic.el", "cl-generic.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "cl-generic") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/cloc-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ClocEmacs < EmacsFormula 4 | desc "LOC-counting functions for Emacs" 5 | homepage "https://github.com/cosmicexplorer/cloc-emacs" 6 | head "https://github.com/cosmicexplorer/cloc-emacs.git" 7 | 8 | depends_on EmacsRequirement 9 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 10 | 11 | def install 12 | byte_compile "cloc.el" 13 | (share/"emacs/site-lisp/cloc").install "cloc.el", "cloc.elc" 14 | doc.install "README.md" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{share}/emacs/site-lisp/cloc") 20 | (load "cloc") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/coffee-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CoffeeMode < EmacsFormula 4 | desc "Emacs major mode for CoffeeScript" 5 | homepage "https://github.com/defunkt/coffee-mode" 6 | url "https://github.com/defunkt/coffee-mode/archive/v0.6.3.tar.gz" 7 | sha256 "7aa8e5858f8aa1de77ca6d2bf829d1f0b7db656905108426e53d03d8db4104fc" 8 | head "https://github.com/defunkt/coffee-mode.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | ert_run_tests Dir["test/*.el"] 15 | byte_compile "coffee-mode.el" 16 | elisp.install "coffee-mode.el", "coffee-mode.elc" 17 | doc.install "examples" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{share}/emacs/site-lisp/coffee-mode") 23 | (load "coffee-mode") 24 | (print (coffee-version)) 25 | EOS 26 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/commander-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CommanderEmacs < EmacsFormula 4 | desc "Emacs command-line parser" 5 | homepage "https://github.com/rejeep/commander.el" 6 | url "https://github.com/rejeep/commander.el/archive/v0.7.0.tar.gz" 7 | sha256 "5eb0f7f016b484ffc91bcd54ced1b0455667e5ee93077a92eafc9d5f4214daa4" 8 | head "https://github.com/rejeep/commander.el.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/dash-emacs" 12 | depends_on "dunn/emacs/f-emacs" 13 | depends_on "dunn/emacs/s-emacs" 14 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 15 | 16 | def install 17 | byte_compile "commander.el" 18 | elisp.install "commander.el", "commander.elc" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/f"].opt_elisp}") 26 | (add-to-list 'load-path "#{Formula["dunn/emacs/s-emacs"].opt_elisp}") 27 | (load "commander") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/crisp.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Crisp < EmacsFormula 4 | desc "Emacs emulator for CRiSP/Brief" 5 | homepage "http://elpa.gnu.org/packages/crisp.html" 6 | url "http://elpa.gnu.org/packages/crisp-1.3.4.el" 7 | sha256 "11589f5526680d76d6aa8d0ac7ce1bef3bb1e05bc2cf92adfe29114efb7176f5" 8 | head "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/packages/crisp/crisp.el" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | mv "crisp-#{version}.el", "crisp.el" 14 | 15 | byte_compile "crisp.el" 16 | (share/"emacs/site-lisp/crisp").install "crisp.el", 17 | "crisp.elc" 18 | end 19 | 20 | def caveats; <<~EOS 21 | Add the following to your init file: 22 | 23 | (require 'crisp) 24 | EOS 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{share}/emacs/site-lisp/crisp") 30 | (load "crisp") 31 | (crisp-mode) 32 | (print (minibuffer-prompt-width)) 33 | EOS 34 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/csharp-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CsharpMode < EmacsFormula 4 | desc "Major mode for editing C# code" 5 | homepage "https://github.com/josteink/csharp-mode" 6 | url "https://github.com/josteink/csharp-mode/archive/v0.9.0.tar.gz" 7 | sha256 "4232fe0fc4528be543ca1e338ce3e839814f2a5b43e480c16b7b4f1ea1bca3c5" 8 | head "https://github.com/josteink/csharp-mode" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "6bb3152b225fc120087933417d5779524832b40e122bbab026154d04e0d977d2" => :el_capitan 13 | sha256 "42d63e7cf2281186389dfa824888eec5ad2f8c9cb0989b9a6e9acf02b24f4293" => :yosemite 14 | sha256 "42d63e7cf2281186389dfa824888eec5ad2f8c9cb0989b9a6e9acf02b24f4293" => :mavericks 15 | end 16 | 17 | depends_on EmacsRequirement => "22.1" 18 | 19 | def install 20 | byte_compile "csharp-mode.el" 21 | elisp.install "csharp-mode.el", "csharp-mode.elc" 22 | prefix.install "gpl-2.0.txt" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "csharp-mode") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/csv-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class CsvMode < EmacsFormula 4 | desc "Emacs major mode for editing delimited-field files" 5 | homepage "https://elpa.gnu.org/packages/csv-mode.html" 6 | url "https://elpa.gnu.org/packages/csv-mode-1.7.el" 7 | sha256 "e69fb8420d89cbfcafffe02fbf15cc9524e13e3300766d208aa5c0c1c18d8b64" 8 | 9 | depends_on EmacsRequirement => "23.1" 10 | 11 | def install 12 | mv "csv-mode-#{version}.el", "csv-mode.el" 13 | 14 | byte_compile "csv-mode.el" 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{share}/emacs/site-lisp/csv-mode") 21 | (load "csv-mode") 22 | (csv-toggle-descending) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/cython-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class CythonMode < EmacsFormula 4 | desc "Emacs major mode for Cython" 5 | homepage "http://cython.org" 6 | url "https://github.com/cython/cython/archive/0.25.2.tar.gz" 7 | sha256 "206b6fc7e8cebe8e0529064a92e4f53f13a8f1d1f4dc173c32782ab134a2551e" 8 | head "https://github.com/cython/cython.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "1a5a537e5b5ee82d787c07439c742d5af4e0fef0332c8b873565454c5b7886e3" => :sierra 13 | sha256 "cdaa605270201cb75a52b9f08c9e8cdb07c60856cb75765d66e4dc022e71213c" => :el_capitan 14 | sha256 "cdaa605270201cb75a52b9f08c9e8cdb07c60856cb75765d66e4dc022e71213c" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement 18 | 19 | def install 20 | cd "Tools" 21 | byte_compile "cython-mode.el" 22 | elisp.install "cython-mode.el", "cython-mode.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "cython-mode") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/d-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DMode < EmacsFormula 4 | desc "Emacs major mode for D code" 5 | homepage "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode" 6 | url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/2.0.9.tar.gz" 7 | sha256 "6d8e2f3f201a829fcad82353a85a22c627d78c007da5311ee1e78e1ecf51ea88" 8 | head "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "509b93a1da0fd6802e67b8a8b518e647668b380112185f6fc9baa78f9722b439" => :sierra 13 | sha256 "509b93a1da0fd6802e67b8a8b518e647668b380112185f6fc9baa78f9722b439" => :el_capitan 14 | sha256 "509b93a1da0fd6802e67b8a8b518e647668b380112185f6fc9baa78f9722b439" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "23" 18 | depends_on "cask" 19 | 20 | def install 21 | system "make", "compile" 22 | elisp.install "d-mode.el", "d-mode.elc" 23 | prefix.install "gplv2.txt" 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "d-mode") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/darkroom-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DarkroomMode < EmacsFormula 4 | desc "Emacs major mode to remove visual distractions" 5 | homepage "https://github.com/capitaomorte/darkroom" 6 | url "https://github.com/capitaomorte/darkroom/archive/0.2.tar.gz" 7 | sha256 "0dd1c3d8ba143601b9a558ff1fcf9cad75f11c44cbaca9ac5f10a1d7bdc3f725" 8 | head "https://github.com/capitaomorte/darkroom.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile "darkroom.el" 15 | (share/"emacs/site-lisp/darkroom").install "darkroom.el", 16 | "darkroom.elc" 17 | doc.install "README.md" if build.head? 18 | end 19 | 20 | def caveats; <<~EOS 21 | Add the following to your init file: 22 | 23 | (require 'darkroom) 24 | EOS 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{share}/emacs/site-lisp/darkroom") 30 | (load "darkroom") 31 | (darkroom-tentative-mode) 32 | (print (minibuffer-prompt-width)) 33 | EOS 34 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/dash-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DashEmacs < EmacsFormula 4 | desc "Modern list library for Emacs" 5 | homepage "https://github.com/magnars/dash.el" 6 | url "https://github.com/magnars/dash.el/archive/2.13.0.tar.gz" 7 | sha256 "0bc298129ff3421ba2de87b95c157fe35be0f7f26de83eae5d8558947f9e54de" 8 | head "https://github.com/magnars/dash.el.git" 9 | 10 | bottle :unneeded 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | system "./run-tests.sh" 16 | elisp.install Dir["*.el"], Dir["*.elc"] 17 | info.install "dash.info" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "dash") 24 | (print (--map (* it it) '(1 2 3 4))) 25 | EOS 26 | assert_equal "(1 4 9 16)", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/dbus-codegen.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DbusCodegen < EmacsFormula 4 | desc "Lisp code generation for D-Bus" 5 | homepage "http://elpa.gnu.org/packages/dbus-codegen.html" 6 | url "http://elpa.gnu.org/packages/dbus-codegen-0.1.el" 7 | sha256 "fc571aa29a09063995e1df525e001b1196f5193b8bbb1f007c141a9b0d9327be" 8 | head "https://github.com/ueno/dbus-codegen-el.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | mv "dbus-codegen-#{version}.el", "dbus-codegen.el" if build.stable? 15 | byte_compile "dbus-codegen.el" 16 | (share/"emacs/site-lisp/dbus-codegen").install "dbus-codegen.el", 17 | "dbus-codegen.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{share}/emacs/site-lisp/dbus-codegen") 23 | (load "dbus-codegen") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/debbugs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Debbugs < EmacsFormula 4 | desc "Emacs library for accessing Debbugs SOAP servers" 5 | homepage "https://elpa.gnu.org/packages/debbugs.html" 6 | url "https://elpa.gnu.org/packages/debbugs-0.14.tar" 7 | sha256 "5e69701e70b1ce373e7c38872e041fe44c0fe5950f64b9fb4388a201de668f1f" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "24.1" 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"], "Debbugs.wsdl" 16 | info.install Dir["*.info"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "debbugs") 23 | (print (car debbugs-servers)) 24 | EOS 25 | assert_match "gnu.org", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/deferred.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Deferred < EmacsFormula 4 | desc "Simple asynchronous functions for Emacs Lisp " 5 | homepage "https://github.com/kiwanami/emacs-deferred" 6 | head "https://github.com/kiwanami/emacs-deferred.git" 7 | 8 | stable do 9 | url "https://github.com/kiwanami/emacs-deferred/archive/v0.5.0.tar.gz" 10 | sha256 "6e587cc5e4505fa42ab1f0e9d8fc8d0c68e5feed257eaec1272cac6b94ac24c8" 11 | 12 | patch do 13 | url "https://github.com/kiwanami/emacs-deferred/commit/7bfe8428c92377140a0fff6d1bb310fa027c8672.diff" 14 | sha256 "1fbbd48c5b4e268a5172c3b07e3f6cb6e2eb63df572c6d3f04cf5de122d42c76" 15 | end 16 | end 17 | 18 | depends_on EmacsRequirement => "24.3" 19 | 20 | def install 21 | system "make", "compile" 22 | elisp.install "deferred.el", "deferred.elc", 23 | "concurrent.el", "concurrent.elc" 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "deferred") 30 | (print deferred:version) 31 | EOS 32 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/dict-tree.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DictTree < EmacsFormula 4 | desc "Emacs implementation of the dictionary data structure" 5 | homepage "http://www.dr-qubit.org/emacs_data-structures.html" 6 | url "https://elpa.gnu.org/packages/dict-tree-0.14.el" 7 | sha256 "58968bccc400a3fa7e28d6fb16f05202537c16e9abe72d633ef82d10ca9800cc" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | depends_on "dunn/emacs/heap-emacs" 13 | depends_on "dunn/emacs/tnfa-emacs" 14 | depends_on "dunn/emacs/trie-emacs" 15 | 16 | def install 17 | mv "dict-tree-#{version}.el", "dict-tree.el" 18 | byte_compile "dict-tree.el" 19 | elisp.install "dict-tree.el", "dict-tree.elc" 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (add-to-list 'load-path "#{Formula["trie-emacs"].opt_elisp}") 26 | (add-to-list 'load-path "#{Formula["heap-emacs"].opt_elisp}") 27 | (add-to-list 'load-path "#{Formula["tnfa-emacs"].opt_elisp}") 28 | (add-to-list 'load-path "#{Formula["queue-emacs"].opt_elisp}") 29 | (load "dict-tree") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/diff-hl.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DiffHl < EmacsFormula 4 | desc "Emacs modes for highlighting uncommitted changes" 5 | homepage "https://github.com/dgutov/diff-hl" 6 | url "https://elpa.gnu.org/packages/diff-hl-1.8.4.tar" 7 | sha256 "369cebddd9c77eb20a4c9a3c2f55d2496b5cc821aedf4cba50a77a36588bb02b" 8 | head "https://github.com/dgutov/diff-hl.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "diff-hl") 22 | (turn-on-diff-hl-mode) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/diffview.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Diffview < EmacsFormula 4 | desc "View diffs side-by-side in Emacs" 5 | homepage "https://github.com/mgalgs/diffview-mode" 6 | url "https://elpa.gnu.org/packages/diffview-1.0.el" 7 | sha256 "91b3c9cfa03230fb78555b3d714c3c0ffc8984c7bbb733954dbf47f9eaaf6dbe" 8 | head "https://github.com/mgalgs/diffview-mode.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | mv "diffview-#{version}.el", "diffview.el" if build.stable? 14 | byte_compile "diffview.el" 15 | elisp.install "diffview.el", "diffview.elc" 16 | prefix.install "screenshots" if build.head? 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "diffview") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/diminish.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Diminish < EmacsFormula 4 | desc "Hide modeline display of Emacs minor modes" 5 | homepage "https://github.com/myrjola/diminish.el" 6 | url "https://github.com/myrjola/diminish.el/archive/v0.45.tar.gz" 7 | sha256 "49ce6cb24d40bde0f3e82a30adbc19b322fd3e56d53208c0cad9b1b275126644" 8 | head "https://github.com/myrjola/diminish.el.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "diminish.el" 14 | elisp.install "diminish.el", "diminish.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "diminish") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs --quick --batch --load #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/dismal-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DismalMode < EmacsFormula 4 | desc "Emacs major mode for editing dismal spreadsheets" 5 | homepage "http://elpa.gnu.org/packages/dismal.html" 6 | url "http://elpa.gnu.org/packages/dismal-1.5.tar" 7 | sha256 "e610562530756e0714155643d9ee1d8847fe082b79237ea5cb9a4ec10c371aee" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | byte_compile Dir["*.el"] 13 | (share/"emacs/site-lisp/dismal").install Dir["*.el"], 14 | Dir["*.elc"] 15 | doc.install "README", Dir["*.txt"], Dir["*.texi"] 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add something like the following to your init file: 20 | 21 | (setq dismal-directory "#{ENV["HOME"]}/Documents/dismal") 22 | (require 'dismal) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/dismal") 29 | (setq dismal-directory "#{doc}") 30 | (load "dismal") 31 | (print dismal-version) 32 | EOS 33 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/djvu-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DjvuEmacs < EmacsFormula 4 | desc "Emacs front-end for djvused" 5 | homepage "http://elpa.gnu.org/packages/djvu.html" 6 | url "http://elpa.gnu.org/packages/djvu-0.5.el" 7 | sha256 "52e3f98512c3b1425a1e1c7e36c6b435446b071cb21ca91c2c5fbbaa23d9fef2" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "djvulibre" 11 | 12 | def install 13 | mv "djvu-#{version}.el", "djvu.el" 14 | byte_compile "djvu.el" 15 | (share/"emacs/site-lisp/djvu").install "djvu.el", "djvu.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'djvu) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/djvu") 28 | (load "djvu") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/docbook-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DocbookEmacs < EmacsFormula 4 | desc "Emacs package for viewing DocBook files" 5 | homepage "http://elpa.gnu.org/packages/docbook.html" 6 | url "http://elpa.gnu.org/packages/docbook-0.1.el" 7 | sha256 "668706d1d52744295cce5c850f4de273eb256eea109b59d3fdb5180e1b7aa007" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "docbook-#{version}.el", "docbook.el" 13 | byte_compile "docbook.el" 14 | (share/"emacs/site-lisp/docbook").install "docbook.el", 15 | "docbook.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'docbook) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/docbook") 28 | (load "docbook") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/dockerfile-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DockerfileMode < EmacsFormula 4 | desc "Emacs mode for handling Dockerfiles" 5 | homepage "https://github.com/spotify/dockerfile-mode" 6 | url "https://github.com/spotify/dockerfile-mode/archive/v1.2.tar.gz" 7 | sha256 "49618f06ed6d7a4d64251e00540df13870aeee9a8f55acd4def0482ada78156e" 8 | head "https://github.com/spotify/dockerfile-mode.git" 9 | 10 | depends_on EmacsRequirement => "24" 11 | 12 | def install 13 | byte_compile "dockerfile-mode.el" 14 | elisp.install "dockerfile-mode.el", "dockerfile-mode.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "dockerfile-mode") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/dracula-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class DraculaEmacs < EmacsFormula 4 | desc "Dark color theme available for a number of editors." 5 | homepage "https://github.com/dracula/emacs" 6 | url "https://github.com/dracula/emacs/archive/v1.2.5.tar.gz" 7 | sha256 "bc78039c90d5d27f6b1ccb7b32fabb3ecbf0d485421bc63ae5d5d6836b9780b4" 8 | head "https://github.com/dracula/emacs.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | elisp.install "dracula-theme.el" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'custom-theme-load-path "#{elisp}") 21 | (load-theme 'dracula t) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/easy-kill.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class EasyKill < EmacsFormula 4 | desc "Replacement for kill-ring-save in Emacs" 5 | homepage "https://github.com/leoliu/easy-kill" 6 | url "https://github.com/leoliu/easy-kill/archive/0.9.3.tar.gz" 7 | sha256 "4dcac3a01c2d4194c4907e2248e1685ef4b47556de98e7809a40244da3d3eb42" 8 | head "https://github.com/leoliu/easy-kill.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | system "make", "test" 15 | (share/"emacs/site-lisp/easy-kill").install "easy-kill.el", 16 | "easy-kill.elc" 17 | doc.install "README.rst" 18 | end 19 | 20 | def caveats; <<~EOS 21 | Add the following to your init file: 22 | 23 | (require 'easy-kill) 24 | (global-set-key [remap kill-ring-save] 'easy-kill) 25 | EOS 26 | end 27 | 28 | test do 29 | (testpath/"test.el").write <<~EOS 30 | (add-to-list 'load-path "#{share}/emacs/site-lisp/easy-kill") 31 | (load "easy-kill") 32 | (print (minibuffer-prompt-width)) 33 | EOS 34 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/ediprolog.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Ediprolog < EmacsFormula 4 | desc "Emacs functions for interacting with SWI-Prolog" 5 | homepage "https://elpa.gnu.org/packages/ediprolog.html" 6 | url "https://elpa.gnu.org/packages/ediprolog-1.2.el" 7 | sha256 "5fb97c61fa51a5a68d4098458c34461fbc8362e0afbeacbcac202076ee762e0d" 8 | 9 | depends_on EmacsRequirement => "22.1" 10 | 11 | def install 12 | mv "ediprolog-#{version}.el", "ediprolog.el" 13 | byte_compile "ediprolog.el" 14 | elisp.install "ediprolog.el", "ediprolog.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "ediprolog") 21 | (print ediprolog-version) 22 | EOS 23 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/el-mock.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ElMock < EmacsFormula 4 | desc "Tiny mock and stub framework in Emacs Lisp" 5 | homepage "https://github.com/rejeep/el-mock.el" 6 | url "https://github.com/rejeep/el-mock.el/archive/v1.25.1.tar.gz" 7 | sha256 "0b8db563fbf9d8a4793afa57c9f59eb44ca07f5de248fff61fb677542c49bc9b" 8 | head "https://github.com/rejeep/el-mock.el.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "el-mock.el" 14 | elisp.install "el-mock.el", "el-mock.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "el-mock") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/el-x.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ElX < EmacsFormula 4 | desc "Emacs Lisp extensions" 5 | homepage "https://github.com/sigma/el-x" 6 | url "https://github.com/sigma/el-x/archive/v0.3.1.tar.gz" 7 | sha256 "734e654b26ae699c41bb8f691fb4ec4d6064c156b02ddf3c2fa98b7dc16a527e" 8 | head "https://github.com/sigma/el-x.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | system "make" 15 | elisp.install Dir["lisp/*"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "el-x") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/eldoc-eval.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class EldocEval < EmacsFormula 4 | desc "Package for eldoc support when minibuffer is in use" 5 | homepage "https://github.com/thierryvolpiatto/eldoc-eval" 6 | url "https://github.com/thierryvolpiatto/eldoc-eval/archive/v1.1.tar.gz" 7 | sha256 "9250d2a3506eff7bc7496e8d0033e5afde4effe8f58e83b27cfc4071e751b33c" 8 | head "https://github.com/thierryvolpiatto/eldoc-eval.git" 9 | 10 | depends_on EmacsRequirement => "24.4" 11 | 12 | def install 13 | byte_compile "eldoc-eval.el" 14 | elisp.install "eldoc-eval.el", "eldoc-eval.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "eldoc-eval") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/electric-spacing.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ElectricSpacing < EmacsFormula 4 | desc "Emacs minor mode for smart spacing around operators" 5 | homepage "http://elpa.gnu.org/packages/electric-spacing.html" 6 | url "http://elpa.gnu.org/packages/electric-spacing-5.0.el" 7 | sha256 "db3be647b3573da463377711d7b7bbb91df85f3e9393afbfa41259f009da66ca" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "electric-spacing-#{version}.el", "electric-spacing.el" 13 | byte_compile "electric-spacing.el" 14 | (share/"emacs/site-lisp/electric-spacing").install "electric-spacing.el", 15 | "electric-spacing.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'electric-spacing) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/electric-spacing") 28 | (load "electric-spacing") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/elfeed.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Elfeed < EmacsFormula 4 | desc "Feed reader for Emacs" 5 | homepage "https://github.com/skeeto/elfeed" 6 | url "https://github.com/skeeto/elfeed/archive/2.2.0.tar.gz" 7 | sha256 "8e7e4a26ce260cbaf9427ee5aa2c34812385f5b9b8b5d4541c938135e848f134" 8 | head "https://github.com/skeeto/elfeed.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | depends_on "dunn/emacs/simple-httpd" 12 | 13 | def install 14 | byte_compile Dir["web/*.el"] 15 | elisp.install "web" 16 | 17 | system "make", "test" 18 | elisp.install (Dir["*.el"] - %w[elfeed-pkg.el]), Dir["*.elc"] 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (load "elfeed") 25 | (print elfeed-version) 26 | EOS 27 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/elisp-bug-hunter.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ElispBugHunter < EmacsFormula 4 | desc "Emacs library for debugging configuration files" 5 | homepage "https://github.com/Malabarba/elisp-bug-hunter" 6 | url "https://elpa.gnu.org/packages/bug-hunter-1.3.1.el" 7 | sha256 "5d009cb82b8083c681c17446a318e9fe19ac686fb7cede3748999020abd5f476" 8 | head "https://github.com/Malabarba/elisp-bug-hunter.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/seq" if Emacs.version < Version.create("25") 12 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 13 | 14 | def install 15 | if build.stable? 16 | mv "bug-hunter-#{version}.el", "bug-hunter.el" 17 | else 18 | ert_run_tests "bug-hunter-test.el" 19 | end 20 | byte_compile "bug-hunter.el" 21 | elisp.install "bug-hunter.el", "bug-hunter.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (add-to-list 'load-path "#{Formula["dunn/emacs/seq"].opt_elisp}") 28 | (load "bug-hunter") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/elisp-slime-nav.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ElispSlimeNav < EmacsFormula 4 | desc "Slime-style navigation of Emacs Lisp" 5 | homepage "https://github.com/purcell/elisp-slime-nav" 6 | url "https://github.com/purcell/elisp-slime-nav/archive/0.9.tar.gz" 7 | sha256 "6239d99fcdcfc819a7aa739f21eeea433493ea4bac909dfb3be91e8243f507ef" 8 | head "https://github.com/purcell/elisp-slime-nav.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "elisp-slime-nav.el" 14 | elisp.install "elisp-slime-nav.el", "elisp-slime-nav.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "elisp-slime-nav") 21 | (turn-on-elisp-slime-nav-mode) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/emmet-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class EmmetMode < EmacsFormula 4 | desc "Emacs mode for writing HTML with the Emmet syntax" 5 | homepage "https://github.com/smihica/emmet-mode" 6 | url "https://github.com/smihica/emmet-mode/archive/1.0.8.tar.gz" 7 | sha256 "f21f1786f5f8e8b1760858601d476957544163a2afa5ed184a97b9a5bc10773c" 8 | head "https://github.com/smihica/emmet-mode.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | system "make", "test" 14 | system "make", "all" 15 | elisp.install "emmet-mode.el", "emmet-mode.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "emmet-mode") 22 | (print emmet-mode:version) 23 | EOS 24 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/epl.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Epl < EmacsFormula 4 | desc "package.el API" 5 | homepage "https://github.com/cask/epl" 6 | url "https://github.com/cask/epl/archive/0.8.tar.gz" 7 | sha256 "2cabc9324cf7a88abf1bc00c3fe2f79105e3170a005ab28453fb1537d4b02194" 8 | head "https://github.com/cask/epl.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "cask" 12 | 13 | def install 14 | system "make", "compile" 15 | system "make", "test" 16 | elisp.install Dir["*.el"], Dir["*.elc"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "elp") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/epoch-view.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class EpochView < EmacsFormula 4 | desc "Emacs minor mode to convert Unix epoch times" 5 | homepage "http://elpa.gnu.org/packages/epoch-view.html" 6 | url "http://elpa.gnu.org/packages/epoch-view-0.0.1.el" 7 | sha256 "dd6d15ce3d847af00102aab889e1d7353d7323bfa27a8907dac4a5e77d2ec2f3" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "epoch-view-#{version}.el", "epoch-view.el" 13 | byte_compile "epoch-view.el" 14 | (share/"emacs/site-lisp/epoch-view").install "epoch-view.el", 15 | "epoch-view.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'epoch-view) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/epoch-view") 28 | (load "epoch-view") 29 | (epoch-view-turn-on) 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/evil.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Evil < EmacsFormula 4 | desc "Extensible vi layer for Emacs" 5 | homepage "https://github.com/emacs-evil/evil" 6 | url "https://github.com/emacs-evil/evil/archive/1.2.12.tar.gz" 7 | sha256 "035d2257e39819dc769ee069ef163dc22edfa40eb81842967539c2111475f7b8" 8 | head "https://github.com/emacs-evil/evil.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "dunn/emacs/undo-tree" 14 | 15 | def install 16 | system "make" 17 | elisp.install Dir["*.el"], Dir["*.elc"], "lib/goto-chg.el" 18 | 19 | system "make", "info" 20 | info.install "doc/evil.info" 21 | doc.install "doc/evil.pdf" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "evil") 28 | (evil-mode 1) 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/exec-path-from-shell.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ExecPathFromShell < EmacsFormula 4 | desc "Import environment variables into Emacs" 5 | homepage "https://github.com/purcell/exec-path-from-shell" 6 | url "https://github.com/purcell/exec-path-from-shell/archive/1.11.tar.gz" 7 | sha256 "75861413984557c02cca01c4484b9b17a4c237cd66778e5a58847637f7c3f8ab" 8 | head "https://github.com/purcell/exec-path-from-shell.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "exec-path-from-shell.el" 14 | elisp.install "exec-path-from-shell.el", "exec-path-from-shell.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "exec-path-from-shell") 21 | (print (exec-path-from-shell-copy-env "HOME")) 22 | EOS 23 | assert_equal "\"#{testpath}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/f90-interface-browser.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class F90InterfaceBrowser < EmacsFormula 4 | desc "Fortran editing helpers for Emacs" 5 | homepage "https://elpa.gnu.org/packages/f90-interface-browser.html" 6 | url "https://github.com/wence-/f90-iface/archive/elpa-v1.1.tar.gz" 7 | sha256 "af2b935143e14e11f274066e632e37d6e35efde4de8ba076be872c43f441619e" 8 | 9 | bottle do 10 | cellar :any_skip_relocation 11 | sha256 "11d1af4867f71f99983df7901b5190f7ab6dae55663eea0ee840c014a0138911" => :sierra 12 | sha256 "11d1af4867f71f99983df7901b5190f7ab6dae55663eea0ee840c014a0138911" => :el_capitan 13 | sha256 "11d1af4867f71f99983df7901b5190f7ab6dae55663eea0ee840c014a0138911" => :yosemite 14 | end 15 | 16 | depends_on EmacsRequirement 17 | 18 | def install 19 | byte_compile "f90-interface-browser.el" 20 | elisp.install Dir["*.el"], Dir["*.elc"] 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "f90-interface-browser") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/flylisp.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Flylisp < EmacsFormula 4 | desc "Emacs minor mode for coloring incorrect parentheses" 5 | homepage "http://elpa.gnu.org/packages/flylisp.html" 6 | url "http://elpa.gnu.org/packages/flylisp-0.2.el" 7 | sha256 "6693ed3b4ca7914470326619302bc568520243c83611a8a9289bf21e3c4e0042" 8 | 9 | depends_on EmacsRequirement => "24.3" 10 | 11 | def install 12 | mv "flylisp-#{version}.el", "flylisp.el" 13 | byte_compile "flylisp.el" 14 | (share/"emacs/site-lisp/flylisp").install "flylisp.el", 15 | "flylisp.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'flylisp) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/flylisp") 28 | (load "flylisp") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/fountain-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class FountainMode < EmacsFormula 4 | desc "Major mode for the Fountain screenwriting syntax" 5 | homepage "https://github.com/rnkn/fountain-mode" 6 | url "https://github.com/rnkn/fountain-mode/archive/v2.5.3.tar.gz" 7 | sha256 "04edf6eb7d229f0e41a47d26facea559c5e91a2f52cadb1137660858bd90ef74" 8 | head "https://github.com/rnkn/fountain-mode.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.4" 13 | 14 | def install 15 | byte_compile "fountain-mode.el" 16 | elisp.install "fountain-mode.el", "fountain-mode.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "fountain-mode") 23 | (print fountain-version) 24 | EOS 25 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/ggtags.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Ggtags < EmacsFormula 4 | desc "Emacs interface to GNU Global tagging system" 5 | homepage "https://github.com/leoliu/ggtags" 6 | url "https://github.com/leoliu/ggtags/archive/0.8.12.tar.gz" 7 | sha256 "428638328fed1884bfb5b5ea1c57b141ac78415f4f40aa98bef3faff58388d26" 8 | head "https://github.com/leoliu/ggtags.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "0c6997c50b8f9e6bc6f4372673cd0ead4c45019563326078053235d748e879f1" => :sierra 13 | sha256 "0c6997c50b8f9e6bc6f4372673cd0ead4c45019563326078053235d748e879f1" => :el_capitan 14 | sha256 "0c6997c50b8f9e6bc6f4372673cd0ead4c45019563326078053235d748e879f1" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | depends_on "global" => "with-ctags" 19 | 20 | def install 21 | system "make" 22 | elisp.install "ggtags.el", "ggtags.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/ggtags") 28 | (load "ggtags") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/gh-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GhEmacs < EmacsFormula 4 | desc "GitHub API library for Emacs" 5 | homepage "https://github.com/sigma/gh.el" 6 | url "https://github.com/sigma/gh.el/archive/v0.10.0.tar.gz" 7 | sha256 "f1e4244c329197f1d659a024c8fe20e0d62d1e74578f8bebac216b8defc02635" 8 | head "https://github.com/sigma/gh.el.git" 9 | 10 | depends_on EmacsRequirement => "24.4" 11 | depends_on "dunn/emacs/mocker" => :build 12 | depends_on "dunn/emacs/logito" 13 | depends_on "dunn/emacs/pcache" 14 | 15 | def install 16 | system "make", "test" 17 | system "make", "install", "PREFIX=#{prefix}", "PKGNAME=#{name}" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/logito"].opt_elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/pcache"].opt_elisp}") 25 | (load "gh") 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/gist-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GistEmacs < EmacsFormula 4 | desc "Emacs integration with GitHub Gists" 5 | homepage "https://github.com/defunkt/gist.el" 6 | url "https://github.com/defunkt/gist.el/archive/v1.4.0.tar.gz" 7 | sha256 "5003cf146f6e269aab57a6c6c1c7448ba7312094fabdf76ba0688ca2e00b6893" 8 | head "https://github.com/defunkt/gist.el.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "dunn/emacs/gh-emacs" 14 | 15 | def install 16 | byte_compile "gist.el" 17 | elisp.install "gist.el", "gist.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/gh-emacs"].opt_elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/logito"].opt_elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/pcache"].opt_elisp}") 26 | (load "gist") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/git-modes.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GitModes < EmacsFormula 4 | desc "Emacs major modes for git config, attributes, and ignore" 5 | homepage "https://github.com/magit/git-modes" 6 | url "https://github.com/magit/git-modes/archive/1.2.4.tar.gz" 7 | sha256 "149d91b52ca222e360a9d22bdb6898243e8a3650580846e9ee927a2b81abb977" 8 | head "https://github.com/magit/git-modes.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "de1e3c8b8bd03c6eb34df8562bf236f1ca63a5b029cdd12a4ec9e15002a172d6" => :sierra 13 | sha256 "35c84d898e53906342f652e9d929ff6f9e01a91455a6ae7e744e648444414efc" => :el_capitan 14 | sha256 "35c84d898e53906342f652e9d929ff6f9e01a91455a6ae7e744e648444414efc" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement 18 | 19 | def install 20 | system "make", "install", "PREFIX=#{prefix}" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "git-modes") 27 | (gitattributes-mode-help) 28 | (gitconfig-indentation-string) 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/gnorb.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class Gnorb < EmacsFormula 4 | desc "Glue code between Gnus, Org, and BBDB" 5 | homepage "https://elpa.gnu.org/packages/gnorb.html" 6 | url "https://elpa.gnu.org/packages/gnorb-1.5.3.tar" 7 | sha256 "291619c9ca79bce8ba1914a994bd6d5a34ee039cc3ae1f94ed26f99e4fd9a9d2" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "25.1" 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | doc.install "gnorb.texi" 17 | info.install "gnorb.info" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "gnorb") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/gnugo-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GnugoEmacs < EmacsFormula 4 | desc "Emacs interface to GNU Go" 5 | homepage "http://www.gnuvola.org/software/gnugo/" 6 | url "https://elpa.gnu.org/packages/gnugo-3.1.0.tar" 7 | sha256 "c13dd1bbdf8ea0e3b20e403739ef03fa05c3280c4bb7ab380ee73d5084def276" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | depends_on "gnu-go" 13 | depends_on "dunn/emacs/ascii-art-to-unicode" 14 | depends_on "dunn/emacs/xpm-emacs" 15 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 16 | 17 | def install 18 | byte_compile "gnugo.el", "gnugo-frolic.el", "gnugo-imgen.el" 19 | elisp.install "gnugo.el", "gnugo.elc", 20 | "gnugo-frolic.el", "gnugo-frolic.elc", 21 | "gnugo-imgen.el", "gnugo-imgen.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "gnugo") 28 | (print gnugo-version) 29 | EOS 30 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/go-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GoMode < EmacsFormula 4 | desc "Emacs major mode for editing Go" 5 | homepage "https://github.com/dominikh/go-mode.el" 6 | url "https://github.com/dominikh/go-mode.el/archive/v1.5.0.tar.gz" 7 | sha256 "d54a4afac1658082da1f26bab486c346262e5b185e6463cfe316a3e5e57ab6a9" 8 | head "https://github.com/dominikh/go-mode.el" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "go-mode") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/groovy-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class GroovyMode < EmacsFormula 4 | desc "Modes for Groovy and Groovy-related technology" 5 | homepage "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes" 6 | url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes/archive/1.0.2.tar.gz" 7 | sha256 "4888b6ec93bec53a4b6fd4e706dec209679c0d17ba3371fc5e4cd4fea28861e1" 8 | head "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes.git" 9 | 10 | depends_on EmacsRequirement => "22.1" 11 | 12 | def install 13 | el_array = %w[groovy-mode.el groovy-electric.el inf-groovy.el] 14 | byte_compile el_array 15 | elisp.install el_array, Dir["*.elc"] 16 | 17 | prefix.install "gpl-3.0.txt" 18 | end 19 | 20 | def caveats; <<~EOS 21 | Grails mode was not installed, as it currently has additional dependencies 22 | not available in Homebrew. 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "groovy-mode") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/heap-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class HeapEmacs < EmacsFormula 4 | desc "Emacs implementation of the ternary heap data structure" 5 | homepage "http://www.dr-qubit.org/emacs_data-structures.html" 6 | url "https://elpa.gnu.org/packages/heap-0.5.el" 7 | sha256 "afe7cf0129833682bf7042ff5fae7dfa669353199b1ecf6441eca0e806071b8f" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | 13 | def install 14 | mv "heap-#{version}.el", "heap.el" 15 | byte_compile "heap.el" 16 | elisp.install "heap.el", "heap.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "heap") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/helm.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Helm < EmacsFormula 4 | desc "Emacs completion and selection narrowing framework" 5 | homepage "https://emacs-helm.github.io/helm/" 6 | url "https://github.com/emacs-helm/helm/archive/v2.8.4.tar.gz" 7 | sha256 "0d5616c3582377eb54f6d15a0822fdc1c46ce48b46d5b1e394c1878905b715b5" 8 | head "https://github.com/emacs-helm/helm.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.3" 13 | depends_on "dunn/emacs/async-emacs" 14 | 15 | def install 16 | system "make", "ASYNC_ELPA_DIR=#{Formula["dunn/emacs/async-emacs"].opt_elisp}" 17 | elisp.install Dir["*.el"], Dir["*.elc"] 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/async-emacs"].opt_elisp}") 24 | (load "helm-config") 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/hydra-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class HydraEmacs < EmacsFormula 4 | desc "Group Emacs commands under a common prefix" 5 | homepage "https://github.com/abo-abo/hydra" 6 | url "https://github.com/abo-abo/hydra/archive/0.14.0.tar.gz" 7 | sha256 "a8664c86a5f48af37e47983829d653b31114eade87a2b6f234107eeedc980421" 8 | head "https://github.com/abo-abo/hydra.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | system "make", "test" 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "hydra") 22 | (defhydra hydra-zoom (global-map "") 23 | "zoom" 24 | ("g" text-scale-increase "in") 25 | ("l" text-scale-decrease "out")) 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/inf-ruby.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class InfRuby < EmacsFormula 4 | desc "Emacs REPL buffer connected to a Ruby subprocess" 5 | homepage "https://github.com/nonsequitur/inf-ruby" 6 | url "https://github.com/nonsequitur/inf-ruby/archive/2.5.1.tar.gz" 7 | sha256 "c60012110eb98605ef5d1c2d4ce8d11eca158eb34de71728ee932562e610e354" 8 | head "https://github.com/nonsequitur/inf-ruby.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "23.1" 13 | 14 | def install 15 | byte_compile "inf-ruby.el" 16 | elisp.install "inf-ruby.el", "inf-ruby.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "inf-ruby") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/javaimp.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Javaimp < EmacsFormula 4 | desc "Emacs functions for Java imports in Maven projects" 5 | homepage "https://elpa.gnu.org/packages/javaimp.html" 6 | url "https://elpa.gnu.org/packages/javaimp-0.6.tar" 7 | sha256 "ce09593f934c370c41e99f95d4aeaab1581414213e7d6af09952e7653a64b304" 8 | 9 | depends_on EmacsRequirement => "24.1" 10 | depends_on "dunn/emacs/seq" if Emacs.version < Version.create("25") 11 | 12 | def install 13 | ert_run_tests "javaimp-tests.el" 14 | byte_compile "javaimp.el" 15 | elisp.install "javaimp.el", "javaimp.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (add-to-list 'load-path "#{Formula["dunn/emacs/seq"].opt_elisp}") 22 | (load "javaimp") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/jgraph-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class JgraphMode < EmacsFormula 4 | desc "Emacs major mode for editing Jgraph files" 5 | homepage "http://elpa.gnu.org/packages/jgraph-mode.html" 6 | url "http://elpa.gnu.org/packages/jgraph-mode-1.1.el" 7 | sha256 "1469d74235c64e6baa2e48183b1167bb6afc029d8e0efaace9e9e4f2658ee910" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "jgraph-mode-#{version}.el", "jgraph-mode.el" 14 | byte_compile "jgraph-mode.el" 15 | (share/"emacs/site-lisp/jgraph-mode").install "jgraph-mode.el", 16 | "jgraph-mode.elc" 17 | end 18 | 19 | def caveats; <<~EOS 20 | Add the following to your init file: 21 | 22 | (require 'jgraph-mode) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/jgraph-mode") 29 | (load "jgraph-mode") 30 | (print jgraph-commands) 31 | EOS 32 | assert_match "epilogue", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/js2-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class Js2Mode < EmacsFormula 4 | desc "Improved major mode for editing JavaScript in Emacs" 5 | homepage "https://github.com/mooz/js2-mode" 6 | url "https://github.com/mooz/js2-mode/archive/20180301.tar.gz" 7 | sha256 "83972a5f3736d80250816dbd002d2785283f45f199b9b8ee70ab66acf8834f8d" 8 | head "https://github.com/mooz/js2-mode.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | system "make", "all" 16 | system "make", "test" 17 | elisp.install Dir["*.el"], Dir["*.elc"] 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "js2-mode") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/json-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class JsonMode < EmacsFormula 4 | desc "Emacs major mode for editing JSON" 5 | homepage "https://github.com/joshwnj/json-mode" 6 | url "https://github.com/joshwnj/json-mode/archive/v1.7.0.tar.gz" 7 | sha256 "e537a936ecfc0374e9bbbf6319bd7fc5f36258585f44acd3bcc71ccbc82d041a" 8 | head "https://github.com/joshwnj/json-mode.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/json-reformat" 12 | depends_on "dunn/emacs/json-snatcher" 13 | 14 | def install 15 | byte_compile "json-mode.el" 16 | elisp.install "json-mode.el", "json-mode.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.json").write '{ "home": "brew" }' 21 | 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/json-reformat"].opt_elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/json-snatcher"].opt_elisp}") 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "json-mode") 27 | (find-file "#{testpath}/test.json") 28 | (json-mode-beautify) 29 | (print (buffer-string)) 30 | EOS 31 | assert_equal "\"{\n \\\"home\\\": \\\"brew\\\"\n}\"", 32 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/json-reformat.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class JsonReformat < EmacsFormula 4 | desc "JSON reformatting tool for Emacs" 5 | homepage "https://github.com/gongo/json-reformat" 6 | url "https://github.com/gongo/json-reformat/archive/0.0.6.tar.gz" 7 | sha256 "48dc62c4a1d1021afc3f4a0be49ea81cef7e9eb0997dcb23a827bfcc34c1cb85" 8 | head "https://github.com/gongo/json-reformat.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | byte_compile "json-reformat.el" 14 | elisp.install "json-reformat.el", "json-reformat.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.json").write '{ "home": "brew" }' 19 | 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "json-reformat") 23 | (find-file "#{testpath}/test.json") 24 | (json-reformat-region (point-min) (point-max)) 25 | (print (buffer-string)) 26 | EOS 27 | assert_equal "\"{\n \\\"home\\\": \\\"brew\\\"\n}\"", 28 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/json-snatcher.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class JsonSnatcher < EmacsFormula 4 | desc "Get the path to a JSON element in Emacs" 5 | homepage "https://github.com/Sterlingg/json-snatcher" 6 | url "https://github.com/Sterlingg/json-snatcher/archive/1.0.0.tar.gz" 7 | sha256 "cb31a87db5efe5f2c04adaaa8260d9d9d9cc00b5e7289c17053fb6eba2e6d1d9" 8 | head "https://github.com/Sterlingg/json-snatcher.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | byte_compile "json-snatcher.el" 14 | elisp.install "json-snatcher.el", "json-snatcher.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "json-snatcher") 21 | (print (jsons-is-number "808")) 22 | EOS 23 | assert_equal "t", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/jumpc.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Jumpc < EmacsFormula 4 | desc "Save and jump to previous cursor positions in Emacs" 5 | homepage "http://elpa.gnu.org/packages/jumpc.html" 6 | url "http://elpa.gnu.org/packages/jumpc-3.0.el" 7 | sha256 "ca548fdf39d8a3e5314e3a1633902ec9158ccb5bd20487a81a03ab5f077f0fee" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "jumpc-#{version}.el", "jumpc.el" 13 | byte_compile "jumpc.el" 14 | (share/"emacs/site-lisp/jumpc").install "jumpc.el", 15 | "jumpc.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'jumpc) 22 | (jumpc) 23 | (jumpc-bind-vim-key) 24 | EOS 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{share}/emacs/site-lisp/jumpc") 30 | (load "jumpc") 31 | (jumpc) 32 | (jumpc-bind-vim-key) 33 | (print (minibuffer-prompt-width)) 34 | EOS 35 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /Formula/keyfreq.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Keyfreq < EmacsFormula 4 | desc "Track Emacs command frequencies" 5 | homepage "https://github.com/dacap/keyfreq" 6 | url "https://github.com/dacap/keyfreq/archive/1.8.tar.gz" 7 | sha256 "8dd13c050e4ebb943c9190f2d9066ec6f4cb7af21b28abd1a2bc76c59539609e" 8 | head "https://github.com/dacap/keyfreq.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile "keyfreq.el" 15 | elisp.install "keyfreq.el", "keyfreq.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{share}/emacs/site-lisp/keyfreq") 21 | (load "keyfreq") 22 | (keyfreq-autosave-mode 1) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/know-your-http-well.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class KnowYourHttpWell < EmacsFormula 4 | desc "HTTP reference lookup in Emacs" 5 | homepage "https://github.com/for-GET/know-your-http-well" 6 | url "https://github.com/for-GET/know-your-http-well/archive/v0.5.0.tar.gz" 7 | sha256 "d26229332d1ebb15cce3970e9185390244f10806986bbaa3e28f7185d0e773f8" 8 | head "https://github.com/for-GET/know-your-http-well.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | cd "emacs" do 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | prefix.install "README.md" 18 | doc.install Dir["*.md"] 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (load "know-your-http-well") 25 | (print (http-status-code "500")) 26 | EOS 27 | assert_match "Internal Server Error", shell_output("emacs -Q --batch -l #{testpath}/test.el") 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/landmark-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LandmarkEmacs < EmacsFormula 4 | desc "Neural-network robot that learns landmarks" 5 | homepage "http://elpa.gnu.org/packages/landmark.html" 6 | url "http://elpa.gnu.org/packages/landmark-1.0.el" 7 | sha256 "64b7a0cfcb6926ea36a248c14cf39d1d0dce2cf29449f2a07c6fdbc07ea2e157" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "landmark-#{version}.el", "landmark.el" 14 | byte_compile "landmark.el" 15 | (share/"emacs/site-lisp/landmark").install "landmark.el", 16 | "landmark.elc" 17 | end 18 | 19 | def caveats; <<~EOS 20 | Add the following to your init file: 21 | 22 | (require 'landmark) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/landmark") 29 | (load "landmark") 30 | (landmark-test-run) 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/ledger-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LedgerMode < EmacsFormula 4 | desc "Emacs major mode for Ledger, the command-line accounting system" 5 | homepage "https://github.com/ledger/ledger-mode" 6 | url "https://github.com/ledger/ledger-mode/archive/v3.1.1.tar.gz" 7 | sha256 "cb1087bf89beb3e38d51c621604c67ec2995fada6e819904ef5276231140cf74" 8 | head "https://github.com/ledger/ledger-mode.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "5fee80edc9d1d10ee3ecabfcb2f226fa11083864b635937da3f393ce379a0ef7" => :sierra 13 | sha256 "5fee80edc9d1d10ee3ecabfcb2f226fa11083864b635937da3f393ce379a0ef7" => :el_capitan 14 | sha256 "5fee80edc9d1d10ee3ecabfcb2f226fa11083864b635937da3f393ce379a0ef7" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement 18 | depends_on "cmake" => :build 19 | 20 | def install 21 | system "cmake", ".", *std_cmake_args 22 | system "make" 23 | elisp.install Dir["*.el"], Dir["*.elc"] 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "ledger-mode") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/less-css-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LessCssMode < EmacsFormula 4 | desc "Major mode for editing .less files in Emacs" 5 | homepage "https://github.com/purcell/less-css-mode" 6 | url "https://github.com/purcell/less-css-mode/archive/0.21.tar.gz" 7 | sha256 "c0fcf73526b66e2eb1f0bfa6c7ca0f1aab9e3f7ba2b3c08252fab7ccf2da2b71" 8 | head "https://github.com/purcell/less-css-mode.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "d1bc74cc2f12dcf6a5d11f7d38a62a387c7a72b6f2b04cbad1e2784cf182d571" => :sierra 13 | sha256 "d1bc74cc2f12dcf6a5d11f7d38a62a387c7a72b6f2b04cbad1e2784cf182d571" => :el_capitan 14 | sha256 "d1bc74cc2f12dcf6a5d11f7d38a62a387c7a72b6f2b04cbad1e2784cf182d571" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "22.2" 18 | 19 | def install 20 | byte_compile "less-css-mode.el" 21 | elisp.install "less-css-mode.el", "less-css-mode.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "less-css-mode") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/let-alist.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LetAlist < EmacsFormula 4 | desc "Easily let-bind values of an assoc-list by their names" 5 | homepage "https://elpa.gnu.org/packages/let-alist.html" 6 | url "https://elpa.gnu.org/packages/let-alist-1.0.5.el" 7 | sha256 "fc6b2900e461eb02c0be0365daaa130d3daf43a095ce994e0d8a8212ad4ceb64" 8 | 9 | depends_on EmacsRequirement => "24.1" 10 | 11 | bottle :disable 12 | 13 | def install 14 | mv "let-alist-#{version}.el", "let-alist.el" 15 | byte_compile "let-alist.el" 16 | elisp.install "let-alist.el", "let-alist.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "let-alist") 23 | (print 24 | (let ((alist '((cat . meow) 25 | (dog . woof)))) 26 | (let-alist alist 27 | .cat))) 28 | EOS 29 | assert_equal "meow", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/lex-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LexEmacs < EmacsFormula 4 | desc "Lexical analyser construction" 5 | homepage "http://elpa.gnu.org/packages/lex.html" 6 | url "http://elpa.gnu.org/packages/lex-1.1.tar" 7 | sha256 "672dfebb43ea57cf05718b3bd9a72ce7967d5b3dc6f36aa18dcf8a25e688d9c4" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | byte_compile Dir["*.el"] 14 | (share/"emacs/site-lisp/lex").install Dir["*.el"], 15 | Dir["*.elc"] 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'lex) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/lex") 28 | (load "lex") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/lmc-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LmcEmacs < EmacsFormula 4 | desc "Emacs lisp simulator for the Little Man Computer" 5 | homepage "https://elpa.gnu.org/packages/lmc.html" 6 | url "https://elpa.gnu.org/packages/lmc-1.4.el" 7 | sha256 "50400d6861c7b065c7947747e20b991a88d10b08bfea120c68e0bdd429d3a43a" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "lmc-#{version}.el", "lmc.el" 14 | byte_compile "lmc.el" 15 | elisp.install "lmc.el", "lmc.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "lmc") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/load-dir.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LoadDir < EmacsFormula 4 | desc "Package for loading all Emacs Lisp files in a directory" 5 | homepage "https://elpa.gnu.org/packages/load-dir.html" 6 | url "https://elpa.gnu.org/packages/load-dir-0.0.5.el" 7 | sha256 "85dd17294a44706c8a3fce056e4224f8eeb00feb74c1e7cbfadf9612ec8de594" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "24.3" 12 | 13 | def install 14 | mv "load-dir-#{version}.el", "load-dir.el" 15 | byte_compile "load-dir.el" 16 | elisp.install "load-dir.el", "load-dir.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "load-dir") 23 | (load-dir-one "#{elisp}") 24 | (print load-dir-loaded) 25 | EOS 26 | assert_equal "(\"#{elisp}/load-dir\")", 27 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/load-relative.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LoadRelative < EmacsFormula 4 | desc "Emacs Lisp functions for relative file load" 5 | homepage "https://github.com/rocky/emacs-load-relative" 6 | url "https://elpa.gnu.org/packages/load-relative-1.3.el" 7 | sha256 "fab654764e67ebb5145e01e1e22455afa83b273d64ebea788aba49338858ddc1" 8 | 9 | head do 10 | url "https://github.com/rocky/emacs-load-relative.git" 11 | depends_on "automake" => :build 12 | depends_on "autoconf" => :build 13 | depends_on "dunn/emacs/test-simple" 14 | end 15 | 16 | depends_on EmacsRequirement => "24.1" 17 | 18 | def install 19 | if build.stable? 20 | mv "load-relative-#{version}.el", "load-relative.el" 21 | byte_compile "load-relative.el" 22 | else 23 | system "./autogen.sh" 24 | system "make", "check" 25 | system "make" 26 | end 27 | elisp.install "load-relative.el", "load-relative.elc" 28 | end 29 | 30 | test do 31 | (testpath/"test.el").write <<~EOS 32 | (add-to-list 'load-path "#{share}/emacs/site-lisp/load-relative") 33 | (load "load-relative") 34 | (print (minibuffer-prompt-width)) 35 | EOS 36 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /Formula/logito.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Logito < EmacsFormula 4 | desc "Tiny logging framework for Emacs" 5 | homepage "https://github.com/sigma/logito" 6 | url "https://github.com/sigma/logito/archive/v0.1.tar.gz" 7 | sha256 "c28a60f49ec9e2a9c3167e51d31ec799b68df81391282f3b0b52813d1450a428" 8 | head "https://github.com/sigma/logito.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "logito.el" 14 | elisp.install "logito.el", "logito.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "logito") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/loop-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class LoopEmacs < EmacsFormula 4 | desc "Friendly imperative loop structures for Emacs lisp" 5 | homepage "https://github.com/Wilfred/loop.el" 6 | url "https://github.com/Wilfred/loop.el/archive/1.3.tar.gz" 7 | sha256 "4945498a4f7ff4cd85315a1d3480e41c03452e05df8340ccf84b49ff078479fc" 8 | head "https://github.com/Wilfred/loop.el.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | 12 | def install 13 | byte_compile "loop.el" 14 | elisp.install "loop.el", "loop.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "loop") 21 | (print (let ((x 0) (sum 0)) 22 | (loop-while (< x 10) 23 | (setq sum (+ sum x)) 24 | (setq x (1+ x))) 25 | sum)) 26 | EOS 27 | assert_equal "45", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/m-buffer.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MBuffer < EmacsFormula 4 | desc "List oriented buffer operations for Emacs" 5 | homepage "https://github.com/phillord/m-buffer-el" 6 | url "https://github.com/phillord/m-buffer-el/archive/v0.15.tar.gz" 7 | sha256 "2408358cca5431e518fb0450c299e3d5c61d010b9c7b89d26a099f8111636d9f" 8 | head "https://github.com/phillord/m-buffer-el.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "cask" => :build 12 | 13 | depends_on "dunn/emacs/seq" 14 | 15 | def install 16 | system "make", "test" 17 | 18 | byte_compile Dir["*.el"] 19 | elisp.install Dir["*.el"], Dir["*.elc"] 20 | doc.install "m-buffer-doc.org" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "m-buffer") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/markchars.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Markchars < EmacsFormula 4 | desc "Emacs modes for marking special characters" 5 | homepage "http://elpa.gnu.org/packages/markchars.html" 6 | url "http://elpa.gnu.org/packages/markchars-0.2.0.el" 7 | sha256 "1b12ffda377f5769ec13f6ea674b492779f79e9669a0c261e7057bf665dac9f2" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "markchars-#{version}.el", "markchars.el" 13 | byte_compile "markchars.el" 14 | (share/"emacs/site-lisp/markchars").install "markchars.el", 15 | "markchars.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'markchars) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/markchars") 28 | (load "markchars") 29 | (markchars-mode 1) 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/mastodon-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class MastodonMode < EmacsFormula 4 | desc "Client and major mode for Mastodon" 5 | homepage "https://github.com/jdenen/mastodon.el" 6 | url "https://github.com/jdenen/mastodon.el/archive/0.7.2.tar.gz" 7 | sha256 "18194b2b274eec0902c581b7781e93db733acd93e816f8fc8fe8933aa2a19a22" 8 | head "https://github.com/jdenen/mastodon.el.git" 9 | 10 | depends_on EmacsRequirement => "24.4" 11 | depends_on "cask" => :build 12 | 13 | def install 14 | system "cask", "install" 15 | system "cask", "exec", "ert-runner", 16 | "-l", "test/ert-helper.el", 17 | *Dir["test/*-tests.el"] 18 | 19 | byte_compile Dir["lisp/*.el"] 20 | elisp.install Dir["lisp/*.el"], Dir["lisp/*.elc"] 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "mastodon") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/memory-usage-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MemoryUsageEmacs < EmacsFormula 4 | desc "Tools for analyzing Emacs' memory usage" 5 | homepage "http://elpa.gnu.org/packages/memory-usage.html" 6 | url "http://elpa.gnu.org/packages/memory-usage-0.2.el" 7 | sha256 "92bf00d1f12cde4367ccd85ed6afddfc0642a185f0bcb1fb5601b67cf5591c0f" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "memory-usage-#{version}.el", "memory-usage.el" 13 | byte_compile "memory-usage.el" 14 | (share/"emacs/site-lisp/memory-usage").install "memory-usage.el", 15 | "memory-usage.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'memory-usage) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/memory-usage") 28 | (load "memory-usage") 29 | (memory-usage) 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/metar-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MetarEmacs < EmacsFormula 4 | desc "Emacs package for accessing METAR weather info" 5 | homepage "https://elpa.gnu.org/packages/metar.html" 6 | url "https://elpa.gnu.org/packages/metar-0.3.el" 7 | sha256 "4f00867fc8a90975bbbdd5932783979427562c70bb3ec5adffbe2cdec106fb1d" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "metar-#{version}.el", "metar.el" 14 | byte_compile "metar.el" 15 | elisp.install "metar.el", "metar.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (add-to-list 'load-path "#{Formula["dunn/emacs/cl-lib"].opt_elisp}") 22 | (load "metar") 23 | (print (cdr (metar-get-record "SARC"))) 24 | EOS 25 | assert_match /^"SARC\ .*/, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/mines.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class Mines < EmacsFormula 4 | desc "Emacs implementation of Minesweeper" 5 | homepage "https://github.com/calancha/Minesweeper" 6 | url "https://github.com/calancha/Minesweeper/archive/mines_v1.2.tar.gz" 7 | sha256 "b8418532a599d8c30c9ba3e16f68e8f4d6002599dba9fc611764a12b1d04ff81" 8 | head "https://github.com/calancha/Minesweeper.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.4" 13 | 14 | def install 15 | system "make", "compile" 16 | elisp.install "mines.el", "mines.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "mines") 23 | (mines) 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/minibuffer-line.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MinibufferLine < EmacsFormula 4 | desc "Emacs package to display information in the minibuffer" 5 | homepage "http://elpa.gnu.org/packages/minibuffer-line.html" 6 | url "http://elpa.gnu.org/packages/minibuffer-line-0.1.el" 7 | sha256 "345e7d38063c949d270535b5d53e652dd3eecca6fd398e4228ca1a71738cc4db" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "minibuffer-line-#{version}.el", "minibuffer-line.el" 13 | byte_compile "minibuffer-line.el" 14 | (share/"emacs/site-lisp/minibuffer-line").install "minibuffer-line.el", 15 | "minibuffer-line.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'minibuffer-line) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/minibuffer-line") 28 | (load "minibuffer-line") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/minimap-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MinimapEmacs < EmacsFormula 4 | desc "Emacs minor mode for sidebar displays of buffers" 5 | homepage "http://elpa.gnu.org/packages/minimap.html" 6 | url "http://elpa.gnu.org/packages/minimap-1.2.el" 7 | sha256 "68edade04864f7d04a7777922fc0cac3d3999caf73c49c298915ed7a7c6f9ded" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "minimap-#{version}.el", "minimap.el" 13 | byte_compile "minimap.el" 14 | (share/"emacs/site-lisp/minimap").install "minimap.el", 15 | "minimap.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'minimap) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/minimap") 28 | (load "minimap") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/minitest-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MinitestEmacs < EmacsFormula 4 | desc "Minor mode for interacting with minitest within Emacs" 5 | homepage "https://github.com/arthurnn/minitest-emacs" 6 | url "https://github.com/arthurnn/minitest-emacs/archive/v0.8.0.tar.gz" 7 | sha256 "1ac7776f45f837dc522d384ec741fdfc2ca6b01c0757fc3479a607bdff3c4bb7" 8 | head "https://github.com/arthurnn/minitest-emacs.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement 13 | depends_on "dunn/emacs/dash-emacs" 14 | 15 | # https://github.com/arthurnn/minitest-emacs/pull/37 16 | # depends_on "dunn/emacs/f-emacs" => :build 17 | # depends_on "dunn/emacs/el-mock" => :build 18 | 19 | def install 20 | # ert_run_tests "test/minitest-unit-test.el" 21 | 22 | byte_compile "minitest.el" 23 | elisp.install "minitest.el", "minitest.elc" 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 30 | (load "minitest") 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/mmm-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class MmmMode < EmacsFormula 4 | desc "Enable Multiple Major Modes in Emacs buffers" 5 | homepage "https://github.com/purcell/mmm-mode" 6 | url "https://github.com/purcell/mmm-mode/archive/0.5.5.tar.gz" 7 | sha256 "0c7fec2371c0b84d461732219e1d86c88e6a76e42e430cd199e46406c7b3b130" 8 | head "https://github.com/purcell/mmm-mode.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.3" 13 | depends_on "autoconf" => :build 14 | depends_on "automake" => :build 15 | 16 | def install 17 | system "./autogen.sh" 18 | system "./configure", "--prefix=#{prefix}", 19 | "--with-lispdir=#{elisp}", 20 | "--disable-silent-rules" 21 | system "make", "install" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "mmm-mode") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/mocha-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MochaEmacs < EmacsFormula 4 | desc "Minor mode for running Mocha tests" 5 | homepage "https://github.com/scottaj/mocha.el" 6 | url "https://github.com/scottaj/mocha.el/archive/v1.1.tar.gz" 7 | sha256 "3fc74e93cbd52bd8b866d415dbdb3ad231d969941780d09afacee595cb15840d" 8 | 9 | head do 10 | url "https://github.com/scottaj/mocha.el.git" 11 | depends_on "dunn/emacs/f-emacs" 12 | depends_on "dunn/emacs/s-emacs" 13 | end 14 | 15 | depends_on EmacsRequirement 16 | depends_on "dunn/emacs/js2-mode" 17 | 18 | def install 19 | byte_compile "mocha.el" 20 | elisp.install "mocha.el", "mocha.elc" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (add-to-list 'load-path "#{Formula["dunn/emacs/js2-mode"].opt_elisp}") 27 | (load "mocha") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/mocker.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Mocker < EmacsFormula 4 | desc "Simple mocking framework for Emacs" 5 | homepage "https://github.com/sigma/mocker.el" 6 | url "https://github.com/sigma/mocker.el/archive/v0.3.1.tar.gz" 7 | sha256 "7549aa6ce2021da2a0f664dc225cda0cac27a4cb4f867180004ac9ec17cae76f" 8 | head "https://github.com/sigma/mocker.el.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "cask" => :build 12 | depends_on "dunn/emacs/el-x" 13 | 14 | def install 15 | system "make", "test" 16 | byte_compile "mocker.el" 17 | elisp.install "mocker.el", "mocker.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "mocker") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/multiple-cursors.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class MultipleCursors < EmacsFormula 4 | desc "Multiple cursors for Emacs" 5 | homepage "https://github.com/magnars/multiple-cursors.el" 6 | url "https://github.com/magnars/multiple-cursors.el/archive/1.4.0.tar.gz" 7 | sha256 "33a1c193cf8bcb0c80f71a154cbbc1956ee80a79ec63ebcaf3ea6fb6298c3042" 8 | head "https://github.com/magnars/multiple-cursors.el.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile Dir["*.el"] 14 | elisp.install Dir["*.el"], Dir["*.elc"] 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "multiple-cursors") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/muse.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class Muse < EmacsFormula 4 | desc "Authoring and publishing environment for Emacs" 5 | homepage "https://www.gnu.org/software/emacs-muse/" 6 | url "https://elpa.gnu.org/packages/muse-3.20.2.tar" 7 | sha256 "96a39d0115e26e643f2cf4646521f4522429d7983a8c3b6d2b53f442ba714e3c" 8 | head "https://github.com/alexott/muse.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "21.1" 13 | depends_on "dunn/emacs/htmlize" 14 | 15 | def install 16 | rm "muse-pkg.el" 17 | 18 | info.install "muse.info" 19 | byte_compile Dir["*.el"] 20 | elisp.install Dir["*.el"], Dir["*.elc"] 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "muse-mode") 27 | (load "muse-project") 28 | 29 | (load "muse-html") 30 | (load "muse-latex") 31 | (load "muse-texinfo") 32 | (load "muse-docbook") 33 | (print (minibuffer-prompt-width)) 34 | EOS 35 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /Formula/names.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Names < EmacsFormula 4 | desc "Namespacing for Emacs Lisp" 5 | homepage "https://github.com/Malabarba/names" 6 | url "http://elpa.gnu.org/packages/names-20151201.0.tar" 7 | sha256 "4d84c4cf981b0d3597f0e94668e1e31352f477b08fd2fdef699ef43480d3558f" 8 | head "https://github.com/Malabarba/names.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{share}/emacs/site-lisp/names") 21 | (load "names") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/neotree.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Neotree < EmacsFormula 4 | desc "Tree-style file browser for Emacs" 5 | homepage "https://github.com/jaypei/emacs-neotree" 6 | url "https://github.com/jaypei/emacs-neotree/archive/0.5.2.tar.gz" 7 | sha256 "22dc07fc170ebb2c69353fcd4680a06824fd42b9cc41f6e6715646cf216ba6fd" 8 | head "https://github.com/jaypei/emacs-neotree.git", :branch => "dev" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | system "make", "test-batch" 16 | elisp.install "neotree.el", "neotree.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "neotree") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/nhexl-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class NhexlMode < EmacsFormula 4 | desc "Emacs minor mode for editing hex dumps" 5 | homepage "https://elpa.gnu.org/packages/nhexl-mode.html" 6 | url "https://elpa.gnu.org/packages/nhexl-mode-0.2.el" 7 | sha256 "a097eebd37ec42776595f54e54987829f3aef653457a33c25822f2d6fbbc3f63" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "nhexl-mode-#{version}.el", "nhexl-mode.el" 14 | byte_compile "nhexl-mode.el" 15 | elisp.install "nhexl-mode.el", "nhexl-mode.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "nhexl-mode") 22 | (nhexl-mode) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/nix-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class NixMode < EmacsFormula 4 | desc "Major mode for editing Nix files" 5 | homepage "https://github.com/NixOS/nix-mode" 6 | url "https://github.com/NixOS/nix-mode/archive/v1.2.1.tar.gz" 7 | sha256 "a555cc180b3134063aa515a834407295c168b1934f25df9cf8da84dbce636637" 8 | version_scheme 1 9 | head "https://github.com/NixOS/nix.git" 10 | 11 | bottle :disable 12 | 13 | depends_on EmacsRequirement => "24.1" 14 | depends_on "dunn/emacs/mmm-mode" 15 | 16 | def install 17 | if build.stable? 18 | byte_compile Dir["*.el"] 19 | else 20 | system "make", "test" 21 | system "make", "compile" 22 | end 23 | elisp.install Dir["*.el"], Dir["*.elc"] 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{elisp}") 29 | (load "nix-mode") 30 | (nix-mode) 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/nlinum.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Nlinum < EmacsFormula 4 | desc "Emacs mode for displaying line numbers in the margin" 5 | homepage "https://elpa.gnu.org/packages/nlinum.html" 6 | url "https://elpa.gnu.org/packages/nlinum-1.7.el" 7 | sha256 "9f86c20724e3bd7bb393104351cd0982ae885e41a9985df9d84d27d1d46a8162" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "23.1" 12 | 13 | def install 14 | mv "nlinum-#{version}.el", "nlinum.el" 15 | byte_compile "nlinum.el" 16 | elisp.install "nlinum.el", "nlinum.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "nlinum") 23 | (nlinum-mode) 24 | (print nlinum--width) 25 | EOS 26 | assert_equal "2", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/num3-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Num3Mode < EmacsFormula 4 | desc "Emacs minor mode to highlight long numbers for readability" 5 | homepage "http://elpa.gnu.org/packages/num3-mode.html" 6 | url "http://elpa.gnu.org/packages/num3-mode-1.2.el" 7 | sha256 "a8ad0b2181a6024fdff2cff93c6d03dcc95dc430eb1d3215c1d9685caef4a3da" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "num3-mode-#{version}.el", "num3-mode.el" 13 | byte_compile "num3-mode.el" 14 | (share/"emacs/site-lisp/num3-mode").install "num3-mode.el", 15 | "num3-mode.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'num3-mode) 22 | (global-num3-mode) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/num3-mode") 29 | (load "num3-mode") 30 | (global-num3-mode) 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/oauth2-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Oauth2Emacs < EmacsFormula 4 | desc "Emacs library for OAuth 2.0" 5 | homepage "https://elpa.gnu.org/packages/oauth2.html" 6 | url "https://elpa.gnu.org/packages/oauth2-0.11.el" 7 | sha256 "b76a4c5792292d3e3b5616e4f38735601e2f0ac5f59006dd5ecbeaaf6462b379" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "oauth2-#{version}.el", "oauth2.el" 13 | byte_compile "oauth2.el" 14 | elisp.install "oauth2.el", "oauth2.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "oauth2") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/olivetti.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Olivetti < EmacsFormula 4 | desc "Emacs minor mode for distraction-free writing" 5 | homepage "https://github.com/rnkn/olivetti" 6 | url "https://github.com/rnkn/olivetti/archive/v1.5.8.tar.gz" 7 | sha256 "a92d26401c8e6e9a804459933c61c87edcb1b2db4a6e0368949074e08ef1149b" 8 | head "https://github.com/rnkn/olivetti.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.4" 13 | 14 | def install 15 | byte_compile "olivetti.el" 16 | elisp.install "olivetti.el", "olivetti.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/olivetti") 22 | (load "olivetti") 23 | (olivetti-mode 1) 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/omn-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class OmnMode < EmacsFormula 4 | desc "Emacs major mode for the OWL Manchester Notation" 5 | homepage "https://elpa.gnu.org/packages/omn-mode.html" 6 | url "https://elpa.gnu.org/packages/omn-mode-1.2.el" 7 | sha256 "829c291ddd7f3208e5142cce450e93d5ac808f5d919e9f7011c6b2b614aef45c" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "omn-mode-#{version}.el", "omn-mode.el" 13 | byte_compile "omn-mode.el" 14 | elisp.install "omn-mode.el", "omn-mode.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{share}/emacs/site-lisp/omn-mode") 20 | (load "omn-mode") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/osc-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class OscEmacs < EmacsFormula 4 | desc "Emacs library for OpenSound Control" 5 | homepage "http://elpa.gnu.org/packages/osc.html" 6 | url "http://elpa.gnu.org/packages/osc-0.1.el" 7 | sha256 "4b5bdd2c622b3b3f0ec3211c1071e88c6267de327b71c543aa32bbbeff5adf26" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 11 | 12 | def install 13 | mv "osc-#{version}.el", "osc.el" 14 | byte_compile "osc.el" 15 | (share/"emacs/site-lisp/osc").install "osc.el", 16 | "osc.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/osc") 22 | (load "osc") 23 | (setq pid (osc-make-client "localhost" "8080")) 24 | (delete-process pid) 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/pabbrev.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Pabbrev < EmacsFormula 4 | desc "Predictive abbreviation expansion for Emacs" 5 | homepage "https://github.com/phillord/pabbrev" 6 | url "http://elpa.gnu.org/packages/pabbrev-4.2.1.el" 7 | sha256 "b0bb2a370b626d09a43b7159080ac95ca6239bf9dcccc35fbc0ef960665365a7" 8 | head "https://github.com/phillord/pabbrev.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | mv "pabbrev-#{version}.el", "pabbrev.el" if build.stable? 15 | 16 | byte_compile "pabbrev.el" 17 | elisp.install "pabbrev.el", "pabbrev.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "pabbrev") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/package-lint.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PackageLint < EmacsFormula 4 | desc "Linting library for elisp package metadata" 5 | homepage "https://github.com/purcell/package-lint" 6 | url "https://github.com/purcell/package-lint/archive/0.5.tar.gz" 7 | sha256 "ee79cca86c23ba8bb817a5eb3dbd4c62a0ae0e3beaa3443b3a74b6d5777dc61a" 8 | head "https://github.com/purcell/package-lint.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 14 | 15 | def install 16 | # https://github.com/purcell/package-lint/blob/master/run-tests.sh#L31-L33 17 | ENV["EMACS_LINT_IGNORE"] = "1" if Emacs.version < Version.create("24.3") 18 | system "./run-tests.sh" 19 | byte_compile "package-lint.el" 20 | elisp.install "package-lint.el", "package-lint.elc" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "package-lint") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/pcache.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Pcache < EmacsFormula 4 | desc "Persistent caching for Emacs" 5 | homepage "https://github.com/sigma/pcache" 6 | url "https://github.com/sigma/pcache/archive/v0.4.2.tar.gz" 7 | sha256 "c0411bfa4a6625b5c17e3c47f1d3a897298c22bbc9234c06333a5efab0ada4fb" 8 | head "https://github.com/sigma/pcache.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "c4cc455cc9a1ec8e0f950af59e45983ec1a56e3c1b870e488a15ee07647f0aa4" => :sierra 13 | sha256 "6b66caa78eef4855d7b99f87b436e761be0f7ad13f2e845edb97c2012884a7a4" => :el_capitan 14 | sha256 "6b66caa78eef4855d7b99f87b436e761be0f7ad13f2e845edb97c2012884a7a4" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | 19 | def install 20 | ert_run_tests "test/pcache-test.el" 21 | byte_compile "pcache.el" 22 | elisp.install "pcache.el", "pcache.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "pcache") 29 | (print (let ((repo (pcache-repository "plop"))) 30 | (pcache-put repo 'home "brew") 31 | (pcache-get repo 'home))) 32 | EOS 33 | assert_equal "\"brew\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/php-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PhpMode < EmacsFormula 4 | desc "Major mode for editing PHP files" 5 | homepage "https://github.com/ejmr/php-mode" 6 | url "https://github.com/ejmr/php-mode/archive/v1.18.2.tar.gz" 7 | sha256 "16b26a5584139db2dbc05414a686f54173d7505d7aa041ca12238188c23ea90c" 8 | head "https://github.com/ejmr/php-mode.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | system "make", "test" 16 | elisp.install Dir["*.el"], Dir["*.elc"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (require 'php-mode) 23 | (print php-mode-version-number) 24 | EOS 25 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/pkg-info.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PkgInfo < EmacsFormula 4 | desc "Library for providing information about Emacs packages" 5 | homepage "https://github.com/lunaryorn/pkg-info.el" 6 | url "https://github.com/lunaryorn/pkg-info.el/archive/0.6.tar.gz" 7 | sha256 "a5e5123f96bfa635c67ea64cf8df2b3a29e448f6ec2116de13a0d65af494c1bf" 8 | head "https://github.com/lunaryorn/pkg-info.el.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "cask" 12 | depends_on "dunn/emacs/epl" 13 | 14 | def install 15 | system "make", "compile", "CASK=#{Formula["cask"].bin}/cask" 16 | (share/"emacs/site-lisp/pkg-info").install Dir["*.el"], 17 | Dir["*.elc"] 18 | doc.install "README.md" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{share}/emacs/site-lisp/pkg-info") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/epl"].opt_share}/emacs/site-lisp/epl") 25 | (load "pkg-info") 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/pmd-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PmdEmacs < EmacsFormula 4 | desc "Major mode for plugging PMD into Emacs" 5 | homepage "https://github.com/pmd/pmd-emacs" 6 | url "https://github.com/pmd/pmd-emacs/archive/0.8.tar.gz" 7 | sha256 "d4677bf1039f2a25b0a029c593bfc1f442c8fb0807b17092ce422cd25f390f42" 8 | head "https://github.com/pmd/pmd-emacs.git" 9 | 10 | depends_on EmacsRequirement => "22.1" 11 | depends_on "pmd" 12 | 13 | def install 14 | cd "src/elisp" do 15 | byte_compile "pmd.el" 16 | elisp.install "pmd.el", "pmd.elc" 17 | end 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "pmd") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/poker-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PokerEmacs < EmacsFormula 4 | desc "Texas Hold'Em Poker for Emacs" 5 | homepage "https://elpa.gnu.org/packages/poker.html" 6 | url "https://elpa.gnu.org/packages/poker-0.2.el" 7 | sha256 "00b8a4953460c753e853dc093cf215ff836140de2fc41d3de4fbdb5de3d5336a" 8 | 9 | bottle do 10 | cellar :any_skip_relocation 11 | sha256 "c94d19d10fccf200c9a51a4b439e9d24678a80ff151a7638ef635176803905d2" => :sierra 12 | sha256 "c94d19d10fccf200c9a51a4b439e9d24678a80ff151a7638ef635176803905d2" => :el_capitan 13 | sha256 "c94d19d10fccf200c9a51a4b439e9d24678a80ff151a7638ef635176803905d2" => :yosemite 14 | end 15 | 16 | depends_on EmacsRequirement => "24.1" 17 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 18 | 19 | def install 20 | mv "poker-#{version}.el", "poker.el" 21 | byte_compile "poker.el" 22 | elisp.install "poker.el", "poker.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "poker") 29 | (print (poker-random-deck)) 30 | EOS 31 | assert_equal 52, shell_output("emacs -Q --batch -l #{testpath}/test.el") 32 | .strip.gsub(/[()"]/, "") 33 | .split(" ").length 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/pos-tip.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PosTip < EmacsFormula 4 | desc "Tooltips for Emacs" 5 | homepage "https://github.com/pitkali/pos-tip" 6 | url "https://github.com/pitkali/pos-tip/archive/0.4.6.tar.gz" 7 | sha256 "5934257ec49c587681cc37f9d3f774053124f147d623a500a667ca6d8477588a" 8 | head "https://github.com/pitkali/pos-tip.git" 9 | 10 | depends_on EmacsRequirement => "22.1" 11 | 12 | def install 13 | byte_compile "pos-tip.el" 14 | elisp.install "pos-tip.el", "pos-tip.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "pos-tip") 21 | (print pos-tip-version) 22 | EOS 23 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/powerline-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PowerlineEmacs < EmacsFormula 4 | desc "Emacs version of the Vim powerline" 5 | homepage "https://github.com/milkypostman/powerline" 6 | url "https://github.com/milkypostman/powerline/archive/2.4.tar.gz" 7 | sha256 "cb4fff38648913f865c7085c9ab9708468940c3d05a8aee1b1d77fb96630c0c5" 8 | head "https://github.com/milkypostman/powerline.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile Dir["*.el"] 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "powerline") 22 | (powerline-default-theme) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/projectile.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Projectile < EmacsFormula 4 | desc "Project Interaction Library for Emacs" 5 | homepage "http://batsov.com/projectile/" 6 | url "https://github.com/bbatsov/projectile/archive/v0.14.0.tar.gz" 7 | sha256 "c7417e25f2fc113194ca68aaecb1a6fe55e44734d5ab0fd643ba7eb0511779d6" 8 | head "https://github.com/bbatsov/projectile.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/dash-emacs" 12 | depends_on "dunn/emacs/epl" 13 | depends_on "dunn/emacs/pkg-info" 14 | 15 | def install 16 | byte_compile "projectile.el" 17 | elisp.install "projectile.el", "projectile.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/epl"].opt_elisp}") 24 | (add-to-list 'load-path "#{Formula["dunn/emacs/pkg-info"].opt_elisp}") 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "projectile") 27 | (print (projectile-version)) 28 | EOS 29 | assert_equal %("#{version}"), shell_output("emacs --quick --batch --load #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/puppet-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class PuppetMode < EmacsFormula 4 | desc "Emacs major mode for editing Puppet files" 5 | homepage "https://github.com/lunaryorn/puppet-mode" 6 | url "https://github.com/lunaryorn/puppet-mode/archive/0.3.tar.gz" 7 | sha256 "71ebcb4bf518f9aca404260186b97556fb52060bc56edb77ab1881d64543174d" 8 | head "https://github.com/lunaryorn/puppet-mode.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | depends_on "dunn/emacs/pkg-info" 13 | 14 | def install 15 | byte_compile "puppet-mode.el" 16 | elisp.install "puppet-mode.el", "puppet-mode.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (require 'puppet-mode) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/quarter-plane.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class QuarterPlane < EmacsFormula 4 | desc "Emacs minor mode for quarter-plane style editing" 5 | homepage "http://elpa.gnu.org/packages/quarter-plane.html" 6 | url "http://elpa.gnu.org/packages/quarter-plane-0.1.el" 7 | sha256 "b5f2fbdffb9000f9035aac89c9bb78f9daacc2f1a977ed8244b000f79b564342" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "quarter-plane-#{version}.el", "quarter-plane.el" 13 | byte_compile "quarter-plane.el" 14 | (share/"emacs/site-lisp/quarter-plane").install "quarter-plane.el", 15 | "quarter-plane.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'quarter-plane) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/quarter-plane") 28 | (load "quarter-plane") 29 | (quarter-plane-delete-whitespace) 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/queue-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class QueueEmacs < EmacsFormula 4 | desc "Emacs implementation of the queue data structure" 5 | homepage "http://www.dr-qubit.org/emacs_data-structures.html" 6 | url "https://elpa.gnu.org/packages/queue-0.2.el" 7 | sha256 "6be60aa5f429e0e3e2c000563356855e3edb7f5378ebf8499ed35aac1141a233" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | 13 | def install 14 | mv "queue-#{version}.el", "queue.el" 15 | byte_compile "queue.el" 16 | elisp.install "queue.el", "queue.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "queue") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/rainbow-delimiters.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RainbowDelimiters < EmacsFormula 4 | desc "Color delimiters by depth in Emacs" 5 | homepage "https://github.com/Fanael/rainbow-delimiters" 6 | url "https://github.com/Fanael/rainbow-delimiters/archive/2.1.3.tar.gz" 7 | sha256 "39a5aa2f5b6fc5ac7c97362442459d8f012ea5536c6720929666611dc995d974" 8 | head "https://github.com/Fanael/rainbow-delimiters.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | ert_run_tests "rainbow-delimiters-test.el" 14 | 15 | byte_compile "rainbow-delimiters.el" 16 | elisp.install "rainbow-delimiters.el", "rainbow-delimiters.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "rainbow-delimiters") 23 | (rainbow-delimiters-mode-enable) 24 | (rainbow-delimiters-mode-disable) 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/rainbow-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../Homebrew/emacs_formula", __dir__) 2 | 3 | class RainbowMode < EmacsFormula 4 | desc "Minor mode for highlighting color-strings" 5 | homepage "https://elpa.gnu.org/packages/rainbow-mode.html" 6 | url "https://elpa.gnu.org/packages/rainbow-mode-1.0.el" 7 | sha256 "b43e8f56a1cd25f6b52cbf74e73a32a673996b08cd14162fbc3a9db7df6ae9d5" 8 | 9 | depends_on EmacsRequirement => "24.1" 10 | 11 | def install 12 | mv "rainbow-mode-#{version}.el", "rainbow-mode.el" if build.stable? 13 | 14 | byte_compile "rainbow-mode.el" 15 | elisp.install "rainbow-mode.el", "rainbow-mode.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "rainbow-mode") 22 | (rainbow-mode 1) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/ranger-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RangerEmacs < EmacsFormula 4 | desc "Alternate file navigation for Emacs" 5 | homepage "https://github.com/ralesi/ranger.el" 6 | url "https://github.com/ralesi/ranger.el/archive/v0.9.8.5.tar.gz" 7 | sha256 "70700d814c2e44f246182954d6c14db7889ae7486a155af0831b70d34eb48459" 8 | head "https://github.com/ralesi/ranger.el.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.4" 13 | 14 | def install 15 | system "make", "compile" 16 | elisp.install "ranger.el", "ranger.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "ranger") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/rdf-prefix.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RdfPrefix < EmacsFormula 4 | desc "Prefix lookup for RDF in Emacs" 5 | homepage "https://github.com/simenheg/rdf-prefix" 6 | url "https://github.com/simenheg/rdf-prefix/archive/1.8.tar.gz" 7 | sha256 "a82a18be9f0bffdc8856a845797df224470e7b5a049f763c48ea0d8aa9b68f4d" 8 | head "https://github.com/simenheg/rdf-prefix.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "rdf-prefix.el" 14 | elisp.install "rdf-prefix.el", "rdf-prefix.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "rdf-prefix") 21 | (print (rdf-prefix-lookup "bf")) 22 | EOS 23 | assert_equal "\"http://bibframe.org/vocab/\"", 24 | shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/register-list.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RegisterList < EmacsFormula 4 | desc "Emacs functions to view and edit registers" 5 | homepage "http://elpa.gnu.org/packages/register-list.html" 6 | url "http://elpa.gnu.org/packages/register-list-0.1.el" 7 | sha256 "506a53515bca5e4bf512484f7a4451ed21195df8cb557a315ee2c2ed4975efab" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "register-list-#{version}.el", "register-list.el" 13 | byte_compile "register-list.el" 14 | (share/"emacs/site-lisp/register-list").install "register-list.el", 15 | "register-list.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'register-list) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/register-list") 28 | (load "register-list") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/request-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RequestEmacs < EmacsFormula 4 | desc "HTTP request library for Emacs" 5 | homepage "https://tkf.github.io/emacs-request/" 6 | url "https://github.com/tkf/emacs-request/archive/v0.3.0.tar.gz" 7 | sha256 "7f03a011e59df9daa99e54ab423d956f4f12be763836992ced586c8fb2eeec71" 8 | head "https://github.com/tkf/emacs-request.git" 9 | 10 | depends_on EmacsRequirement => "24.4" 11 | depends_on "dunn/emacs/deferred" 12 | 13 | def install 14 | byte_compile "request.el", "request-deferred.el" 15 | elisp.install "request.el", "request.elc", 16 | "request-deferred.el", "request-deferred.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "request") 23 | (print request-version) 24 | EOS 25 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/robe.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Robe < EmacsFormula 4 | desc "Navigation, documentation lookup and completion for Ruby" 5 | homepage "https://github.com/dgutov/robe" 6 | url "https://github.com/dgutov/robe/archive/0.8.1.tar.gz" 7 | sha256 "790d201cc8aa7c95aaf9ca10b322c3c8944ffebd9e4045c047487297922fe4ee" 8 | head "https://github.com/dgutov/robe.git" 9 | 10 | depends_on EmacsRequirement => "24.4" 11 | depends_on "ruby" => :recommended if MacOS.version <= :mountain_lion 12 | depends_on "dunn/emacs/inf-ruby" 13 | 14 | def install 15 | ert_run_tests "ert/core-tests.el" 16 | 17 | byte_compile "robe.el", "ac-robe.el", "company-robe.el" 18 | elisp.install "robe.el", "ac-robe.el", "company-robe.el", 19 | "robe.elc", "ac-robe.elc", "company-robe.elc", 20 | "lib" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (add-to-list 'load-path "#{Formula["inf-ruby"].opt_elisp}") 27 | (load "robe") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/rspec-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RspecMode < EmacsFormula 4 | desc "RSpec minor mode for Emacs" 5 | homepage "https://github.com/pezra/rspec-mode" 6 | url "https://github.com/pezra/rspec-mode/archive/v1.11.tar.gz" 7 | sha256 "7cdfe79434f14ed70becfe65509932da7777c138d63b0ccca3d68452743d0ac8" 8 | head "https://github.com/pezra/rspec-mode.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | ert_run_tests "test/rspec-mode-test.el" unless build.stable? 15 | byte_compile "rspec-mode.el" 16 | elisp.install "rspec-mode.el", "rspec-mode.elc" 17 | pkgshare.install "snippets" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "rspec-mode") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/rubocop-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RubocopEmacs < EmacsFormula 4 | desc "Emacs interface for RuboCop" 5 | homepage "https://github.com/bbatsov/rubocop-emacs" 6 | url "https://github.com/bbatsov/rubocop-emacs/archive/v0.5.0.tar.gz" 7 | sha256 "4fe70cfa4ee1134613e5fb20c55958cbc4d27d6df758a657746d04dd296876f8" 8 | head "https://github.com/bbatsov/rubocop-emacs.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/dash-emacs" 12 | 13 | def install 14 | byte_compile "rubocop.el" 15 | elisp.install "rubocop.el", "rubocop.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{Formula["dash-emacs"].opt_elisp}") 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "rubocop") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/ruby-tools.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class RubyTools < EmacsFormula 4 | desc "Additional functions for ruby-mode" 5 | homepage "https://github.com/rejeep/ruby-tools.el" 6 | url "https://github.com/rejeep/ruby-tools.el/archive/v0.1.2.tar.gz" 7 | sha256 "1795cb04585defd4cae1df4d77c9b95b4aa73104b3388089a1096d4453e2ad33" 8 | head "https://github.com/rejeep/ruby-tools.el.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "6577103e65784a5e3dc9e7d7de98eb03ea172bd17c4c6341d33feda5830357f1" => :el_capitan 13 | sha256 "2e4aac3b6ba9c4ee87947be0b592f687c5287428f311ce76b3ee9651c9cb6f41" => :yosemite 14 | sha256 "2e4aac3b6ba9c4ee87947be0b592f687c5287428f311ce76b3ee9651c9cb6f41" => :mavericks 15 | end 16 | 17 | depends_on EmacsRequirement 18 | 19 | def install 20 | byte_compile "ruby-tools.el" 21 | elisp.install "ruby-tools.el", "ruby-tools.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "ruby-tools") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/s-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SEmacs < EmacsFormula 4 | desc "Emacs string manipulation library" 5 | homepage "https://github.com/magnars/s.el" 6 | url "https://github.com/magnars/s.el/archive/1.11.0.tar.gz" 7 | sha256 "826d186458f7568f1304bca0c094034a9e7370bd2858dcf806dd513abe2d384f" 8 | head "https://github.com/magnars/s.el.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | system "./run-tests.sh" 14 | system "./create-docs.sh" if build.head? 15 | 16 | byte_compile "s.el" 17 | elisp.install "s.el", "s.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "s") 24 | (print (s-repeat 4 "omg")) 25 | EOS 26 | assert_equal "\"omgomgomgomg\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/scroll-restore.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ScrollRestore < EmacsFormula 4 | desc "Emacs minor mode to restore point after scrolling" 5 | homepage "https://elpa.gnu.org/packages/scroll-restore.html" 6 | url "https://elpa.gnu.org/packages/scroll-restore-1.0.el" 7 | sha256 "164e232bcdf72fdd0fae9c5b742888c4f863c9a168ef67da66f5d759e9d7a540" 8 | 9 | bottle do 10 | cellar :any_skip_relocation 11 | sha256 "0151cec65c17775e1344619ce240fe892653193ca9c87eee97eca85c293c344c" => :sierra 12 | sha256 "0151cec65c17775e1344619ce240fe892653193ca9c87eee97eca85c293c344c" => :el_capitan 13 | sha256 "0151cec65c17775e1344619ce240fe892653193ca9c87eee97eca85c293c344c" => :yosemite 14 | end 15 | 16 | depends_on EmacsRequirement 17 | 18 | def install 19 | mv "scroll-restore-#{version}.el", "scroll-restore.el" 20 | byte_compile "scroll-restore.el" 21 | elisp.install "scroll-restore.el", "scroll-restore.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "scroll-restore") 28 | (scroll-restore-remove) 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/scss-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ScssMode < EmacsFormula 4 | desc "Major mode for editing .scss files in Emacs" 5 | homepage "https://github.com/antonj/scss-mode" 6 | url "https://github.com/antonj/scss-mode/archive/0.5.0.tar.gz" 7 | sha256 "765b06cd6f93763c5dc5903b1645d98ea9ea6f75f5d6bc96b68d979224f90812" 8 | head "https://github.com/antonj/scss-mode.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "scss-mode.el" 14 | elisp.install "scss-mode.el", "scss-mode.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "scss-mode") 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/seq.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Seq < EmacsFormula 4 | desc "Sequence manipulation library for Emacs" 5 | homepage "https://elpa.gnu.org/packages/seq.html" 6 | url "https://elpa.gnu.org/packages/seq-2.20.tar" 7 | sha256 "1634947f0944908c7dbfb3b11c7c899b6d486b7ceadb79bd7e60496fade9376f" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "24.1" 12 | 13 | # Submitted upstream via email on 2016-10-28 14 | patch :p3 do 15 | url "https://github.com/dunn/elpa/commit/195320c704cbc721f945d59fa54cd20d8e024a57.diff" 16 | sha256 "0cf5ba33945af4db2fe6e0ad914e5a684f12dc07cc613e145fbe273f247a9a9c" 17 | end 18 | 19 | def install 20 | ert_run_tests "tests/seq-tests.el" if Emacs.version >= Version.create("25.1") 21 | byte_compile Dir["*.el"] 22 | elisp.install Dir["*.el"], Dir["*.elc"] 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/seq") 28 | (load "seq") 29 | (print (seq-max '(1 5 10))) 30 | EOS 31 | assert_equal "10", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/shell-pop.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ShellPop < EmacsFormula 4 | desc "Easier shell access in Emacs" 5 | homepage "https://github.com/kyagi/shell-pop-el" 6 | url "https://github.com/kyagi/shell-pop-el/archive/0.63.tar.gz" 7 | sha256 "71a86e70540e84ec2d2bff2eb587b358cb0cd2b094763a29bd8c45b7ea3a8420" 8 | head "https://github.com/kyagi/shell-pop-el" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | byte_compile "shell-pop.el" 14 | elisp.install "shell-pop.el", "shell-pop.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "shell-pop") 21 | (shell-pop 1) 22 | (print (buffer-name)) 23 | EOS 24 | assert_equal "\"*shell-1*\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/shut-up.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ShutUp < EmacsFormula 4 | desc "Emacs package to reduce verbosity" 5 | homepage "https://github.com/cask/shut-up" 6 | url "https://github.com/cask/shut-up/archive/v0.3.2.tar.gz" 7 | sha256 "a11df31fe160d2ec7e94874e98dca804414f08e6cd9fe7e38ec994359bcc7f26" 8 | head "https://github.com/cask/shut-up.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "shut-up.el" 14 | elisp.install "shut-up.el", "shut-up.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "shut-up") 21 | (shut-up 22 | (print "Honk")) 23 | EOS 24 | assert_equal "", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/sisu-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SisuMode < EmacsFormula 4 | desc "Emacs major mode for editing SiSU markup" 5 | homepage "http://elpa.gnu.org/packages/sisu-mode.html" 6 | url "http://elpa.gnu.org/packages/sisu-mode-7.1.8.el" 7 | sha256 "d282c04aa6cdee1e7726e5c0b3f002d22507181f90272adb69e1d99f8937fa8b" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "sisu-mode-#{version}.el", "sisu-mode.el" 13 | byte_compile "sisu-mode.el" 14 | elisp.install "sisu-mode.el", "sisu-mode.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "sisu-mode") 21 | (sisu-mode) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/skewer-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SkewerMode < EmacsFormula 4 | desc "Emacs mode for live web development" 5 | homepage "https://github.com/skeeto/skewer-mode" 6 | url "https://github.com/skeeto/skewer-mode/archive/1.7.0.tar.gz" 7 | sha256 "a824879872985d9fad1a1aa57c965b03d61106b33e1ff7102991a8a6d80a05ea" 8 | head "https://github.com/skeeto/skewer-mode.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | depends_on "dunn/emacs/js2-mode" 12 | depends_on "dunn/emacs/simple-httpd" 13 | 14 | def install 15 | byte_compile Dir["*.el"] 16 | elisp.install Dir["*.el"], Dir["*.elc"], Dir["*.js"], Dir["*.html"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/skewer-mode") 22 | (add-to-list 'load-path "#{Formula["dunn/emacs/simple-httpd"].opt_share}/emacs/site-lisp/simple-httpd") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/js2-mode"].opt_share}/emacs/site-lisp/js2-mode") 24 | (load "skewer-mode") 25 | (run-skewer) 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/smartparens.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Smartparens < EmacsFormula 4 | desc "Minor mode for Emacs that deals with parens pairs" 5 | homepage "https://github.com/Fuco1/smartparens" 6 | url "https://github.com/Fuco1/smartparens/archive/1.10.1.tar.gz" 7 | sha256 "715051817d688449708a252dc72b056f281a4eaf769a2c441e58f6b59c899adb" 8 | head "https://github.com/Fuco1/smartparens.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 14 | depends_on "dunn/emacs/dash-emacs" 15 | 16 | def install 17 | rm "smartparens-pkg.el" 18 | byte_compile Dir["*.el"] 19 | elisp.install Dir["*.el"], Dir["*.elc"] 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/cl-lib"].opt_elisp}") 26 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 27 | (load "smartparens") 28 | (turn-on-smartparens-mode) 29 | (turn-off-smartparens-mode) 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/smex.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Smex < EmacsFormula 4 | desc "Adds Ido completions to Emacs' M-x" 5 | homepage "https://github.com/nonsequitur/smex" 6 | url "https://github.com/nonsequitur/smex/archive/3.0.tar.gz" 7 | sha256 "96eb68ac3301d0986195a29ea03d4dad1a5f81647cb097a78de59c1cc6d78e58" 8 | head "https://github.com/nonsequitur/smex.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | 12 | def install 13 | byte_compile "smex.el" 14 | (share/"emacs/site-lisp/smex").install "smex.el", "smex.elc" 15 | doc.install "README.markdown" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'smex) 22 | (global-set-key (kbd "M-x") 'smex) 23 | (global-set-key (kbd "M-X") 'smex-major-mode-commands) 24 | (global-set-key (kbd "C-x C-M") 'smex-major-mode-commands) 25 | EOS 26 | end 27 | 28 | test do 29 | (testpath/"test.el").write <<~EOS 30 | (add-to-list 'load-path "#{share}/emacs/site-lisp/smex") 31 | (require 'smex) 32 | (smex-initialize) 33 | (print (minibuffer-prompt-width)) 34 | EOS 35 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /Formula/sml-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SmlMode < EmacsFormula 4 | desc "Emacs major mode for editing Standard ML" 5 | homepage "https://elpa.gnu.org/packages/sml-mode.html" 6 | url "https://elpa.gnu.org/packages/sml-mode-6.7.el" 7 | sha256 "3db9673b7c23e3ee58d8f0e748871700125fa0e44cdf14754a3ed6787aaf2d10" 8 | 9 | bottle do 10 | cellar :any_skip_relocation 11 | sha256 "0bbef293efc508f9c36deffcca323895aa4fd4d2da21527659d4e82bcaf389bf" => :sierra 12 | sha256 "0bbef293efc508f9c36deffcca323895aa4fd4d2da21527659d4e82bcaf389bf" => :el_capitan 13 | sha256 "0bbef293efc508f9c36deffcca323895aa4fd4d2da21527659d4e82bcaf389bf" => :yosemite 14 | end 15 | 16 | depends_on EmacsRequirement => "24.1" 17 | 18 | def install 19 | mv "sml-mode-#{version}.el", "sml-mode.el" 20 | byte_compile "sml-mode.el" 21 | elisp.install "sml-mode.el", "sml-mode.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "sml-mode") 28 | (sml-mode) 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/soap-client-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SoapClientEmacs < EmacsFormula 4 | desc "Emacs SOAP client" 5 | homepage "https://github.com/alex-hhh/emacs-soap-client" 6 | url "https://github.com/alex-hhh/emacs-soap-client/archive/3.1.3.tar.gz" 7 | sha256 "51815efc543380e9c237c764dd24cf904a2dfc27ec7f1b226c6befa6c3b83c59" 8 | head "https://github.com/alex-hhh/emacs-soap-client.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 12 | 13 | def install 14 | byte_compile "jira2.el", "soap-client.el", "soap-inspect.el" 15 | 16 | elisp.install "jira2.el", "soap-client.el", "soap-inspect.el", 17 | "jira2.elc", "soap-client.elc", "soap-inspect.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/cl-lib"].opt_elisp}") 24 | (load "soap-client") 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/sokoban-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SokobanEmacs < EmacsFormula 4 | desc "Emacs version of Sokoban" 5 | homepage "https://elpa.gnu.org/packages/sokoban.html" 6 | url "https://elpa.gnu.org/packages/sokoban-1.4.6.tar" 7 | sha256 "f62f775b74d223f2b53b30f8356e6bc751f74d8a3d07c459c2c57e3368a04c84" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "23.1" 12 | 13 | def install 14 | byte_compile "sokoban.el" 15 | elisp.install "sokoban.el", "sokoban.elc", "sokoban.levels" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "sokoban") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/solarized-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SolarizedEmacs < EmacsFormula 4 | desc "The Solarized color scheme for Emacs" 5 | homepage "https://github.com/sellout/emacs-color-theme-solarized" 6 | head "https://github.com/sellout/emacs-color-theme-solarized.git" 7 | 8 | depends_on EmacsRequirement => "22.1" 9 | 10 | def install 11 | system "make", "build" 12 | elisp.install Dir["*.el"] 13 | end 14 | 15 | test do 16 | (testpath/"test.el").write <<~EOS 17 | (add-to-list 'custom-theme-load-path "#{elisp}") 18 | (load-theme 'solarized t) 19 | (setq solarized-termcolors 256) 20 | (add-to-list 'default-frame-alist '(background-mode . dark)) 21 | (print (minibuffer-prompt-width)) 22 | EOS 23 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /Formula/sotlisp.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Sotlisp < EmacsFormula 4 | desc "Emacs minor mode for writing Emacs Lisp faster" 5 | homepage "https://github.com/Malabarba/speed-of-thought-lisp" 6 | url "https://elpa.gnu.org/packages/sotlisp-1.6.2.el" 7 | sha256 "11da016428df7e9739dc7f652eee87cde065b307d0b1250faf8b93076b239915" 8 | head "https://github.com/Malabarba/speed-of-thought-lisp.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "7fc81ed345da59dab98007374f75cc362bdf9c165bc3b9ae8817d76a0ad888be" => :sierra 13 | sha256 "7fc81ed345da59dab98007374f75cc362bdf9c165bc3b9ae8817d76a0ad888be" => :el_capitan 14 | sha256 "7fc81ed345da59dab98007374f75cc362bdf9c165bc3b9ae8817d76a0ad888be" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | 19 | def install 20 | mv "sotlisp-#{version}.el", "sotlisp.el" if build.stable? 21 | byte_compile "sotlisp.el" 22 | elisp.install "sotlisp.el", "sotlisp.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "sotlisp") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/sourcemap.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Sourcemap < EmacsFormula 4 | desc "Sourcemap parser for Emacs" 5 | homepage "https://github.com/syohex/emacs-sourcemap" 6 | url "https://github.com/syohex/emacs-sourcemap/archive/0.03.tar.gz" 7 | sha256 "a61a8d4bad13b4022912717277db9d072c80346c9d20dbf7a13e8ace062dad2e" 8 | head "https://github.com/syohex/emacs-sourcemap.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.3" 13 | 14 | def install 15 | ert_run_tests "test/test-sourcemap.el" 16 | 17 | byte_compile "sourcemap.el" 18 | elisp.install "sourcemap.el", "sourcemap.elc" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (load "sourcemap") 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/spinner-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class SpinnerEmacs < EmacsFormula 4 | desc "Emacs library for spinners and progress bars" 5 | homepage "https://github.com/Malabarba/spinner.el" 6 | url "https://elpa.gnu.org/packages/spinner-1.7.3.el" 7 | sha256 "0daa8d7ee2b798045c3868c0a5f32fce5f42a57b4fecfd7408bcae666b0d77a6" 8 | head "https://github.com/Malabarba/spinner.el.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "f21644bdfb2b8f3a8efbf95e5d7bbe6e8cf8fdfb38b9fc40ea32f059242a7b2d" => :sierra 13 | sha256 "f21644bdfb2b8f3a8efbf95e5d7bbe6e8cf8fdfb38b9fc40ea32f059242a7b2d" => :el_capitan 14 | sha256 "f21644bdfb2b8f3a8efbf95e5d7bbe6e8cf8fdfb38b9fc40ea32f059242a7b2d" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement 18 | 19 | def install 20 | mv "spinner-#{version}.el", "spinner.el" if build.stable? 21 | byte_compile "spinner.el" 22 | elisp.install "spinner.el", "spinner.elc" 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "spinner") 29 | (spinner-start) 30 | (spinner-stop) 31 | (print (minibuffer-prompt-width)) 32 | EOS 33 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Formula/swiper.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Swiper < EmacsFormula 4 | desc "Emacs isearch with an overview" 5 | homepage "https://github.com/abo-abo/swiper" 6 | url "https://github.com/abo-abo/swiper/archive/0.10.0.tar.gz" 7 | sha256 "b507579202e438103f2bd1925b4a5ddb9dccb85efdca5faf786d07f58521816e" 8 | head "https://github.com/abo-abo/swiper.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | 12 | def install 13 | system "make", "compile" 14 | system "make", "test" 15 | elisp.install Dir["*.el"], Dir["*.elc"] 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "swiper") 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/tablist.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Tablist < EmacsFormula 4 | desc "Extended tabulated-list-mode for Emacs" 5 | homepage "https://github.com/politza/tablist" 6 | url "https://github.com/politza/tablist/archive/v0.70.tar.gz" 7 | sha256 "2cfd4e8060e045a5fb49f56ba1d21b09d8f149c809500b6df8bc86ea8f36ed9c" 8 | head "https://github.com/politza/tablist.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | 12 | def install 13 | byte_compile "tablist.el", "tablist-filter.el" 14 | elisp.install "tablist.el", "tablist.elc", 15 | "tablist-filter.el", "tablist-filter.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "tablist") 22 | (tablist-quit) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/tawny-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TawnyMode < EmacsFormula 4 | desc "Ontology Editing with Tawny-OWL" 5 | homepage "https://github.com/phillord/tawny-owl" 6 | url "https://github.com/phillord/tawny-owl/archive/1.5.0.tar.gz" 7 | sha256 "e51b0973bdea2d1379b89b070055525f6d066a82665d783da322b4c4292e9baa" 8 | head "https://github.com/phillord/tawny-owl.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "25.1" 13 | depends_on "dunn/emacs/cider" 14 | depends_on "dunn/emacs/queue-emacs" 15 | 16 | def install 17 | byte_compile "emacs/tawny-mode.el" 18 | elisp.install "emacs/tawny-mode.el", "emacs/tawny-mode.elc" 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (add-to-list 'load-path "#{Formula["cider"].opt_elisp}") 25 | (add-to-list 'load-path "#{Formula["clojure-mode"].opt_elisp}") 26 | (add-to-list 'load-path "#{Formula["queue-emacs"].opt_elisp}") 27 | (load "tawny-mode") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/temp-buffer-browse.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TempBufferBrowse < EmacsFormula 4 | desc "Emacs mode for navigating temporary buffers" 5 | homepage "https://elpa.gnu.org/packages/temp-buffer-browse.html" 6 | url "https://elpa.gnu.org/packages/temp-buffer-browse-1.5.el" 7 | sha256 "6c74cc2ac6b971f22d2e841a8179d1a21ffc7c58079d5e65749b3cc33ade2eb7" 8 | 9 | depends_on EmacsRequirement => "24.3" 10 | 11 | def install 12 | mv "temp-buffer-browse-#{version}.el", "temp-buffer-browse.el" 13 | byte_compile "temp-buffer-browse.el" 14 | elisp.install "temp-buffer-browse.el", "temp-buffer-browse.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "temp-buffer-browse") 21 | (temp-buffer-browse-mode 1) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/test-simple.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TestSimple < EmacsFormula 4 | desc "Emacs unit test library" 5 | homepage "https://github.com/rocky/emacs-test-simple" 6 | url "https://elpa.gnu.org/packages/test-simple-1.3.0.el" 7 | sha256 "ffb3143dcd0b10e09c9620774ade295eab57189fa280046c5125e996980ca6f9" 8 | 9 | bottle :disable 10 | 11 | head do 12 | url "https://github.com/rocky/emacs-test-simple.git" 13 | depends_on "automake" => :build 14 | depends_on "autoconf" => :build 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 19 | 20 | def install 21 | if build.stable? 22 | mv "test-simple-#{version}.el", "test-simple.el" 23 | byte_compile "test-simple.el" 24 | else 25 | system "./autogen.sh" 26 | system "make", "check" 27 | end 28 | elisp.install "test-simple.el", "test-simple.elc" 29 | end 30 | 31 | test do 32 | (testpath/"test.el").write <<~EOS 33 | (add-to-list 'load-path "#{share}/emacs/site-lisp/test-simple") 34 | (load "test-simple") 35 | (print (minibuffer-prompt-width)) 36 | EOS 37 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Formula/textmate-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TextmateEmacs < EmacsFormula 4 | desc "Textmate-inspired minor mode" 5 | homepage "https://github.com/defunkt/textmate.el" 6 | url "https://github.com/defunkt/textmate.el/archive/v1.tar.gz" 7 | sha256 "1ce4475d4e80eed145a5055f25912d66e93b4ca10306679b09e9cc722f5bcec2" 8 | head "https://github.com/defunkt/textmate.el.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "15528cfd245976e10b7fde8aaa9d98a1fd99a93df3ccf69968fe2bc7fc145388" => :sierra 13 | sha256 "15528cfd245976e10b7fde8aaa9d98a1fd99a93df3ccf69968fe2bc7fc145388" => :el_capitan 14 | sha256 "15528cfd245976e10b7fde8aaa9d98a1fd99a93df3ccf69968fe2bc7fc145388" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement 18 | 19 | def install 20 | byte_compile "textmate.el" 21 | elisp.install "textmate.el", "textmate.elc" 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "textmate") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/timerfunctions.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Timerfunctions < EmacsFormula 4 | desc "Enhanced version of timer.el" 5 | homepage "http://elpa.gnu.org/packages/timerfunctions.html" 6 | url "http://elpa.gnu.org/packages/timerfunctions-1.4.2.el" 7 | sha256 "854bc3716a77db2bc5f7f264166f6156e7a3b3c3296e1adface15f04b6455888" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "timerfunctions-#{version}.el", "timerfunctions.el" 13 | byte_compile "timerfunctions.el" 14 | (share/"emacs/site-lisp/timerfunctions").install "timerfunctions.el", 15 | "timerfunctions.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'timerfunctions) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/timerfunctions") 28 | (load "timerfunctions") 29 | (print timerfunctions-version) 30 | EOS 31 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/tiny-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TinyEmacs < EmacsFormula 4 | desc "Emacs package for generating linear ranges" 5 | homepage "https://github.com/abo-abo/tiny" 6 | url "https://elpa.gnu.org/packages/tiny-0.2.1.tar" 7 | sha256 "5b349e66c0e54b81f66976fd641cf77f38528a160cf452944ca4a8f5901a27b3" 8 | head "https://github.com/abo-abo/tiny.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "dunn/emacs/undercover" => :build 12 | 13 | def install 14 | ert_run_tests "tiny-test.el" 15 | system "make", "compile" 16 | elisp.install Dir["*.el"], Dir["*.elc"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "tiny") 23 | (print (tiny-tokenize "+x2")) 24 | EOS 25 | assert_equal "\"(+ x 2)\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/tnfa-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TnfaEmacs < EmacsFormula 4 | desc "Tagged non-deterministic finite-state automata" 5 | homepage "http://www.dr-qubit.org/emacs_data-structures.html" 6 | url "https://elpa.gnu.org/packages/tNFA-0.1.1.el" 7 | sha256 "ba691bbbed5328939ca3a562a9231640502dd657f99c2f68295338f428bac406" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | depends_on "dunn/emacs/queue-emacs" 13 | 14 | def install 15 | mv "tNFA-#{version}.el", "tNFA.el" 16 | byte_compile "tNFA.el" 17 | elisp.install "tNFA.el", "tNFA.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (add-to-list 'load-path "#{Formula["queue-emacs"].opt_elisp}") 24 | (load "tNFA") 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/trie-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TrieEmacs < EmacsFormula 4 | desc "Emacs implementation of the trie data structure" 5 | homepage "http://www.dr-qubit.org/emacs_data-structures.html" 6 | url "https://elpa.gnu.org/packages/trie-0.4.el" 7 | sha256 "fcfdd790aa91557dc1dd6b970327161d86b9ca5a6fa7c649a2b1c3b70674c920" 8 | 9 | bottle :disable 10 | 11 | # for the avl-tree package 12 | depends_on EmacsRequirement => "24.1" 13 | depends_on "dunn/emacs/heap-emacs" 14 | depends_on "dunn/emacs/tnfa-emacs" 15 | 16 | def install 17 | mv "trie-#{version}.el", "trie.el" 18 | byte_compile "trie.el" 19 | elisp.install "trie.el", "trie.elc" 20 | end 21 | 22 | test do 23 | (testpath/"test.el").write <<~EOS 24 | (add-to-list 'load-path "#{elisp}") 25 | (add-to-list 'load-path "#{Formula["dunn/emacs/heap-emacs"].opt_elisp}") 26 | (add-to-list 'load-path "#{Formula["dunn/emacs/tnfa-emacs"].opt_elisp}") 27 | (add-to-list 'load-path "#{Formula["dunn/emacs/queue-emacs"].opt_elisp}") 28 | (load "trie") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/typo-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class TypoMode < EmacsFormula 4 | desc "Emacs minor mode for inserting typographic characters" 5 | homepage "https://github.com/jorgenschaefer/typoel" 6 | url "https://github.com/jorgenschaefer/typoel/archive/v1.1.tar.gz" 7 | sha256 "da7b345e7cb9e9934c8f0aa0b000e417e772636679c0e5ae6653269201e254e5" 8 | head "https://github.com/jorgenschaefer/typoel.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | byte_compile "typo.el" 14 | elisp.install "typo.el", "typo.elc" 15 | end 16 | 17 | test do 18 | (testpath/"test.el").write <<~EOS 19 | (add-to-list 'load-path "#{elisp}") 20 | (load "typo") 21 | (typo-global-mode 1) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/undercover.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Undercover < EmacsFormula 4 | desc "Test coverage library for Emacs" 5 | homepage "https://github.com/sviridov/undercover.el" 6 | url "https://github.com/sviridov/undercover.el/archive/0.6.1.tar.gz" 7 | sha256 "c7b69b33b41df47dc67b499c6dbec9a8d775f2c8eeab9de22ee1fe7f1155fc6f" 8 | head "https://github.com/sviridov/undercover.el.git" 9 | 10 | depends_on EmacsRequirement => "24.1" 11 | depends_on "dunn/emacs/dash-emacs" 12 | depends_on "dunn/emacs/shut-up" 13 | 14 | def install 15 | byte_compile "undercover.el" 16 | elisp.install "undercover.el", "undercover.elc" 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (add-to-list 'load-path "#{Formula["dunn/emacs/dash-emacs"].opt_elisp}") 23 | (add-to-list 'load-path "#{Formula["dunn/emacs/shut-up"].opt_elisp}") 24 | (load "undercover") 25 | (print undercover-version) 26 | EOS 27 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/undo-tree.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class UndoTree < EmacsFormula 4 | desc "Branching undo mode for Emacs" 5 | homepage "http://www.dr-qubit.org/undo-tree.html" 6 | url "https://elpa.gnu.org/packages/undo-tree-0.6.5.el" 7 | sha256 "67b4842cc3cafa5a8b15adc89e6db37e8367f5078fd2d4d5df723ade7d3f492f" 8 | head "http://www.dr-qubit.org/git/undo-tree.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement 13 | 14 | def install 15 | mv "undo-tree-#{version}.el", "undo-tree.el" if build.stable? 16 | 17 | byte_compile Dir["*.el"] 18 | elisp.install Dir["*.el"], Dir["*.elc"] 19 | end 20 | 21 | test do 22 | (testpath/"test.el").write <<~EOS 23 | (add-to-list 'load-path "#{elisp}") 24 | (load "undo-tree") 25 | (global-undo-tree-mode) 26 | (print (minibuffer-prompt-width)) 27 | EOS 28 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /Formula/unkillable-scratch.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class UnkillableScratch < EmacsFormula 4 | desc "Prevent *scratch* etc. from being killed" 5 | homepage "https://github.com/EricCrosson/unkillable-scratch" 6 | url "https://github.com/EricCrosson/unkillable-scratch/archive/v0.1.tar.gz" 7 | sha256 "9e3ade0a2a1041d63e558de51d4f0f519377f292125feaf623e33ddac331ee4f" 8 | head "https://github.com/EricCrosson/unkillable-scratch.git" 9 | 10 | depends_on EmacsRequirement => "22.1" 11 | 12 | def install 13 | byte_compile "unkillable-scratch.el" 14 | (share/"emacs/site-lisp/unkillable-scratch").install Dir["*.el"], 15 | Dir["*.elc"] 16 | doc.install "README.md" 17 | end 18 | 19 | def caveats; <<~EOS 20 | Add the following to your init file: 21 | 22 | (require 'unkillable-scratch) 23 | (unkillable-scratch 1) 24 | EOS 25 | end 26 | 27 | test do 28 | (testpath/"test.el").write <<~EOS 29 | (add-to-list 'load-path "#{share}/emacs/site-lisp/unkillable-scratch") 30 | (load "unkillable-scratch") 31 | (unkillable-scratch 1) 32 | (print (minibuffer-prompt-width)) 33 | EOS 34 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/vlf-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class VlfMode < EmacsFormula 4 | desc "Emacs minor mode for viewing very large files" 5 | homepage "https://github.com/m00natic/vlfi" 6 | url "https://github.com/m00natic/vlfi/archive/1.7.tar.gz" 7 | sha256 "098c5d438b31c5b83a51ffed09d47c4eead2733dc68fd9bb7d5eebe56450f899" 8 | head "https://github.com/m00natic/vlfi.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | byte_compile Dir["*.el"] 14 | (share/"emacs/site-lisp/vlf").install Dir["*.el"], Dir["*.elc"] 15 | doc.install "README.org" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'vlf-setup) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/vlf") 28 | (load "vlf-setup") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/wcheck-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WcheckMode < EmacsFormula 4 | desc "General-purpose text-checker interface for Emacs" 5 | homepage "https://github.com/tlikonen/wcheck-mode" 6 | url "http://elpa.gnu.org/packages/wcheck-mode-2016.1.30.el" 7 | sha256 "58f6d43989214f44c61ea75a06bebf383f08c9e5c74b3b1080045047b5edf943" 8 | head "https://github.com/tlikonen/wcheck-mode.git" 9 | 10 | depends_on EmacsRequirement 11 | 12 | def install 13 | if build.stable? 14 | mv "wcheck-mode-#{version}.el", "wcheck-mode.el" 15 | byte_compile "wcheck-mode.el" 16 | else 17 | system "make", "elc" 18 | end 19 | 20 | elisp.install "wcheck-mode.el", "wcheck-mode.elc" 21 | end 22 | 23 | test do 24 | (testpath/"test.el").write <<~EOS 25 | (add-to-list 'load-path "#{elisp}") 26 | (load "wcheck-mode") 27 | (print (minibuffer-prompt-width)) 28 | EOS 29 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /Formula/web-completion-data.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WebCompletionData < EmacsFormula 4 | desc "Completion data for ac-html and company-web" 5 | homepage "https://github.com/osv/web-completion-data" 6 | url "https://github.com/osv/web-completion-data/archive/v0.2.tar.gz" 7 | sha256 "14fef83de38bf98fcf1a4cfa2087f41ac877c61f90ab99a5e4981f0326d3c9fa" 8 | 9 | head do 10 | url "https://github.com/osv/web-completion-data.git" 11 | depends_on "node" => :build 12 | end 13 | 14 | def install 15 | if build.head? 16 | ENV.prepend_path "PATH", "#{Formula["node"].opt_libexec}/npm/bin" 17 | cd "convertor" do 18 | system "npm", "install" 19 | end 20 | system "make" 21 | end 22 | 23 | byte_compile "web-completion-data.el" 24 | elisp.install "html-stuff", 25 | "web-completion-data.el", "web-completion-data.elc" 26 | end 27 | 28 | test do 29 | (testpath/"test.el").write <<~EOS 30 | (add-to-list 'load-path "#{elisp}") 31 | (load "web-completion-data") 32 | (print web-completion-data-html-source-dir) 33 | EOS 34 | assert_equal "\"#{elisp}/html-stuff\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Formula/web-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WebMode < EmacsFormula 4 | desc "Emacs major mode for editing web templates" 5 | homepage "http://web-mode.org" 6 | url "https://github.com/fxbois/web-mode/archive/v16.tar.gz" 7 | sha256 "95ca363af665c3174ac228efc8d239ed0b4ecf2377918093655dc85dd8e979e2" 8 | head "https://github.com/fxbois/web-mode.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | system "/bin/bash", "./run.sh" 14 | byte_compile "web-mode.el" 15 | elisp.install "web-mode.el", "web-mode.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "web-mode") 22 | (print web-mode-version) 23 | EOS 24 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/web-server-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WebServerEmacs < EmacsFormula 4 | desc "Emacs Lisp webserver" 5 | homepage "https://eschulte.github.io/emacs-web-server/" 6 | url "http://elpa.gnu.org/packages/web-server-0.1.1.tar" 7 | sha256 "5690e943312b312b4be3f419a3c292b73d2ccfe6f045da988f84aac23174a1e0" 8 | head "https://github.com/eschulte/emacs-web-server.git" 9 | 10 | depends_on EmacsRequirement => "24.3" 11 | 12 | def install 13 | if build.stable? 14 | byte_compile "web-server.el" 15 | else 16 | # `make doc` currently fails 17 | system "make", "src" 18 | system "make", "check" 19 | doc.install Dir["doc/*"], "examples" 20 | end 21 | elisp.install Dir["*.el"], Dir["*.elc"] 22 | end 23 | 24 | test do 25 | (testpath/"test.el").write <<~EOS 26 | (add-to-list 'load-path "#{elisp}") 27 | (load "web-server") 28 | (print (minibuffer-prompt-width)) 29 | EOS 30 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /Formula/websocket-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WebsocketEmacs < EmacsFormula 4 | desc "Emacs Lisp WebSocket library" 5 | homepage "https://github.com/ahyatt/emacs-websocket" 6 | url "https://elpa.gnu.org/packages/websocket-1.8.tar" 7 | sha256 "a9b1c4c725e85f809d9532b273e91c809b179410684d7b98deec7c54adad9d35" 8 | head "https://github.com/ahyatt/emacs-websocket.git" 9 | 10 | depends_on EmacsRequirement => "23.1" 11 | 12 | def install 13 | # the functional test requires a running Tornado web server 14 | # https://github.com/ahyatt/emacs-websocket/blob/f18bfea59b843ea67bc0a3381783d6e083d33640/websocket-functional-test.el#L22-L24 15 | ert_run_tests "websocket-test.el" if build.head? 16 | byte_compile "websocket.el" 17 | elisp.install "websocket.el", "websocket.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "websocket") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/wgrep.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Wgrep < EmacsFormula 4 | desc "Writeable grep buffers for Emacs" 5 | homepage "https://github.com/mhayashi1120/Emacs-wgrep" 6 | url "https://github.com/mhayashi1120/Emacs-wgrep/archive/2.1.10.tar.gz" 7 | sha256 "819219bafe76fa8b5f3e5eb50c46e23c0d47ce0c5d84ae9b791d9cacaebf4be4" 8 | head "https://github.com/mhayashi1120/Emacs-wgrep.git" 9 | 10 | depends_on EmacsRequirement => "22.1" 11 | 12 | def install 13 | system "make", "compile" 14 | system "make", "check" 15 | 16 | elisp.install Dir["*.el"], Dir["*.elc"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{share}/emacs/site-lisp/wgrep") 22 | (load "wgrep") 23 | (wgrep-check-buffer) 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/which-key.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class WhichKey < EmacsFormula 4 | desc "Emacs package for displaying available keybindings" 5 | homepage "https://github.com/justbur/emacs-which-key" 6 | url "https://github.com/justbur/emacs-which-key/archive/v3.1.0.tar.gz" 7 | sha256 "383c02189cca4e734f84d6039ebd6d64f7ffd0021146c286ab485e8bafdeb540" 8 | head "https://github.com/justbur/emacs-which-key.git" 9 | 10 | bottle :disable 11 | 12 | depends_on EmacsRequirement => "24.3" 13 | 14 | def install 15 | ert_run_tests "which-key-tests.el" 16 | byte_compile "which-key.el" 17 | elisp.install "which-key.el", "which-key.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "which-key") 24 | (which-key-mode) 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/windresize.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Windresize < EmacsFormula 4 | desc "Interactively resize windows in Emacs" 5 | homepage "http://elpa.gnu.org/packages/windresize.html" 6 | url "http://elpa.gnu.org/packages/windresize-0.1.el" 7 | sha256 "7d448781cc2a717127c2f905494e9bf5a95b43ded8bd5f803e775a838c76ab2c" 8 | 9 | depends_on EmacsRequirement 10 | 11 | def install 12 | mv "windresize-#{version}.el", "windresize.el" 13 | byte_compile "windresize.el" 14 | (share/"emacs/site-lisp/windresize").install "windresize.el", 15 | "windresize.elc" 16 | end 17 | 18 | def caveats; <<~EOS 19 | Add the following to your init file: 20 | 21 | (require 'windresize) 22 | EOS 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{share}/emacs/site-lisp/windresize") 28 | (load "windresize") 29 | (print windresize-version) 30 | EOS 31 | assert_match version.to_s, shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Formula/wisi.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Wisi < EmacsFormula 4 | desc "Indentation/navigation in Emacs using a LALR parser" 5 | homepage "http://www.nongnu.org/ada-mode/wisi/wisi.html" 6 | url "https://elpa.gnu.org/packages/wisi-1.1.6.tar" 7 | sha256 "d3f26f27f8cb2932639ad054d35a5742eb1b989546597c6b06e5ae4768aaf05c" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "25.1" 12 | 13 | def install 14 | sources = (Dir["*.el"] - ["wisi-pkg.el"]) 15 | byte_compile sources 16 | elisp.install sources, Dir["*.elc"] 17 | end 18 | 19 | test do 20 | (testpath/"test.el").write <<~EOS 21 | (add-to-list 'load-path "#{elisp}") 22 | (load "wisi") 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/wpuzzle.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Wpuzzle < EmacsFormula 4 | desc "Emacs word search game" 5 | homepage "http://elpa.gnu.org/packages/wpuzzle.html" 6 | url "http://elpa.gnu.org/packages/wpuzzle-1.1.el" 7 | sha256 "720a03df4a09437790c222effd7fb461b09fdd8be34c85ac90db01d642204ff2" 8 | 9 | depends_on EmacsRequirement 10 | depends_on "aspell" => "with-lang-en" 11 | 12 | def install 13 | mv "wpuzzle-#{version}.el", "wpuzzle.el" 14 | byte_compile "wpuzzle.el" 15 | (share/"emacs/site-lisp/wpuzzle").install "wpuzzle.el", 16 | "wpuzzle.elc" 17 | end 18 | 19 | def caveats; <<~EOS 20 | Add the following to your init file: 21 | 22 | (require 'wpuzzle) 23 | EOS 24 | end 25 | 26 | test do 27 | (testpath/"test.el").write <<~EOS 28 | (add-to-list 'load-path "#{share}/emacs/site-lisp/wpuzzle") 29 | (load "wpuzzle") 30 | (print (minibuffer-prompt-width)) 31 | EOS 32 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /Formula/xclip-mode.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class XclipMode < EmacsFormula 4 | desc "Emacs mode to copy and paste using xclip" 5 | homepage "https://elpa.gnu.org/packages/xclip.html" 6 | url "https://elpa.gnu.org/packages/xclip-1.4.el" 7 | sha256 "d7d09f5f3461e70a3589124be4955f1e858e0f83220987359320c8cf413a3c8b" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement 12 | depends_on "xclip" 13 | 14 | def install 15 | mv "xclip-#{version}.el", "xclip.el" 16 | byte_compile "xclip.el" 17 | elisp.install "xclip.el", "xclip.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "xclip") 24 | (xclip-mode 1) 25 | (print (minibuffer-prompt-width)) 26 | EOS 27 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /Formula/xcscope.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Xcscope < EmacsFormula 4 | desc "cscope interface for (X)Emacs" 5 | homepage "https://github.com/dkogan/xcscope.el" 6 | url "https://github.com/dkogan/xcscope.el/archive/v1.3.tar.gz" 7 | sha256 "69d80db62d1c4354cd1bb04df401b8c329658bd1e9262e28b8e81a80abb0e09b" 8 | head "https://github.com/dkogan/xcscope.el.git" 9 | 10 | depends_on EmacsRequirement 11 | depends_on "cscope" 12 | 13 | def install 14 | byte_compile "xcscope.el" 15 | elisp.install "xcscope.el", "xcscope.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{share}/emacs/site-lisp/xcscope") 21 | (load "xcscope") 22 | (cscope-setup) 23 | (print (minibuffer-prompt-width)) 24 | EOS 25 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Formula/xml-rpc-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class XmlRpcEmacs < EmacsFormula 4 | desc "XML-RPC client for Emacs" 5 | homepage "https://launchpad.net/xml-rpc-el" 6 | url "https://launchpad.net/xml-rpc-el/trunk/1.6.8/+download/xml-rpc.el" 7 | version "1.6.8" 8 | sha256 "ebd4e582f66df200a01344cd89af428d1ae75878c2057c76c65c66e841721045" 9 | head "lp:xml-rpc-el", :using => :bzr 10 | 11 | depends_on EmacsRequirement 12 | 13 | def install 14 | byte_compile "xml-rpc.el" 15 | elisp.install "xml-rpc.el", "xml-rpc.elc" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'load-path "#{elisp}") 21 | (load "xml-rpc") 22 | (print xml-rpc-version) 23 | EOS 24 | assert_equal "\"#{version}\"", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/xpm-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class XpmEmacs < EmacsFormula 4 | desc "Emacs library for editing XPM images" 5 | homepage "http://www.gnuvola.org/software/xpm/" 6 | url "https://elpa.gnu.org/packages/xpm-1.0.4.tar" 7 | sha256 "303f629471ffc95d6b87b66302ed730bd53c1a7dd6cc07d6a82c41a8958fb51c" 8 | 9 | bottle :disable 10 | 11 | depends_on EmacsRequirement => "24.1" 12 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 13 | 14 | def install 15 | byte_compile "xpm.el", "xpm-m2z.el" 16 | elisp.install "xpm.el", "xpm.elc", 17 | "xpm-m2z.el", "xpm-m2z.elc" 18 | end 19 | 20 | test do 21 | (testpath/"test.el").write <<~EOS 22 | (add-to-list 'load-path "#{elisp}") 23 | (load "xpm") 24 | (print (minibuffer-prompt-width)) 25 | EOS 26 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Formula/zenburn-emacs.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class ZenburnEmacs < EmacsFormula 4 | desc "Low contrast theme for Emacs" 5 | homepage "https://github.com/bbatsov/zenburn-emacs" 6 | url "https://github.com/bbatsov/zenburn-emacs/archive/v2.5.tar.gz" 7 | sha256 "f6811eada38ad53e233f53872a0ab9b5264978c7c6cfffef8e88aeb5de876e0e" 8 | head "https://github.com/bbatsov/zenburn-emacs.git" 9 | 10 | bottle :unneeded 11 | 12 | depends_on EmacsRequirement => "24.1" 13 | 14 | def install 15 | elisp.install "zenburn-theme.el" 16 | end 17 | 18 | test do 19 | (testpath/"test.el").write <<~EOS 20 | (add-to-list 'custom-theme-load-path "#{elisp}") 21 | (load-theme 'zenburn t) 22 | (print (minibuffer-prompt-width)) 23 | EOS 24 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /Formula/ztree.rb: -------------------------------------------------------------------------------- 1 | require File.expand_path("../../Homebrew/emacs_formula", __FILE__) 2 | 3 | class Ztree < EmacsFormula 4 | desc "Emacs modes for directory tree comparison" 5 | homepage "https://github.com/fourier/ztree" 6 | url "https://elpa.gnu.org/packages/ztree-1.0.5.tar" 7 | sha256 "3d58d5a0a3220ed62f54014e51d12b1caed459650d2b8e2afabf85adbc5eeb92" 8 | head "https://github.com/fourier/ztree.git" 9 | 10 | bottle do 11 | cellar :any_skip_relocation 12 | sha256 "a5253b970e776895b1da9ccd2d65151c31adfed162a16ffa03e6681e67bb499e" => :sierra 13 | sha256 "a1529c28939be1b7f0bf8723e08d1b79e1073f7a741f01152369bd5105573fca" => :el_capitan 14 | sha256 "a1529c28939be1b7f0bf8723e08d1b79e1073f7a741f01152369bd5105573fca" => :yosemite 15 | end 16 | 17 | depends_on EmacsRequirement => "24.1" 18 | depends_on "dunn/emacs/cl-lib" if Emacs.version < Version.create("24.3") 19 | 20 | def install 21 | byte_compile Dir["*.el"] 22 | elisp.install Dir["*.el"], Dir["*.elc"] 23 | end 24 | 25 | test do 26 | (testpath/"test.el").write <<~EOS 27 | (add-to-list 'load-path "#{elisp}") 28 | (load "ztree") 29 | (print (minibuffer-prompt-width)) 30 | EOS 31 | assert_equal "0", shell_output("emacs -Q --batch -l #{testpath}/test.el").strip 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Homebrew/emacs.rb: -------------------------------------------------------------------------------- 1 | module Emacs 2 | def self.version 3 | Version.create( 4 | Utils.popen_read("emacs", "-Q", "--batch", "--eval", "(princ emacs-version)") 5 | ) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /Homebrew/requirements/emacs_requirement.rb: -------------------------------------------------------------------------------- 1 | class EmacsRequirement < Requirement 2 | fatal true 3 | 4 | def initialize(tags) 5 | @version = tags.shift if /\d+\.*\d*/ =~ tags.first 6 | super 7 | end 8 | 9 | satisfy build_env: false do 10 | next false unless which "emacs" 11 | next true unless @version 12 | 13 | emacs_version = Utils.popen_read( 14 | which("emacs"), 15 | "--batch", 16 | "--eval", 17 | "(princ emacs-version)", 18 | ) 19 | 20 | Version.create(emacs_version) >= Version.create(@version) 21 | end 22 | 23 | env do 24 | ENV.prepend_path "PATH", which("emacs").dirname 25 | ENV["EMACS"] = "emacs" 26 | end 27 | 28 | def message 29 | if @version 30 | s = "Emacs #{@version} or later is required. " 31 | else 32 | s = "Emacs is required. " 33 | end 34 | s += super 35 | s 36 | end 37 | 38 | def inspect 39 | "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /Homebrew/requirements/latex_requirement.rb: -------------------------------------------------------------------------------- 1 | class LaTeXRequirement < Requirement 2 | fatal true 3 | cask "mactex" 4 | download "https://www.tug.org/mactex/" 5 | 6 | satisfy { which("tex") || which("latex") } 7 | 8 | def message 9 | s = <<~EOS 10 | A LaTeX distribution is required for Homebrew to install this formula. 11 | Make sure that "/usr/texbin", or the location you installed it to, is in 12 | your PATH before proceeding. 13 | EOS 14 | s += super 15 | s 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2014-2017 Homebrew contributors. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /formula_renames.json: -------------------------------------------------------------------------------- 1 | { 2 | "cargo": "cargo-mode", 3 | "dash": "dash-emacs", 4 | "f": "f-emacs", 5 | "hydra": "hydra-emacs", 6 | "jade": "indium", 7 | "s": "s-emacs", 8 | "xml-rpc": "xml-rpc-emacs", 9 | "wisi-emacs": "wisi", 10 | "ztree-emacs": "ztree" 11 | } 12 | --------------------------------------------------------------------------------