diff --git a/.gitignore b/.gitignore index a49b9b6..3339d35 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ projectile-bookmarks.eld *.dat *~ +/elpa/ +/themes/ \ No newline at end of file diff --git a/elpa/0blayout-readme.txt b/elpa/0blayout-readme.txt deleted file mode 100644 index 19cd0e9..0000000 --- a/elpa/0blayout-readme.txt +++ /dev/null @@ -1,18 +0,0 @@ -This global minor mode provides a simple way to switch between layouts and -the buffers you left open before you switched (unless you closed it). - -It doesn't require any setup at all more than: -(0blayout-mode) - -When you start Emacs with 0blayout loaded, you will have a default layout -named "default", and then you can create new layouts ( C-c), switch -layouts ( C-b), and kill the current layout ( C-k). -The default is (C-c C-l), but you can change it using: -(0blayout-add-keybindings-with-prefix "") - -You can also customize-variable to change the name of the default session. - -The project is hosted at https://github.com/etu/0blayout -There you can leave bug-reports and suggestions. - -Another comparable mode is eyebrowse which have been developed for longer. diff --git a/elpa/ac-js2-20190101.933/ac-js2-autoloads.el b/elpa/ac-js2-20190101.933/ac-js2-autoloads.el deleted file mode 100644 index 3cd7b97..0000000 --- a/elpa/ac-js2-20190101.933/ac-js2-autoloads.el +++ /dev/null @@ -1,62 +0,0 @@ -;;; ac-js2-autoloads.el --- automatically extracted autoloads -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "ac-js2" "ac-js2.el" (0 0 0 0)) -;;; Generated autoloads from ac-js2.el - -(autoload 'ac-js2-expand-function "ac-js2" "\ -Expand the function definition left of point. -Expansion will only occur for candidates whose documentation -string contain a function prototype. - -\(fn)" t nil) - -(autoload 'ac-js2-completion-function "ac-js2" "\ -Function for `completions-at-point'. - -\(fn)" nil nil) - -(autoload 'ac-js2-company "ac-js2" "\ - - -\(fn COMMAND &optional ARG &rest IGNORED)" t nil) - -(autoload 'ac-js2-jump-to-definition "ac-js2" "\ -Jump to the definition of an object's property, variable or function. -Navigation to a property definend in an Object literal isn't -implemented. - -\(fn)" t nil) - -(autoload 'ac-js2-mode "ac-js2" "\ -A minor mode that provides auto-completion and navigation for Js2-mode. - -\(fn &optional ARG)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ac-js2" '("ac-js2-"))) - -;;;*** - -;;;### (autoloads nil "ac-js2-tests" "ac-js2-tests.el" (0 0 0 0)) -;;; Generated autoloads from ac-js2-tests.el - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ac-js2-tests" '("completion-frontend-test"))) - -;;;*** - -;;;### (autoloads nil nil ("ac-js2-pkg.el") (0 0 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; ac-js2-autoloads.el ends here diff --git a/elpa/ac-js2-20190101.933/ac-js2-pkg.el b/elpa/ac-js2-20190101.933/ac-js2-pkg.el deleted file mode 100644 index ce206d2..0000000 --- a/elpa/ac-js2-20190101.933/ac-js2-pkg.el +++ /dev/null @@ -1,11 +0,0 @@ -(define-package "ac-js2" "20190101.933" "Auto-complete source for Js2-mode, with navigation" - '((js2-mode "20090723") - (skewer-mode "1.4")) - :authors - '(("Scott Barnett" . "scott.n.barnett@gmail.com")) - :maintainer - '("Scott Barnett" . "scott.n.barnett@gmail.com") - :url "https://github.com/ScottyB/ac-js2") -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/ac-js2-20190101.933/ac-js2-tests.el b/elpa/ac-js2-20190101.933/ac-js2-tests.el deleted file mode 100644 index 05514e3..0000000 --- a/elpa/ac-js2-20190101.933/ac-js2-tests.el +++ /dev/null @@ -1,76 +0,0 @@ -;;; Tests for ac-js2 - -(require 'ert) -(require 'skewer-mode) -(require 'js2-mode) -(require 'ac-js2) - -;;; Must have a skewer client connected before running the tests -;; Need to call httpd-stop from main Emacs if running tests in batch mode -(unless skewer-clients - (run-skewer)) - -(ert-deftest ac-js2-candidates-test () - "Test the major function that returns candidates for all frontends." - (let (property - property-dot - func-call - var) - (with-temp-buffer - (insert " - var temp = function(param1, param2) { - var localParam = 15; - return param1 + param2; - }; - - var look; - -temp.aFun = function(lolParam) {}; -temp.anotherFunction = function() { return {about: 3};}") - (setq ac-js2-evaluate-calls t) - (setq ac-js2-external-libraries nil) - - (js2-mode) - (ac-js2-mode t) - (js2-parse) - - (insert "tem") - (ac-js2-candidates) - (setq var ac-js2-skewer-candidates) - (delete-char -3) - - (insert "temp.") - (js2-parse) - (ac-js2-candidates) - (setq property-dot ac-js2-skewer-candidates) - (delete-char -5) - - (insert "temp.aF") - (js2-parse) - (ac-js2-candidates) - (setq property ac-js2-skewer-candidates)) - - (should (assoc 'anotherFunction property-dot)) - (print property) - (should (assoc 'aFun property)) - (should (assoc 'temp var)))) - -(defmacro completion-frontend-test (test-name completion-function) - "Utility for testing completion front ends. -TODO: cover more cases" - `(ert-deftest ,test-name () - (let (var) - (with-temp-buffer - (insert "var testComplete = function(param1, param2) {};") - - (js2-mode) - (ac-js2-mode t) - (js2-parse) - - (insert "testComplet") - (funcall ',completion-function) - (setq var (thing-at-point 'word))) - (should (string= var "testComplete"))))) - -(completion-frontend-test auto-complete-test auto-complete) -(completion-frontend-test completion-at-point-test completion-at-point) diff --git a/elpa/ac-js2-20190101.933/ac-js2-tests.elc b/elpa/ac-js2-20190101.933/ac-js2-tests.elc deleted file mode 100644 index cbdcbf0..0000000 Binary files a/elpa/ac-js2-20190101.933/ac-js2-tests.elc and /dev/null differ diff --git a/elpa/ac-js2-20190101.933/ac-js2.el b/elpa/ac-js2-20190101.933/ac-js2.el deleted file mode 100644 index 1951388..0000000 --- a/elpa/ac-js2-20190101.933/ac-js2.el +++ /dev/null @@ -1,608 +0,0 @@ -;;; ac-js2.el --- Auto-complete source for Js2-mode, with navigation - -;; Copyright (C) 2013 Scott Barnett - -;; Author: Scott Barnett -;; URL: https://github.com/ScottyB/ac-js2 -;; Version: 1.0 -;; Package-Requires: ((js2-mode "20090723")(skewer-mode "1.4")) - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; An attempt to get context sensitive Javascript completion in Emacs. -;; Basic completions are obtained by parsing Javascript code with -;; Js2-mode's parser. -;; -;; Installation -;; -;; Easiest way to get ac-js2 is to install it from MELPA. You may need -;; this snippet -;; -;; `(add-to-list 'package-archives -;; '("melpa" . "http://melpa.milkbox.net/packages/") t)' -;; -;; if you don't have it already to fetch packages from MELPA. -;; -;; Enable ac-js2 in js2-mode as follows: -;; -;; (add-hook 'js2-mode-hook 'ac-js2-mode) -;; -;; Ac-js2 does not require auto-complete mode but I suggest you grab -;; it anyway as ac-js2 is designed to work with a completion frontend. -;; Support for Company mode is on its way. -;; -;; For more comprehensive completions you can opt to evaluate the code -;; for candidates. A browser needs to be connected to Emacs for the -;; evaluation completions to work. Put this in your init.el file. -;; -;; `(setq ac-js2-evaluate-calls t)' -;; -;; To add completions for external libraries add something like this: -;; -;; (add-to-list 'ac-js2-external-libraries "path/to/lib/library.js") -;; -;; Then connect a browser to Emacs by calling `(run-skewer)'. You may -;; need to save the buffer for completions to start. -;; -;; If auto-complete mode is installed on your system then completions -;; should start showing up otherwise use `completion-at-point'. -;; -;; Note: library completions will only work if `ac-js2-evaluate-calls' -;; is set and a browser is connected to Emacs. -;; -;; Bonus: M-. is bound to `ac-js2-jump-to-definition' which will jump -;; to Javascript definitions found in the same buffer. Given the -;; following proprety reference: -;; -;; foo.bar.baz(); -;; -;; placing the cursor on `foo', `bar' or `baz' and executing M-. will -;; take you straight to their respective definitions. Use M-, to jump -;; back to where you were. Also works for object literals. -;; -;; Recently added `ac-js2-expand-function' that will expand a function's -;; parameters bound to `C-c C-c`. Expansion will only work if the cursor -;; is after the function. -;; -;; If you have any issues or suggestions please create an issue on Github: -;; https://github.com/ScottyB/ac-js2 - -;;; History: - -;; Version 1.0 -;; * Navigation within current buffer -;; * Completion and docstring for objects via Skewer -;; * External library support -;; * Basic completions of objects in current buffer - -;;; Code: - -(require 'js2-mode) -(require 'skewer-mode) -(require 'cl-lib) -(require 'etags) - -(defgroup ac-js2 nil - "Auto-completion for js2-mode." - :group 'completion - :prefix "ac-js2-") - -;;; Configuration variables - -(defcustom ac-js2-add-ecma-262-externs t - "If non-nil add `js2-ecma-262-externs' to completion candidates.") - -(defcustom ac-js2-add-browser-externs t - "If non-nil add `js2-browser-externs' to completion candidates.") - -(defcustom ac-js2-add-keywords t - "If non-nil add `js2-keywords' to completion candidates.") - -(defcustom ac-js2-add-prototype-completions t - "When non-nil traverse the prototype chain adding to completion candidates.") - -(defcustom ac-js2-external-libraries '() - "List of absolute paths to external Javascript libraries.") - -(defcustom ac-js2-evaluate-calls nil - "Warning. When true function calls will be evaluated in the browser. -This may cause undesired side effects however it will - provide better completions. Use at your own risk.") - -(defcustom ac-js2-force-reparse t - "Force Js2-mode to reparse buffer before fetching completion candidates.") - -;;; Internal variables - -(defvar ac-js2-keywords '() - "Cached string version of `js2-keywords'.") - -(defvar ac-js2-candidates '()) - -;; Types of skewer completion methods available -(defconst ac-js2-method-eval 0) -(defconst ac-js2-method-global 1 - "Return candidates for the global object. -Only keys of the object are returned as the other properties come - from js2-mode's externs.") - -(defvar ac-js2-data-root (file-name-directory load-file-name) - "Location of data files needed for `ac-js2-on-skewer-load'.") - -;;; Skewer integration - -(defvar ac-js2-skewer-candidates '() - "Cadidates obtained from skewering.") - -(defun ac-js2-on-skewer-load () - "Inject skewer addon and evaluate external libraries in browser." - (insert-file-contents (expand-file-name "skewer-addon.js" ac-js2-data-root)) - (and ac-js2-evaluate-calls - (mapcar (lambda (library) - (with-temp-buffer - (insert-file-contents (expand-file-name library)) - (skewer-eval (buffer-string) - nil - :type "complete"))) ac-js2-external-libraries))) - -(defun ac-js2-skewer-completion-candidates () - "Get completions returned from skewer." - (mapcar (lambda (candidate) (symbol-name (car candidate))) ac-js2-skewer-candidates)) - -(defun ac-js2-skewer-document-candidates (name) - "Return document string for NAME from skewer." - (let ((doc (cdr (assoc-string name ac-js2-skewer-candidates)))) - (or (ac-js2-format-function doc) doc))) - -(defun ac-js2-get-object-properties (name) - "Find properties of NAME for completion." - (ac-js2-skewer-eval-wrapper name `((prototypes . ,ac-js2-add-prototype-completions)))) - -(defun ac-js2-skewer-result-callback (result) - "Process the RESULT passed from the browser." - (let ((value (cdr (assoc 'value result)))) - (if (and (skewer-success-p result) value) - (setq ac-js2-skewer-candidates (append value nil))))) - -(defun ac-js2-skewer-eval-wrapper (str &optional extras) - "Wrap `skewer-eval-synchronously' to check if a skewer-client is avilable. -STR is the text to send to the browser for evaluation. Extra -parameters can be passed to the browser using EXTRAS. EXTRAS must -be of the form (param-string . value) where param-string is the -reference and value is the value that can be retrieved from the -request object in Javacript." - (setq ac-js2-skewer-candidates nil) - (if skewer-clients - (if (or ac-js2-evaluate-calls - (not (ac-js2-has-function-calls str))) - (ac-js2-skewer-result-callback - (skewer-eval-synchronously str - :type "complete" - :extra extras))) - (setq skewer-queue nil))) - -;; Generate candidates -(defun ac-js2-candidates () - "Main function called to gather candidates for auto-completion." - (if ac-js2-force-reparse (js2-reparse)) - (let ((node (js2-node-parent (js2-node-at-point (1- (point))))) - beg - (prop-get-regex "[a-zA-Z)]\\.") - name) - (setq ac-js2-candidates nil) - (cond - ((looking-back "\\.") - ;; TODO: Need to come up with a better way to extract object than this regex!! - (save-excursion - (setq beg (and (skip-chars-backward "[a-zA-Z_$][0-9a-zA-Z_$#\"())]+\\.") (point)))) - (setq name (buffer-substring-no-properties beg (1- (point)))) - (ac-js2-get-object-properties name) - (setq node (ac-js2-initialized-node (if (string-match prop-get-regex name) - (reverse (split-string name prop-get-regex)) name))) - (if (js2-object-node-p node) - (setq ac-js2-candidates - (mapcar (lambda (elem) - (ac-js2-format-node (js2-node-string (js2-object-prop-node-left elem)) - elem)) - (js2-object-node-elems node)))) - (append (mapcar 'cl-first ac-js2-candidates) - (ac-js2-skewer-completion-candidates))) - ((js2-prop-get-node-p node) - (setq node (js2-prop-get-node-left node)) - (setq name (js2-node-string node)) - (ac-js2-get-object-properties name) - (ac-js2-skewer-completion-candidates)) - (t - (ac-js2-skewer-eval-wrapper "" `((method . ,ac-js2-method-global))) - (append (ac-js2-skewer-completion-candidates) - (ac-js2-add-extra-completions - (mapcar 'cl-first (ac-js2-get-names-in-scope)))))))) - -(defun ac-js2-document (name) - "Show documentation for NAME from local buffer if present -otherwise use documentation obtained from skewer." - (let* ((docs (cdr (assoc name ac-js2-candidates))) - (doc (if (listp docs) (cl-first docs) docs))) - (if doc doc (ac-js2-skewer-document-candidates name)))) - -;; Auto-complete settings - -(defun ac-js2-ac-candidates () - "Completion candidates for auto-complete mode." - (ac-js2-candidates)) - -(defun ac-js2-ac-document (name) - "Documentation to be shown for auto-complete mode." - (ac-js2-document name)) - -(defun ac-js2-ac-prefix() - (or (ac-prefix-default) (ac-prefix-c-dot))) - -(defun ac-js2-save () - "Called on `before-save-hook' to evaluate buffer." - (interactive) - (when (string= major-mode "js2-mode") - (ac-js2-skewer-eval-wrapper (buffer-string))) - t) - -;;;###autoload -(defun ac-js2-expand-function() - "Expand the function definition left of point. -Expansion will only occur for candidates whose documentation -string contain a function prototype." - (interactive) - (let* ((word (progn - (if (featurep 'auto-complete) (ac-complete)) - (substring-no-properties (or (thing-at-point 'word) "")))) - (candidate (ac-js2-ac-document word))) - (if (and (looking-back word) (stringp candidate)) - (when (string-match "^function" candidate) - (cond ((featurep 'yasnippet) - (yas-expand-snippet - (concat "(" - (replace-regexp-in-string "\\([a-zA-Z0-9]+\\)" - (lambda (txt) (concat "${" txt "}")) - (cl-second (split-string candidate "[()]"))) - ")$0")))))))) - -(defun ac-js2-setup-auto-complete-mode () - "Setup ac-js2 to be used with auto-complete-mode." - (add-to-list 'ac-sources 'ac-source-js2) - (auto-complete-mode) - (ac-define-source "js2" - '((candidates . ac-js2-ac-candidates) - (document . ac-js2-ac-document) - (prefix . ac-js2-ac-prefix) - (requires . -1)))) - -;;; Completion at point function - -;;;###autoload -(defun ac-js2-completion-function () - "Function for `completions-at-point'." - (save-excursion - (let ((bounds (if (looking-back "\\.") - (cons (point) (point)) - (bounds-of-thing-at-point 'word)))) - (list (car bounds) (cdr bounds) (ac-js2-candidates))))) - -;;; Company - -;;;###autoload -(defun ac-js2-company (command &optional arg &rest ignored) - (interactive (list 'interactive)) - (if (not (featurep 'company)) - (message "Company is not installed") - (cl-case command - (interactive (company-begin-backend 'ac-js2-company)) - (prefix (when ac-js2-mode - (or (company-grab-symbol) - 'stop))) - (candidates (all-completions arg (ac-js2-candidates))) - (duplicates t) - (meta (let ((doc (ac-js2-document arg))) - (when doc - (with-temp-buffer - (insert doc) - (js-mode) - (if (fboundp 'font-lock-ensure) - (font-lock-ensure) - (with-no-warnings - (font-lock-fontify-buffer))) - (buffer-string)))))))) - -;;; Helper functions - -(defun ac-js2-build-prop-name-list (prop-node) - "Build a list of names from a PROP-NODE." - (let* (names - left - left-node) - (unless (js2-prop-get-node-p prop-node) - (error "Node is not a property prop-node")) - (while (js2-prop-get-node-p prop-node) - (push (js2-name-node-name (js2-prop-get-node-right prop-node)) names) - (setq left-node (js2-prop-get-node-left prop-node)) - (when (js2-name-node-p left-node) - (setq left (js2-name-node-name left-node))) - (setq prop-node (js2-node-parent prop-node))) - (append names `(,left)))) - -(defun ac-js2-prop-names-left (name-node) - "Create a list of all of the names in the property NAME-NODE. -NAME-NODE must have a js2-prop-get-node as parent. Only adds -properties to the left of point. This is so individual jump -points can be found for each property in the chain." - (let* (name - (parent (js2-node-parent name-node)) - left - names) - (unless (or (js2-prop-get-node-p parent) (js2-name-node-p name-node)) - (error "Not a name node or doesn't have a prop-get-node as parent")) - (setq name (js2-name-node-name name-node) - left (js2-prop-get-node-left parent)) - (if (and (js2-name-node-p left) - (string= name (js2-name-node-name left))) - (setq names name) - (js2-visit-ast - parent - (lambda (node endp) - (unless endp - (if (js2-name-node-p node) - (push (js2-name-node-name node) names) - t)))) - names))) - -(defun ac-js2-has-function-calls (string) - "Check if the Javascript code in STRING has a Js2-call-node." - (with-temp-buffer - (insert string) - (let* ((ast (js2-parse))) - (catch 'call-node - (js2-visit-ast-root - ast - (lambda (node end-p) - (unless end-p - (if (js2-call-node-p node) - (throw 'call-node t) - t)))))))) - -(defun ac-js2-add-extra-completions (completions) - "Add extra candidates to COMPLETIONS." - (append completions - (if ac-js2-add-keywords (or ac-js2-keywords (setq ac-js2-keywords (mapcar 'symbol-name js2-keywords)))) - (if ac-js2-add-ecma-262-externs js2-ecma-262-externs) - (if ac-js2-add-browser-externs js2-browser-externs))) - -(defun ac-js2-root-or-node () - "Return the current node or js2-ast-root node." - (let ((node (js2-node-at-point))) - (if (js2-ast-root-p node) - node - (js2-node-get-enclosing-scope node)))) - -(defun ac-js2-get-names-in-scope () - "Fetches all symbols in scope and formats them for completion." - (let* ((scope (ac-js2-root-or-node)) - result) - (while scope - (setq result (append result - (cl-loop for item in (js2-scope-symbol-table scope) - if (not (assoc (car item) result)) - collect item))) - (setq scope (js2-scope-parent-scope scope))) - (setq ac-js2-candidates - (mapcar #'(lambda (x) - (let* ((name (symbol-name (car x))) - (init (ac-js2-initialized-node name))) - (ac-js2-format-node name init))) - result)))) - -(defun ac-js2-initialized-node (name) - "Return initial value assigned to NAME. -NAME may be either a variable, a function or a variable that -holds a function. NAME may also be a list of names that make up a -object property. Returns nil if no initial value can be found." - (let* ((node (if (listp name) (ac-js2-find-property name) - (ac-js2-name-declaration name))) - (parent (if node (js2-node-parent node))) - (init (cond - ((js2-function-node-p parent) - parent) - ((js2-function-node-p node) - node) - ((js2-var-init-node-p parent) - (js2-var-init-node-initializer parent)) - ((js2-assign-node-p parent) - (js2-assign-node-right parent)) - (t - nil)))) - init)) - -(defun ac-js2-name-declaration (name) - "Return the declaration node for node named NAME." - (let* ((node (ac-js2-root-or-node)) - (scope-def (js2-get-defining-scope node name)) - (scope (if scope-def (js2-scope-get-symbol scope-def name) nil)) - (symbol (if scope (js2-symbol-ast-node scope) nil))) - (if (not symbol) - (ac-js2-get-function-node name scope-def) - symbol))) - -;;; Completion candidate formatting - -(defun ac-js2-format-node (name node) - "Format NAME and NODE for completion. -Returned format is a list where the first element is the NAME of -the node (shown in completion candidate list) and the last -element is the text to show as documentation." - (let ((node (if (js2-object-prop-node-p node) (js2-object-prop-node-right node) node)) - (name-format (replace-regexp-in-string "\"" "" name)) - (doc (if (and (js2-function-node-p node) - (cl-find name (js2-function-node-params node) - :test '(lambda (name param) (string= name (js2-name-node-name param))))) - "Function parameter" - (ac-js2-format-node-doc node)))) - `(,name-format . ,doc))) - -(defun ac-js2-format-object-node-doc (obj-node) - "Format OBJ-NODE to display as documentation." - (let (elems) - (unless (js2-object-node-p obj-node) - (error "Node is not an object node")) - (setq elems (js2-object-node-elems obj-node)) - (if (not elems) - "{}" - (mapconcat #'(lambda (x) (ac-js2-format-js2-object-prop-doc x)) elems "\n")))) - -(defun ac-js2-format-node-doc (node) - "Format NODE for displaying in a document string." - (let* ((node-above (and node (js2-node-at-point - (save-excursion - (goto-char (js2-node-abs-pos node)) - (forward-line -1) - (point))))) - (comment (if (js2-comment-node-p node-above) - (ac-js2-format-comment (js2-node-string node-above)))) - (doc (cond - ((js2-function-node-p node) - (ac-js2-format-function node)) - ((js2-object-node-p node) - (ac-js2-format-object-node-doc node)) - ((js2-object-prop-node-p node) - (ac-js2-format-node-doc (js2-object-prop-node-right node))) - (t - (if (js2-node-p node) (js2-node-string node) ""))))) - (if comment (concat comment "\n" doc) doc))) - -(defun ac-js2-format-js2-object-prop-doc (obj-prop) - "Format an OBJ-PROP for displaying as a document string." - (unless (js2-object-prop-node-p obj-prop) - (error "Node is not an object property node")) - (let* ((left (js2-object-prop-node-left obj-prop)) - (right (js2-object-prop-node-right obj-prop))) - (concat (js2-node-string left) " : " - (ac-js2-format-node-doc right)))) - -(defun ac-js2-format-function (func) - "Formats a function for a document string. -FUNC can be either a function node or a string starting with -'function'. Returns nil if neither." - (let ((str (or (and (js2-function-node-p func) (js2-node-string func)) - (and (stringp func) (eq 0 (string-match "function" func)) func)))) - (if str (substring str 0 (1+ (string-match ")" str)))))) - -(defun ac-js2-format-comment (comment) - "Prepare a COMMENT node for displaying in a popup." - (let* ((node-string (if (js2-comment-node-p comment) - (js2-node-string comment) - comment)) - (string (replace-regexp-in-string "[ \t]$" "" - (replace-regexp-in-string "^[ \t\n*/*]+" "" node-string)))) - string)) - -;;; Navigation commands for js2-mode - -(defun ac-js2-find-property (list-names) - "Find the property definition that consists of LIST-NAMES. -Supports navigation to 'foo.bar = 3' and 'foo = {bar: 3}'." - (catch 'prop-found - (js2-visit-ast-root - js2-mode-ast - (lambda (node endp) - (let ((parent (js2-node-parent node))) - (unless endp - (if (or (and (js2-prop-get-node-p node) - (not (or (js2-elem-get-node-p parent) (js2-call-node-p parent))) - (equal list-names (ac-js2-build-prop-name-list node))) - (and (js2-name-node-p node) - (js2-object-prop-node-p parent) - (string= (js2-name-node-name node) - (cl-first list-names)))) - (throw 'prop-found node)) - t)))))) - -(defun ac-js2-get-function-node (name scope) - "Return node of function named NAME in SCOPE." - (catch 'function-found - (js2-visit-ast - scope - (lambda (node end-p) - (when (and (not end-p) - (string= name (ac-js2-get-function-name node))) - (throw 'function-found node)) - t)) - nil)) - -;;;###autoload -(defun ac-js2-jump-to-definition () - "Jump to the definition of an object's property, variable or function. -Navigation to a property definend in an Object literal isn't -implemented." - (interactive) - (ring-insert find-tag-marker-ring (point-marker)) - (let* ((node (js2-node-at-point)) - (parent (js2-node-parent node)) - (prop-names (if (js2-prop-get-node-p parent) - (ac-js2-prop-names-left node))) - (name (if (and (js2-name-node-p node) - (not (js2-object-prop-node-p parent))) - (js2-name-node-name node) - (error "Node is not a supported jump node"))) - (node-init (if (and prop-names (listp prop-names)) - (ac-js2-find-property prop-names) - (ac-js2-name-declaration name)))) - (unless node-init - (pop-tag-mark) - (error "No jump location found")) - (goto-char (js2-node-abs-pos node-init)))) - -(defun ac-js2-get-function-name (fn-node) - "Return the name of the function FN-NODE. -Value may be either function name or the variable name that holds -the function." - (let ((parent (js2-node-parent fn-node))) - (if (js2-function-node-p fn-node) - (or (js2-function-name fn-node) - (if (js2-var-init-node-p parent) - (js2-name-node-name (js2-var-init-node-target parent))))))) - -(defvar ac-js2-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "M-.") 'ac-js2-jump-to-definition) - (define-key map (kbd "M-,") 'pop-tag-mark) - (define-key map (kbd "C-c C-c") 'ac-js2-expand-function) - map) - "Keymap for `ac-js2-mode'.") - -;;; Minor mode - -;;;###autoload -(define-minor-mode ac-js2-mode - "A minor mode that provides auto-completion and navigation for Js2-mode." - :keymap ac-js2-mode-map - (if (featurep 'auto-complete) - (ac-js2-setup-auto-complete-mode)) - (set (make-local-variable 'completion-at-point-functions) - (cons 'ac-js2-completion-function completion-at-point-functions)) - (ac-js2-skewer-eval-wrapper (buffer-string)) - (add-hook 'before-save-hook 'ac-js2-save nil t) - (add-hook 'skewer-js-hook 'ac-js2-on-skewer-load)) - - -(provide 'ac-js2) - -;;; ac-js2.el ends here diff --git a/elpa/ac-js2-20190101.933/ac-js2.elc b/elpa/ac-js2-20190101.933/ac-js2.elc deleted file mode 100644 index b8d4834..0000000 Binary files a/elpa/ac-js2-20190101.933/ac-js2.elc and /dev/null differ diff --git a/elpa/ac-js2-20190101.933/skewer-addon.js b/elpa/ac-js2-20190101.933/skewer-addon.js deleted file mode 100644 index 8e2b5a1..0000000 --- a/elpa/ac-js2-20190101.933/skewer-addon.js +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @fileOverview Completion request handler for skewer.js - * @requires skewer - * @version 1.0 - */ - -/** - * Handles a completion request from Emacs. - * @param request The request object sent by Emacs - * @returns The completions and init values to be returned to Emacs - */ -skewer.fn.complete = function(request) { - var result = { - type : request.type, - id : request.id, - strict : request.strict, - status : "success" - }, - - /** - * Methods for generating candidates - */ - METHOD = { - EVAL : 0, - GLOBAL : 1 - }, - - /** - * Add the properties from object to extendObject. Properties - * may be from the prototype but we still want to add them. - */ - extend = function(extendObject, object) { - for(var key in object) { - extendObject[key] = object[key]; - } - }, - - globalCompletion = function() { - var global = Function('return this')(), - keys = Object.keys(global); - candidates = buildCandidates(global, keys); - }, - - evalCompletion = function(evalObject) { - var obj = (eval, eval)(evalObject); - if (typeof obj === "object") { - candidates = buildCandidates(obj) || {}; - while (request.prototypes && (obj = Object.getPrototypeOf(obj)) !== null) { - extend(candidates, buildCandidates(obj)); - } - } else if (typeof obj === "function"){ - candidates = buildCandidates(obj) || {}; - extend(candidates, buildCandidates(Object.getPrototypeOf(obj))); - if (request.prototypes) { - var protoObject = Object.getPrototypeOf(obj.prototype); - if (protoObject !== null) { - extend(candidates, buildCandidates(protoObject)); - } else { - extend(candidates, buildCandidates(obj.prototype)); - } - } - } - }, - - /** - * Completion candidates sent back to Emacs. Keys are - * completion candidates the values are the inital items or - * function interfaces. - */ - candidates = {}, - - /** - * Build the candiates to return to Emacs. - * @param obj The object to get candidates from - * @param items The selected keys from obj to create candidates for - * @return object containing completion candidates and documentation strings - */ - buildCandidates = function(obj, items) { - var keys = items || Object.getOwnPropertyNames(obj), values = {}; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (key === "callee" || key === "caller" || key === "arguments") continue; - if (Object.prototype.toString.call(obj[key]) === "[object Function]") { - values[key] = obj[key].toString(); - } else if (typeof obj[key] === "object"){ - values[key] = "[object Object]"; - } else if (typeof obj[key] === "number") { - if (!(obj instanceof Array)) { - values[key] = obj[key].toString(); - } - } else if (typeof obj[key] === "string") { - values[key] = obj[key].toString(); - } else if(obj[key] === true) { - values[key] = "true"; - } else if (obj[key] === false) { - values[key] = "false"; - } else { - values[key] = ""; - } - } - return values; - }; - try { - switch (request.method) { - case METHOD.GLOBAL: - globalCompletion(); - break; - default: - evalCompletion(request.eval); - } - result.value = candidates; - } catch (error){ - skewer.errorResult(error, result, request); - } - return result; -}; diff --git a/elpa/ac-php-core-readme.txt b/elpa/ac-php-core-readme.txt deleted file mode 100644 index 6a3459e..0000000 --- a/elpa/ac-php-core-readme.txt +++ /dev/null @@ -1,35 +0,0 @@ -The core library of the `ac-php' package. Acts like a backend for the -following components: - -- `ac-php' -- `company-php' -- `helm-ac-php-apropros' - -Can be used as an API to build your own components. This engine currently -provides: - -- Support of PHP code completion -- Support of jumping to definition/declaration/inclusion-file - -When creating this package, the ideas of the following packages were used: - -- auto-java-complete - - - `ac-php-remove-unnecessary-items-4-complete-method' - - `ac-php-split-string-with-separator' - -- auto-complete-clang - -- rtags - - - `ac-php-location-stack-index' - -Many options available under Help:Customize -Options specific to ac-php-core are in - Convenience/Completion/Auto Complete - -Known to work with Linux and macOS. Windows support is in beta stage. -For more info and examples see URL `https://github.com/xcwen/ac-php' . - -Bugs: Bug tracking is currently handled using the GitHub issue tracker -(see URL `https://github.com/xcwen/ac-php/issues') diff --git a/elpa/archives/gnu/archive-contents b/elpa/archives/gnu/archive-contents deleted file mode 100644 index eaf9592..0000000 --- a/elpa/archives/gnu/archive-contents +++ /dev/null @@ -1,2330 +0,0 @@ -(1 - (ace-window . - [(0 9 0) - ((avy - (0 2 0))) - "Quickly switch windows." single - ((:keywords "window" "location") - (:authors - ("Oleh Krehel" . "ohwoeowho@gmail.com")) - (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") - (:url . "https://github.com/abo-abo/ace-window"))]) - (ack . - [(1 8) - nil "interface to ack-like tools" tar - ((:url . "https://github.com/leoliu/ack-el") - (:maintainer "João Távora" . "joaotavora@gmail.com") - (:authors - ("Leo Liu" . "sdl.web@gmail.com")) - (:keywords "tools" "processes" "convenience"))]) - (ada-mode . - [(6 2 1) - ((uniquify-files - (1 0 1)) - (wisi - (2 2 1)) - (emacs - (25 0))) - "major-mode for editing Ada sources" tar - ((:url . "http://www.nongnu.org/ada-mode/") - (:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") - (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:keywords "languages" "ada"))]) - (ada-ref-man . - [(2012 5) - nil "Ada Reference Manual 2012" tar - ((:url . "http://stephe-leake.org/ada/arm.html") - (:maintainer "Stephen Leake" . "stephen_leake@member.fsf.org") - (:authors - ("Stephen Leake" . "stephen_leake@member.fsf.org")) - (:keywords "languages" "ada"))]) - (adaptive-wrap . - [(0 7) - nil "Smart line-wrapping with wrap-prefix" single - ((:url . "http://elpa.gnu.org/packages/adaptive-wrap.html") - (:authors - ("Stephen Berman" . "stephen.berman@gmx.net") - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stephen Berman" . "stephen.berman@gmx.net"))]) - (adjust-parens . - [(3 1) - nil "Indent and dedent Lisp code, automatically adjust close parens" tar - ((:maintainer "Barry O'Reilly" . "gundaetiapo@gmail.com") - (:authors - ("Barry O'Reilly" . "gundaetiapo@gmail.com")) - (:url . "http://elpa.gnu.org/packages/adjust-parens.html"))]) - (advice-patch . - [(0 1) - ((emacs - (24 4))) - "Use patches to advise the inside of functions" single - ((:url . "http://elpa.gnu.org/packages/advice-patch.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (aggressive-indent . - [(1 8 3) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "Minor mode to aggressively keep your code always indented" single - ((:keywords "indent" "lisp" "maint" "tools") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/aggressive-indent-mode"))]) - (ahungry-theme . - [(1 10 0) - ((emacs - (24))) - "Ahungry color theme for Emacs. Make sure to (load-theme 'ahungry)." tar - ((:url . "https://github.com/ahungry/color-theme-ahungry") - (:maintainer "Matthew Carter" . "m@ahungry.com") - (:authors - ("Matthew Carter" . "m@ahungry.com")) - (:keywords "ahungry" "palette" "color" "theme" "emacs" "color-theme" "deftheme"))]) - (all . - [(1 0) - nil "Edit all lines matching a given regexp" single - ((:url . "http://elpa.gnu.org/packages/all.html") - (:keywords "matching") - (:authors - ("Per Abrahamsen" . "abraham@dina.kvl.dk")) - (:maintainer "Per Abrahamsen" . "abraham@dina.kvl.dk"))]) - (ampc . - [(0 2) - nil "Asynchronous Music Player Controller" single - ((:url . "http://elpa.gnu.org/packages/ampc.html") - (:keywords "ampc" "mpc" "mpd") - (:authors - ("Christopher Schmidt" . "christopher@ch.ristopher.com")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (arbitools . - [(0 977) - ((cl-lib - (0 5))) - "Package for chess tournaments administration" single - ((:url . "http://elpa.gnu.org/packages/arbitools.html") - (:authors - ("David Gonzalez Gandara" . "dggandara@member.fsf.org")) - (:maintainer "David Gonzalez Gandara" . "dggandara@member.fsf.org"))]) - (ascii-art-to-unicode . - [(1 12) - nil "a small artist adjunct" single - ((:keywords "ascii" "unicode" "box-drawing") - (:authors - ("Thien-Thi Nguyen" . "ttn@gnu.org")) - (:maintainer "Thien-Thi Nguyen" . "ttn@gnu.org") - (:url . "http://www.gnuvola.org/software/aa2u/"))]) - (async . - [(1 9 3) - ((cl-lib - (0 5)) - (nadvice - (0 3))) - "Asynchronous processing in Emacs" tar - ((:url . "https://github.com/jwiegley/emacs-async") - (:maintainer "John Wiegley" . "jwiegley@gmail.com") - (:authors - ("John Wiegley" . "jwiegley@gmail.com")) - (:keywords "async"))]) - (auctex . - [(12 2 0) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "Integrated environment for *TeX*" tar - ((:url . "http://www.gnu.org/software/auctex/") - (:maintainer nil . "auctex-devel@gnu.org") - (:keywords "tex" "latex" "texinfo" "context" "doctex" "preview-latex"))]) - (aumix-mode . - [(7) - nil "run the aumix program in a buffer" single - ((:keywords "multimedia" "mixer" "aumix") - (:authors - ("Kevin Ryde" . "user42_kevin@yahoo.com.au")) - (:maintainer "Kevin Ryde" . "user42_kevin@yahoo.com.au") - (:url . "http://user42.tuxfamily.org/aumix-mode/index.html"))]) - (auto-correct . - [(1 1 4) - nil "Remembers and automatically fixes past corrections" single - ((:url . "http://elpa.gnu.org/packages/auto-correct.html") - (:keywords "editing") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:maintainer "Ian Dunn" . "dunni@gnu.org"))]) - (auto-overlays . - [(0 10 9) - nil "Automatic regexp-delimited overlays" tar - ((:url . "http://www.dr-qubit.org/emacs.php") - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:authors - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:keywords "extensions"))]) - (avy . - [(0 5 0) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "Jump to arbitrary positions in visible text and select text quickly." tar - ((:url . "https://github.com/abo-abo/avy") - (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") - (:authors - ("Oleh Krehel" . "ohwoeowho@gmail.com")) - (:keywords "point" "location"))]) - (bbdb . - [(3 2) - ((emacs - (24))) - "core of BBDB" tar - ((:maintainer "Roland Winkler" . "winkler@gnu.org") - (:url . "http://elpa.gnu.org/packages/bbdb.html"))]) - (beacon . - [(1 3 3) - ((seq - (2 14))) - "Highlight the cursor whenever the window scrolls" single - ((:keywords "convenience") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/beacon"))]) - (bluetooth . - [(0 1 2) - ((emacs - (25 1)) - (dash - (2 12 0))) - "A Major mode for Bluetooth devices" single - ((:keywords "hardware") - (:authors - ("Raffael Stocker" . "r.stocker@mnet-mail.de")) - (:maintainer "Raffael Stocker" . "r.stocker@mnet-mail.de") - (:url . "https://gitlab.com/rstocker/emacs-bluetooth"))]) - (bnf-mode . - [(0 4 2) - ((cl-lib - (0 5)) - (emacs - (24 3))) - "Major mode for editing BNF grammars." tar - ((:url . "https://github.com/sergeyklay/bnf-mode") - (:maintainer "Serghei Iakovlev" . "sadhooklay@gmail.com") - (:authors - ("Serghei Iakovlev" . "sadhooklay@gmail.com")) - (:keywords "languages"))]) - (brief . - [(5 87) - nil "Brief Editor Emulator (Brief Mode)" tar - ((:maintainer "Luke Lee" . "luke.yx.lee@gmail.com") - (:authors - ("Luke Lee" . "luke.yx.lee@gmail.com")) - (:keywords "brief" "emulations" "crisp") - (:url . "http://elpa.gnu.org/packages/brief.html"))]) - (buffer-expose . - [(0 4 3) - ((emacs - (25)) - (cl-lib - (0 5))) - "Visual buffer switching using a window grid" single - ((:keywords "convenience") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:url . "https://github.com/clemera/buffer-expose"))]) - (bug-hunter . - [(1 3 1) - ((seq - (1 3)) - (cl-lib - (0 5))) - "Hunt down errors by bisecting elisp files" single - ((:keywords "lisp") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/elisp-bug-hunter"))]) - (caps-lock . - [(1 0) - nil "Caps-lock as a minor mode" single - ((:url . "http://elpa.gnu.org/packages/caps-lock.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (captain . - [(1 0 3) - nil "CAPiTalization is Automatic IN emacs" single - ((:url . "http://elpa.gnu.org/packages/captain.html") - (:keywords "editing") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:maintainer "Ian Dunn" . "dunni@gnu.org"))]) - (chess . - [(2 0 4) - ((cl-lib - (0 5))) - "Play chess in GNU Emacs" tar - ((:maintainer "Mario Lang" . "mlang@delysid.org") - (:authors - ("John Wiegley" . "johnw@gnu.org")) - (:keywords "games") - (:url . "http://elpa.gnu.org/packages/chess.html"))]) - (cl-generic . - [(0 3) - nil "Forward cl-generic compatibility for Emacs<25" single - ((:url . "http://elpa.gnu.org/packages/cl-generic.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (cl-lib . - [(0 6 1) - nil "Forward cl-lib compatibility library for Emacs<24.3" single - ((:url . "http://elpa.gnu.org/packages/cl-lib.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (cl-print . - [(1 0) - ((emacs - (25))) - "CL-style generic printing" single - ((:url . "http://elpa.gnu.org/packages/cl-print.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (clipboard-collector . - [(0 2) - ((emacs - (25))) - "Collect clipboard entries according to regex rules" single - ((:keywords "convenience") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:url . "https://github.com/clemera/clipboard-collector"))]) - (cobol-mode . - [(1 0 0) - ((cl-lib - (0 5))) - "Mode for editing COBOL code" single - ((:url . "http://elpa.gnu.org/packages/cobol-mode.html") - (:keywords "languages") - (:authors - ("Edward Hart" . "edward.dan.hart@gmail.com")) - (:maintainer "Edward Hart" . "edward.dan.hart@gmail.com"))]) - (coffee-mode . - [(0 4 1 1) - nil "Major mode for CoffeeScript files" single - ((:keywords "coffeescript" "major" "mode") - (:authors - ("Chris Wanstrath" . "chris@ozmm.org")) - (:maintainer "Chris Wanstrath" . "chris@ozmm.org") - (:url . "http://github.com/defunkt/coffee-mode"))]) - (compact-docstrings . - [(0 1) - nil "Shrink blank lines in docstrings and doc comments" single - ((:keywords "convenience" "faces" "lisp" "maint" "c") - (:authors - ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) - (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") - (:url . "https://github.com/cpitclaudel/compact-docstrings"))]) - (company . - [(0 9 10) - ((emacs - (24 3))) - "Modular text completion framework" tar - ((:url . "http://company-mode.github.io/") - (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") - (:authors - ("Nikolaj Schumacher")) - (:keywords "abbrev" "convenience" "matching"))]) - (company-ebdb . - [(1 1) - ((company - (0 9 4)) - (ebdb - (0 2))) - "company-mode completion backend for EBDB in message-mode" single - ((:url . "http://elpa.gnu.org/packages/company-ebdb.html") - (:authors - ("Jan Tatarik" . "jan.tatarik@gmail.com")) - (:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))]) - (company-math . - [(1 3) - ((company - (0 8 0)) - (math-symbol-lists - (1 2))) - "Completion backends for unicode math symbols and latex tags" tar - ((:url . "https://github.com/vspinu/company-math") - (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") - (:authors - ("Vitalie Spinu" . "spinuvit@gmail.com")) - (:keywords "unicode" "symbols" "completion"))]) - (company-statistics . - [(0 2 3) - ((emacs - (24 3)) - (company - (0 8 5))) - "Sort candidates using completion history" tar - ((:url . "https://github.com/company-mode/company-statistics") - (:maintainer "Ingo Lohmar" . "i.lohmar@gmail.com") - (:authors - ("Ingo Lohmar" . "i.lohmar@gmail.com")) - (:keywords "abbrev" "convenience" "matching"))]) - (context-coloring . - [(8 1 0) - ((emacs - (24 3))) - "Highlight by scope" tar - ((:url . "https://github.com/jacksonrayhamilton/context-coloring") - (:maintainer "Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com") - (:authors - ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) - (:keywords "convenience" "faces" "tools"))]) - (crisp . - [(1 3 6) - nil "CRiSP/Brief Emacs emulator" single - ((:url . "http://elpa.gnu.org/packages/crisp.html") - (:keywords "emulations" "brief" "crisp") - (:authors - ("Gary D. Foster" . "Gary.Foster@Corp.Sun.COM")) - (:maintainer "Luke Lee" . "luke.yx.lee@gmail.com"))]) - (csv-mode . - [(1 10) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "Major mode for editing comma/char separated values" single - ((:url . "http://elpa.gnu.org/packages/csv-mode.html") - (:keywords "convenience") - (:authors - ("\"Francis J. Wright\"" . "F.J.Wright@qmul.ac.uk")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (cycle-quotes . - [(0 1) - nil "Cycle between quote styles" tar - ((:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") - (:authors - ("Simen Heggestøyl" . "simenheg@gmail.com")) - (:keywords "convenience") - (:url . "http://elpa.gnu.org/packages/cycle-quotes.html"))]) - (darkroom . - [(0 2) - ((cl-lib - (0 5))) - "Remove visual distractions and focus on writing" single - ((:url . "http://elpa.gnu.org/packages/darkroom.html") - (:keywords "convenience" "emulations") - (:authors - ("João Távora" . "joaotavora@gmail.com")) - (:maintainer "João Távora" . "joaotavora@gmail.com"))]) - (dash . - [(2 12 0) - nil "A modern list library for Emacs" tar - ((:maintainer "Magnar Sveen" . "magnars@gmail.com") - (:authors - ("Magnar Sveen" . "magnars@gmail.com")) - (:keywords "lists") - (:url . "http://elpa.gnu.org/packages/dash.html"))]) - (dbus-codegen . - [(0 1) - ((cl-lib - (0 5))) - "Lisp code generation for D-Bus." single - ((:url . "http://elpa.gnu.org/packages/dbus-codegen.html") - (:keywords "comm" "dbus" "convenience") - (:authors - ("Daiki Ueno" . "ueno@gnu.org")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (debbugs . - [(0 21) - ((emacs - (25 1)) - (soap-client - (3 1 5))) - "SOAP library to access debbugs servers" tar - ((:maintainer "Michael Albinus" . "michael.albinus@gmx.de") - (:authors - ("Michael Albinus" . "michael.albinus@gmx.de")) - (:keywords "comm" "hypermedia") - (:url . "http://elpa.gnu.org/packages/debbugs.html"))]) - (delight . - [(1 5) - ((cl-lib - (0 5)) - (nadvice - (0 3))) - "A dimmer switch for your lighter text" single - ((:keywords "convenience") - (:authors - ("Phil Sainty" . "psainty@orcon.net.nz")) - (:maintainer "Phil Sainty" . "psainty@orcon.net.nz") - (:url . "https://savannah.nongnu.org/projects/delight"))]) - (dict-tree . - [(0 14) - ((trie - (0 3)) - (tNFA - (0 1 1)) - (heap - (0 3))) - "Dictionary data structure" single - ((:keywords "extensions" "matching" "data structures trie" "tree" "dictionary" "completion" "regexp") - (:authors - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (diff-hl . - [(1 8 7) - ((cl-lib - (0 2)) - (emacs - (24 3))) - "Highlight uncommitted changes using VC" tar - ((:url . "https://github.com/dgutov/diff-hl") - (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") - (:authors - ("Dmitry Gutov" . "dgutov@yandex.ru")) - (:keywords "vc" "diff"))]) - (diffview . - [(1 0) - nil "View diffs in side-by-side format" single - ((:keywords "convenience" "diff") - (:authors - ("Mitchel Humpherys" . "mitch.special@gmail.com")) - (:maintainer "Mitchel Humpherys" . "mitch.special@gmail.com") - (:url . "https://github.com/mgalgs/diffview-mode"))]) - (dired-du . - [(0 5 2) - ((emacs - (24 4)) - (cl-lib - (0 5))) - "Dired with recursive directory sizes" tar - ((:maintainer "Tino Calancha" . "tino.calancha@gmail.com") - (:authors - ("Tino Calancha" . "tino.calancha@gmail.com")) - (:keywords "files" "unix" "convenience") - (:url . "http://elpa.gnu.org/packages/dired-du.html"))]) - (dired-git-info . - [(0 2) - ((emacs - (25))) - "Show git info in dired" single - ((:keywords "dired" "files") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:url . "https://github.com/clemera/dired-git-info"))]) - (disk-usage . - [(1 3 3) - ((emacs - (26 1))) - "Sort and browse disk usage listings" single - ((:keywords "files" "convenience" "tools") - (:authors - ("Pierre Neidhardt" . "mail@ambrevar.xyz")) - (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") - (:url . "https://gitlab.com/Ambrevar/emacs-disk-usage"))]) - (dismal . - [(1 5) - ((cl-lib - (0))) - "Dis Mode Ain't Lotus: Spreadsheet program Emacs" tar - ((:maintainer "UnMaintainer" . "emacs-devel@gnu.org") - (:authors - (nil . "David Fox, fox@cs.nyu.edu") - (nil . "Frank E. Ritter, ritter@cs.cmu.edu")) - (:url . "http://elpa.gnu.org/packages/dismal.html"))]) - (djvu . - [(1 1) - nil "Edit and view Djvu files via djvused" single - ((:url . "http://elpa.gnu.org/packages/djvu.html") - (:keywords "files" "wp") - (:authors - ("Roland Winkler" . "winkler@gnu.org")) - (:maintainer "Roland Winkler" . "winkler@gnu.org"))]) - (docbook . - [(0 1) - nil "Info-like viewer for DocBook" single - ((:url . "http://elpa.gnu.org/packages/docbook.html") - (:keywords "docs" "help") - (:authors - ("Chong Yidong" . "cyd@gnu.org")) - (:maintainer "Chong Yidong" . "cyd@gnu.org"))]) - (dts-mode . - [(0 1 0) - nil "Major mode for Device Tree source files" single - ((:url . "http://elpa.gnu.org/packages/dts-mode.html") - (:keywords "languages") - (:authors - ("Ben Gamari" . "ben@smart-cactus.org")) - (:maintainer "Ben Gamari" . "ben@smart-cactus.org"))]) - (easy-kill . - [(0 9 3) - ((emacs - (24)) - (cl-lib - (0 5))) - "kill & mark things easily" tar - ((:url . "https://github.com/leoliu/easy-kill") - (:maintainer "Leo Liu" . "sdl.web@gmail.com") - (:authors - ("Leo Liu" . "sdl.web@gmail.com")) - (:keywords "killing" "convenience"))]) - (ebdb . - [(0 6 11) - ((emacs - (25 1)) - (cl-lib - (0 5)) - (seq - (2 15))) - "Contact management package" tar - ((:url . "https://github.com/girzel/ebdb") - (:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net") - (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:keywords "convenience" "mail"))]) - (ebdb-gnorb . - [(1 0 2) - ((gnorb - (1 1 0)) - (ebdb - (0 2))) - "Utilities for connecting EBDB to Gnorb" single - ((:url . "http://elpa.gnu.org/packages/ebdb-gnorb.html") - (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))]) - (ebdb-i18n-chn . - [(1 3) - ((pyim - (1 6 0)) - (ebdb - (0 2))) - "China-specific internationalization support for EBDB" single - ((:url . "http://elpa.gnu.org/packages/ebdb-i18n-chn.html") - (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))]) - (ediprolog . - [(1 2) - nil "Emacs Does Interactive Prolog" single - ((:keywords "languages" "processes") - (:authors - ("Markus Triska" . "triska@metalevel.at")) - (:maintainer "Markus Triska" . "triska@metalevel.at") - (:url . "https://www.metalevel.at/ediprolog/"))]) - (eev . - [(20191105) - ((emacs - (24 1))) - "Support for e-scripts (eepitch blocks, elisp hyperlinks, etc)" tar - ((:url . "http://angg.twu.net/#eev") - (:maintainer "Eduardo Ochs" . "eduardoochs@gmail.com") - (:authors - ("Eduardo Ochs" . "eduardoochs@gmail.com")) - (:keywords "lisp" "e-scripts"))]) - (eglot . - [(1 5) - ((emacs - (26 1)) - (jsonrpc - (1 0 7)) - (flymake - (1 0 5))) - "Client for Language Server Protocol (LSP) servers" tar - ((:url . "https://github.com/joaotavora/eglot") - (:maintainer "João Távora" . "joaotavora@gmail.com") - (:authors - ("João Távora" . "joaotavora@gmail.com")) - (:keywords "convenience" "languages"))]) - (el-search . - [(1 12 6 1) - ((emacs - (25)) - (stream - (2 2 4)) - (cl-print - (1 0))) - "Expression based interactive search for Emacs Lisp" tar - ((:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") - (:authors - ("Michael Heerdegen" . "michael_heerdegen@web.de")) - (:keywords "lisp") - (:url . "http://elpa.gnu.org/packages/el-search.html"))]) - (eldoc-eval . - [(0 1) - nil "Enable eldoc support when minibuffer is in use." single - ((:url . "http://elpa.gnu.org/packages/eldoc-eval.html") - (:authors - ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com"))]) - (electric-spacing . - [(5 0) - nil "Insert operators with surrounding spaces smartly" single - ((:url . "http://elpa.gnu.org/packages/electric-spacing.html") - (:authors - ("William Xu" . "william.xwl@gmail.com")) - (:maintainer "William Xu" . "william.xwl@gmail.com"))]) - (enwc . - [(2 0) - ((emacs - (25 1))) - "The Emacs Network Client" tar - ((:url . "https://savannah.nongnu.org/p/enwc") - (:maintainer "Ian Dunn" . "dunni@gnu.org") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:keywords "external" "network" "wicd" "manager" "nm"))]) - (epoch-view . - [(0 0 1) - nil "Minor mode to visualize epoch timestamps" single - ((:url . "http://elpa.gnu.org/packages/epoch-view.html") - (:keywords "data" "timestamp" "epoch" "unix") - (:authors - ("Ted Zlatanov" . "tzz@lifelogs.com")) - (:maintainer "Ted Zlatanov" . "tzz@lifelogs.com"))]) - (ergoemacs-mode . - [(5 16 10 12) - ((emacs - (24 1)) - (undo-tree - (0 6 5)) - (cl-lib - (0 5))) - "Emacs mode based on common modern interface and ergonomics." tar - ((:url . "https://github.com/ergoemacs/ergoemacs-mode") - (:maintainer "Matthew L. Fidler" . "matthew.fidler@gmail.com") - (:authors - ("Xah Lee" . "xah@xahlee.org") - ("David Capello" . "davidcapello@gmail.com") - ("Matthew L. Fidler" . "matthew.fidler@gmail.com")) - (:keywords "convenience"))]) - (excorporate . - [(0 8 3) - ((emacs - (24 1)) - (fsm - (0 2 1)) - (soap-client - (3 1 5)) - (url-http-ntlm - (2 0 4)) - (nadvice - (0 3))) - "Exchange Web Services (EWS) integration" tar - ((:url . "https://www.fitzsim.org/blog/") - (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org") - (:authors - ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) - (:keywords "calendar"))]) - (exwm . - [(0 23) - ((xelb - (0 18))) - "Emacs X Window Manager" tar - ((:url . "https://github.com/ch11ng/exwm") - (:maintainer "Chris Feng" . "chris.w.feng@gmail.com") - (:authors - ("Chris Feng" . "chris.w.feng@gmail.com")) - (:keywords "unix"))]) - (f90-interface-browser . - [(1 1) - nil "Parse and browse f90 interfaces" single - ((:authors - ("Lawrence Mitchell" . "wence@gmx.li")) - (:maintainer "Lawrence Mitchell" . "wence@gmx.li") - (:url . "http://github.com/wence-/f90-iface/"))]) - (filladapt . - [(2 12 2) - ((emacs - (24 4))) - "Adaptive fill" single - ((:url . "http://elpa.gnu.org/packages/filladapt.html") - (:authors - ("Kyle E. Jones" . "kyle_jones@wonderworks.com")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (flylisp . - [(0 2) - ((emacs - (24 1)) - (cl-lib - (0 4))) - "Color unbalanced parentheses and parentheses inconsistent with indentation" single - ((:url . "http://elpa.gnu.org/packages/flylisp.html") - (:authors - ("Barry O'Reilly" . "gundaetiapo@gmail.com")) - (:maintainer "Barry O'Reilly" . "gundaetiapo@gmail.com"))]) - (flymake . - [(1 0 8) - ((emacs - (26 1))) - "A universal on-the-fly syntax checker" single - ((:url . "http://elpa.gnu.org/packages/flymake.html") - (:keywords "c" "languages" "tools") - (:authors - ("Pavel Kobyakov" . "pk_at_work@yahoo.com")) - (:maintainer "João Távora" . "joaotavora@gmail.com"))]) - (fountain-mode . - [(2 7 3) - ((emacs - (24 5))) - "Major mode for screenwriting in Fountain markup" single - ((:keywords "wp" "text") - (:authors - ("Paul W. Rankin" . "pwr@sdf.org")) - (:maintainer "Paul W. Rankin" . "pwr@sdf.org") - (:url . "https://fountain-mode.org"))]) - (frame-tabs . - [(1 1) - nil "show buffer tabs in side window" single - ((:url . "http://elpa.gnu.org/packages/frame-tabs.html") - (:keywords "frames" "tabs") - (:authors - ("Martin Rudalics" . "rudalics@gmx.at")) - (:maintainer "Martin Rudalics" . "rudalics@gmx.at"))]) - (frog-menu . - [(0 2 10) - ((emacs - (26)) - (avy - (0 4)) - (posframe - (0 4))) - "Quickly pick items from ad hoc menus" single - ((:keywords "convenience") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:url . "https://github.com/clemera/frog-menu"))]) - (fsm . - [(0 2 1) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "state machine library" single - ((:url . "http://elpa.gnu.org/packages/fsm.html") - (:keywords "extensions") - (:authors - ("Magnus Henoch" . "magnus.henoch@gmail.com")) - (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))]) - (ggtags . - [(0 8 13) - ((emacs - (24)) - (cl-lib - (0 5))) - "emacs frontend to GNU Global source code tagging system" single - ((:keywords "tools" "convenience") - (:authors - ("Leo Liu" . "sdl.web@gmail.com")) - (:maintainer "Leo Liu" . "sdl.web@gmail.com") - (:url . "https://github.com/leoliu/ggtags"))]) - (gited . - [(0 6 0) - ((emacs - (24 4)) - (cl-lib - (0 5))) - "Operate on Git branches like dired" tar - ((:maintainer "Tino Calancha" . "tino.calancha@gmail.com") - (:authors - ("Tino Calancha" . "tino.calancha@gmail.com")) - (:keywords "git" "vc" "convenience") - (:url . "http://elpa.gnu.org/packages/gited.html"))]) - (gle-mode . - [(1 1) - ((cl-lib - (0 5))) - "Major mode to edit Graphics Layout Engine files" single - ((:url . "http://elpa.gnu.org/packages/gle-mode.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (gnome-c-style . - [(0 1) - nil "minor mode for editing GNOME-style C source code" tar - ((:maintainer "Daiki Ueno" . "ueno@gnu.org") - (:authors - ("Daiki Ueno" . "ueno@gnu.org")) - (:keywords "gnome" "c" "coding style") - (:url . "http://elpa.gnu.org/packages/gnome-c-style.html"))]) - (gnorb . - [(1 6 4) - ((cl-lib - (0 5))) - "Glue code between Gnus, Org, and BBDB" tar - ((:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net") - (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:keywords "mail" "org" "gnus" "bbdb" "todo" "task") - (:url . "http://elpa.gnu.org/packages/gnorb.html"))]) - (gnu-elpa-keyring-update . - [(2019 3) - nil "Update Emacs's GPG keyring for GNU ELPA" tar - ((:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:keywords "maint" "tools") - (:url . "http://elpa.gnu.org/packages/gnu-elpa-keyring-update.html"))]) - (gnugo . - [(3 1 0) - ((ascii-art-to-unicode - (1 5)) - (xpm - (1 0 1)) - (cl-lib - (0 5))) - "play GNU Go in a buffer" tar - ((:url . "http://www.gnuvola.org/software/gnugo/") - (:maintainer "Thien-Thi Nguyen" . "ttn@gnu.org") - (:authors - ("Thien-Thi Nguyen" . "ttn@gnu.org")) - (:keywords "games" "processes"))]) - (gnus-mock . - [(0 4 4) - nil "Mock Gnus installation for testing" tar - ((:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net") - (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:url . "http://elpa.gnu.org/packages/gnus-mock.html"))]) - (gpastel . - [(0 5 0) - ((emacs - (25 1))) - "Integrates GPaste with the kill-ring" single - ((:keywords "tools") - (:authors - ("Damien Cassou" . "damien@cassou.me")) - (:maintainer "Damien Cassou" . "damien@cassou.me") - (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) - (greader . - [(0 1) - ((emacs - (25))) - "gnamù reader, a reader with espeak tts" tar - ((:maintainer "Michelangelo Rodriguez" . "michelangelo.rodriguez@gmail.com") - (:authors - ("Michelangelo Rodriguez" . "michelangelo.rodriguez@gmail.com")) - (:keywords "tools" "accessibility") - (:url . "http://elpa.gnu.org/packages/greader.html"))]) - (guess-language . - [(0 0 1) - ((cl-lib - (0 5)) - (emacs - (24)) - (nadvice - (0 1))) - "Robust automatic language detection" single - ((:authors - ("Titus von der Malsburg" . "malsburg@posteo.de")) - (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") - (:url . "https://github.com/tmalsburg/guess-language.el"))]) - (heap . - [(0 5) - nil "Heap (a.k.a. priority queue) data structure" single - ((:keywords "extensions" "data structures" "heap" "priority queue") - (:authors - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (highlight-escape-sequences . - [(0 4) - nil "Highlight escape sequences" single - ((:keywords "convenience") - (:authors - ("Dmitry Gutov" . "dgutov@yandex.ru") - ("Pavel Matcula" . "dev.plvlml@gmail.com")) - (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") - (:url . "https://github.com/dgutov/highlight-escape-sequences"))]) - (hook-helpers . - [(1 1 1) - ((emacs - (25 1))) - "Anonymous, modifiable hook functions" tar - ((:url . "https://savannah.nongnu.org/projects/hook-helpers-el/") - (:maintainer "Ian Dunn" . "dunni@gnu.org") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:keywords "development" "hooks"))]) - (html5-schema . - [(0 1) - nil "Add HTML5 schemas for use by nXML" tar - ((:url . "https://github.com/validator/validator") - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:keywords "html" "xml"))]) - (hydra . - [(0 14 0) - ((cl-lib - (0 5))) - "Make bindings that stick around." tar - ((:url . "https://github.com/abo-abo/hydra") - (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") - (:authors - ("Oleh Krehel" . "ohwoeowho@gmail.com")) - (:keywords "bindings"))]) - (hyperbole . - [(7 0 6) - ((emacs - (24 4))) - "GNU Hyperbole: The Everyday Hypertextual Information Manager" tar - ((:url . "http://www.gnu.org/software/hyperbole") - (:maintainer "Bob Weiner , Mats Lidell" . "matsl@gnu.org") - (:authors - ("Bob Weiner")) - (:keywords "comm" "convenience" "files" "frames" "hypermedia" "languages" "mail" "matching" "mouse" "multimedia" "outlines" "tools" "wp"))]) - (ioccur . - [(2 4) - nil "Incremental occur" single - ((:authors - ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") - (:url . "https://github.com/thierryvolpiatto/ioccur"))]) - (iterators . - [(0 1 1) - ((emacs - (25))) - "Functions for working with iterators" single - ((:url . "http://elpa.gnu.org/packages/iterators.html") - (:keywords "extensions" "elisp") - (:authors - ("Michael Heerdegen" . "michael_heerdegen@web.de")) - (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de"))]) - (ivy . - [(0 13 0) - ((emacs - (24 5))) - "Incremental Vertical completYon" tar - ((:url . "https://github.com/abo-abo/swiper") - (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") - (:authors - ("Oleh Krehel" . "ohwoeowho@gmail.com")) - (:keywords "matching"))]) - (ivy-explorer . - [(0 3 2) - ((emacs - (25)) - (ivy - (0 10 0))) - "Dynamic file browsing grid using ivy" single - ((:keywords "convenience" "files" "matching") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:url . "https://github.com/clemera/ivy-explorer"))]) - (javaimp . - [(0 7 1) - nil "Add and reorder Java import statements in Maven/Gradle projects" tar - ((:maintainer "Filipp Gunbin" . "fgunbin@fastmail.fm") - (:authors - ("Filipp Gunbin" . "fgunbin@fastmail.fm")) - (:keywords "java" "maven" "gradle" "programming") - (:url . "http://elpa.gnu.org/packages/javaimp.html"))]) - (jgraph-mode . - [(1 1) - ((cl-lib - (0 5))) - "Major mode for Jgraph files" single - ((:url . "http://elpa.gnu.org/packages/jgraph-mode.html") - (:keywords "tex" "wp") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (js2-mode . - [(20190219) - ((emacs - (24 1)) - (cl-lib - (0 5))) - "Improved JavaScript editing mode" tar - ((:url . "https://github.com/mooz/js2-mode/") - (:maintainer "Steve Yegge" . "steve.yegge@gmail.com") - (:authors - ("Steve Yegge" . "steve.yegge@gmail.com") - ("mooz" . "stillpedant@gmail.com") - ("Dmitry Gutov" . "dgutov@yandex.ru")) - (:keywords "languages" "javascript"))]) - (json-mode . - [(0 1) - ((emacs - (25 1))) - "Major mode for editing JSON files" single - ((:url . "http://elpa.gnu.org/packages/json-mode.html") - (:keywords "data") - (:authors - ("Simen Heggestøyl" . "simenheg@gmail.com")) - (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com"))]) - (jsonrpc . - [(1 0 8) - ((emacs - (25 2))) - "JSON-RPC library" single - ((:url . "http://elpa.gnu.org/packages/jsonrpc.html") - (:keywords "processes" "languages" "extensions") - (:authors - ("João Távora" . "joaotavora@gmail.com")) - (:maintainer "João Távora" . "joaotavora@gmail.com"))]) - (jumpc . - [(3 0) - nil "jump to previous insertion points" single - ((:url . "http://elpa.gnu.org/packages/jumpc.html") - (:authors - ("Ivan Kanis" . "ivan@kanis.fr")) - (:maintainer "Ivan Kanis" . "ivan@kanis.fr"))]) - (kmb . - [(0 1) - ((emacs - (24 1))) - "Kill buffers matching a regexp w/o confirmation" single - ((:url . "http://elpa.gnu.org/packages/kmb.html") - (:keywords "lisp" "convenience") - (:authors - ("Tino Calancha" . "tino.calancha@gmail.com")) - (:maintainer "Tino Calancha"))]) - (landmark . - [(1 0) - nil "Neural-network robot that learns landmarks" single - ((:url . "http://elpa.gnu.org/packages/landmark.html") - (:keywords "games" "neural network" "adaptive search" "chemotaxis") - (:authors - ("Terrence Brannon" . "metaperl@gmail.com")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (let-alist . - [(1 0 6) - ((emacs - (24 1))) - "Easily let-bind values of an assoc-list by their names" single - ((:url . "http://elpa.gnu.org/packages/let-alist.html") - (:keywords "extensions" "lisp") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com"))]) - (lex . - [(1 1) - nil "Lexical analyser construction" tar - ((:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:url . "http://elpa.gnu.org/packages/lex.html"))]) - (lmc . - [(1 4) - ((emacs - (24)) - (cl-lib - (0 5))) - "Little Man Computer in Elisp" single - ((:url . "http://elpa.gnu.org/packages/lmc.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (load-dir . - [(0 0 5) - ((cl-lib - (0 5))) - "Load all Emacs Lisp files in a given directory" single - ((:url . "http://elpa.gnu.org/packages/load-dir.html") - (:keywords "lisp" "files" "convenience") - (:maintainer "Teodor Zlatanov" . "tzz@lifelogs.com"))]) - (load-relative . - [(1 3 1) - nil "Relative file load (within a multi-file Emacs package)" single - ((:keywords "internal") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")) - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:url . "http://github.com/rocky/emacs-load-relative"))]) - (loc-changes . - [(1 2) - nil "keep track of positions even after buffer changes" single - ((:authors - ("Rocky Bernstein" . "rocky@gnu.org")) - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:url . "http://github.com/rocky/emacs-loc-changes"))]) - (loccur . - [(1 2 4) - ((emacs - (24 3))) - "Perform an occur-like folding in current buffer" single - ((:keywords "matching") - (:authors - ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) - (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") - (:url . "https://github.com/fourier/loccur"))]) - (map . - [(2 0) - ((emacs - (25))) - "Map manipulation functions" single - ((:url . "http://elpa.gnu.org/packages/map.html") - (:keywords "convenience" "map" "hash-table" "alist" "array") - (:authors - ("Nicolas Petton" . "nicolas@petton.fr")) - (:maintainer nil . "emacs-devel@gnu.org"))]) - (markchars . - [(0 2 1) - nil "Mark chars fitting certain characteristics" single - ((:url . "http://elpa.gnu.org/packages/markchars.html") - (:authors - ("Lennart Borgman" . "lennart.borgman@gmail.com")) - (:maintainer "Lennart Borgman" . "lennart.borgman@gmail.com"))]) - (math-symbol-lists . - [(1 2 1) - nil "Lists of Unicode math symbols and latex commands" single - ((:keywords "unicode" "symbols" "mathematics") - (:authors - ("Vitalie Spinu" . "spinuvit@gmail.com")) - (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") - (:url . "https://github.com/vspinu/math-symbol-lists"))]) - (memory-usage . - [(0 2) - nil "Analyze the memory usage of Emacs in various ways" single - ((:url . "http://elpa.gnu.org/packages/memory-usage.html") - (:keywords "maint") - (:authors - ("Stefan Monnier" . "monnier@cs.yale.edu")) - (:maintainer "Stefan Monnier" . "monnier@cs.yale.edu"))]) - (metar . - [(0 3) - ((cl-lib - (0 5))) - "Retrieve and decode METAR weather information" single - ((:url . "http://elpa.gnu.org/packages/metar.html") - (:keywords "comm") - (:authors - ("Mario Lang" . "mlang@delysid.org")) - (:maintainer "Mario Lang" . "mlang@delysid.org"))]) - (midi-kbd . - [(0 2) - ((emacs - (25))) - "Create keyboard events from Midi input" single - ((:url . "http://elpa.gnu.org/packages/midi-kbd.html") - (:keywords "convenience" "hardware" "multimedia") - (:authors - ("David Kastrup" . "dak@gnu.org")) - (:maintainer "David Kastrup" . "dak@gnu.org"))]) - (mines . - [(1 6) - ((emacs - (24 4)) - (cl-lib - (0 5))) - "Minesweeper game" tar - ((:url . "https://github.com/calancha/Minesweeper") - (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") - (:authors - ("Tino Calancha" . "tino.calancha@gmail.com")) - (:keywords "games"))]) - (minibuffer-line . - [(0 1) - nil "Display status info in the minibuffer window" single - ((:url . "http://elpa.gnu.org/packages/minibuffer-line.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (minimap . - [(1 2) - nil "Sidebar showing a \"mini-map\" of a buffer" single - ((:url . "http://elpa.gnu.org/packages/minimap.html") - (:authors - ("David Engster" . "deng@randomsample.de")) - (:maintainer "David Engster" . "deng@randomsample.de"))]) - (mmm-mode . - [(0 5 7) - ((cl-lib - (0 2))) - "Allow Multiple Major Modes in a buffer" tar - ((:url . "https://github.com/purcell/mmm-mode") - (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") - (:authors - ("Michael Abraham Shulman" . "viritrilbia@gmail.com")) - (:keywords "convenience" "faces" "languages" "tools"))]) - (multishell . - [(1 1 5) - ((cl-lib - (0 5))) - "Easily use multiple shell buffers, local and remote" tar - ((:url . "https://github.com/kenmanheimer/EmacsMultishell") - (:maintainer "Ken Manheimer" . "ken.manheimer@gmail.com") - (:authors - ("Ken Manheimer" . "ken.manheimer@gmail.com")) - (:keywords "processes"))]) - (muse . - [(3 20 2) - nil "Authoring and publishing tool for Emacs" tar - ((:url . "http://mwolson.org/projects/EmacsMuse.html") - (:maintainer "Michael Olson" . "mwolson@gnu.org") - (:authors - ("John Wiegley" . "johnw@gnu.org")) - (:keywords "hypermedia"))]) - (myers . - [(0 1) - ((emacs - (25))) - "Random-access singly-linked lists" single - ((:url . "http://elpa.gnu.org/packages/myers.html") - (:keywords "list" "containers") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (nadvice . - [(0 3) - nil "Forward compatibility for Emacs-24.4's nadvice" single - ((:url . "http://elpa.gnu.org/packages/nadvice.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (nameless . - [(1 0 2) - ((emacs - (24 4))) - "Hide package namespace in your emacs-lisp code" single - ((:keywords "convenience" "lisp") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/nameless"))]) - (names . - [(20151201 0) - ((emacs - (24 1)) - (cl-lib - (0 5)) - (nadvice - (0 3))) - "Namespaces for emacs-lisp. Avoid name clobbering without hiding symbols." tar - ((:url . "https://github.com/Malabarba/names") - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:keywords "extensions" "lisp"))]) - (nhexl-mode . - [(1 4) - ((emacs - (24 4)) - (cl-lib - (0 5))) - "Minor mode to edit files via hex-dump format" single - ((:url . "http://elpa.gnu.org/packages/nhexl-mode.html") - (:keywords "data") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (nlinum . - [(1 9) - nil "Show line numbers in the margin" single - ((:url . "http://elpa.gnu.org/packages/nlinum.html") - (:keywords "convenience") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (notes-mode . - [(1 30) - nil "Indexing system for on-line note-taking" tar - ((:maintainer nil . ".") - (:authors - (nil . ".")) - (:url . "http://elpa.gnu.org/packages/notes-mode.html"))]) - (ntlm . - [(2 1 0) - nil "NTLM (NT LanManager) authentication support" single - ((:url . "http://elpa.gnu.org/packages/ntlm.html") - (:keywords "ntlm" "sasl" "comm") - (:authors - ("Taro Kawagishi" . "tarok@transpulse.org")) - (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))]) - (num3-mode . - [(1 3) - nil "highlight groups of digits in long numbers" single - ((:url . "http://elpa.gnu.org/packages/num3-mode.html") - (:keywords "faces" "minor-mode") - (:authors - ("Felix Lee , Michal Nazarewicz" . "mina86@mina86.com")) - (:maintainer "Michal Nazarewicz" . "mina86@mina86.com"))]) - (oauth2 . - [(0 11) - nil "OAuth 2.0 Authorization Protocol" single - ((:url . "http://elpa.gnu.org/packages/oauth2.html") - (:keywords "comm") - (:authors - ("Julien Danjou" . "julien@danjou.info")) - (:maintainer "Julien Danjou" . "julien@danjou.info"))]) - (objed . - [(0 8 1) - ((emacs - (25)) - (cl-lib - (0 5))) - "Navigate and edit text objects." tar - ((:url . "https://github.com/clemera/objed") - (:maintainer "Clemens Radermacher" . "clemera@posteo.net") - (:authors - ("Clemens Radermacher" . "clemera@posteo.net")) - (:keywords "convenience"))]) - (olivetti . - [(1 7 1) - ((emacs - (24 5))) - "Minor mode for a nice writing environment" single - ((:url . "http://elpa.gnu.org/packages/olivetti.html") - (:keywords "wp" "text") - (:authors - ("Paul W. Rankin" . "pwr@sdf.org")) - (:maintainer "Paul W. Rankin" . "pwr@sdf.org"))]) - (omn-mode . - [(1 2) - nil "Support for OWL Manchester Notation" single - ((:url . "http://elpa.gnu.org/packages/omn-mode.html") - (:authors - ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) - (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) - (on-screen . - [(1 3 3) - ((cl-lib - (0))) - "guide your eyes while scrolling" single - ((:keywords "convenience") - (:authors - ("Michael Heerdegen" . "michael_heerdegen@web.de")) - (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") - (:url . "https://github.com/michael-heerdegen/on-screen.el"))]) - (org . - [(9 2 6) - nil "Outline-based notes management and organizer" tar - ((:url . "https://orgmode.org") - (:maintainer "Carsten Dominik ") - (:authors - ("Carsten Dominik ")) - (:keywords "outlines" "hypermedia" "calendar" "wp"))]) - (org-edna . - [(1 0 2) - ((emacs - (25 1)) - (seq - (2 19)) - (org - (9 0 5))) - "Extensible Dependencies 'N' Actions" tar - ((:url . "https://savannah.nongnu.org/projects/org-edna-el/") - (:maintainer "Ian Dunn" . "dunni@gnu.org") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:keywords "convenience" "text" "org"))]) - (orgalist . - [(1 9) - ((emacs - (24 4))) - "Manage Org-like lists in non-Org buffers" single - ((:url . "http://elpa.gnu.org/packages/orgalist.html") - (:keywords "convenience") - (:authors - ("Nicolas Goaziou" . "mail@nicolasgoaziou.fr")) - (:maintainer "Nicolas Goaziou" . "mail@nicolasgoaziou.fr"))]) - (osc . - [(0 1) - nil "Open Sound Control protocol library" single - ((:url . "http://elpa.gnu.org/packages/osc.html") - (:keywords "comm" "processes" "multimedia") - (:authors - ("Mario Lang" . "mlang@delysid.org")) - (:maintainer "Mario Lang" . "mlang@delysid.org"))]) - (other-frame-window . - [(1 0 6) - ((emacs - (24 4))) - "Minor mode to enable global prefix keys for other frame/window buffer placement" single - ((:url . "http://elpa.gnu.org/packages/other-frame-window.html") - (:keywords "frame" "window") - (:authors - ("Stephen Leake" . "stephen_leake@member.fsf.org")) - (:maintainer "Stephen Leake" . "stephen_leake@member.fsf.org"))]) - (pabbrev . - [(4 2 1) - nil "Predictive abbreviation expansion" single - ((:url . "http://elpa.gnu.org/packages/pabbrev.html") - (:authors - ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) - (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) - (paced . - [(1 1 3) - ((emacs - (25 1)) - (async - (1 9 1))) - "Predictive Abbreviation Completion and Expansion using Dictionaries" tar - ((:url . "https://savannah.nongnu.org/projects/paced-el/") - (:maintainer "Ian Dunn" . "dunni@gnu.org") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:keywords "convenience" "completion"))]) - (parsec . - [(0 1 3) - ((emacs - (24)) - (cl-lib - (0 5))) - "Parser combinator library" tar - ((:url . "https://github.com/cute-jumper/parsec.el") - (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") - (:authors - ("Junpeng Qiu" . "qjpchmail@gmail.com")) - (:keywords "extensions"))]) - (path-iterator . - [(1 0) - ((emacs - (25 0))) - "An iterator for traversing a directory path." tar - ((:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") - (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:url . "http://elpa.gnu.org/packages/path-iterator.html"))]) - (peg . - [(1 0) - ((emacs - (25))) - "Parsing Expression Grammars in Emacs Lisp" tar - ((:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca") - (:authors - ("Helmut Eller" . "eller.helmut@gmail.com")) - (:url . "http://elpa.gnu.org/packages/peg.html"))]) - (persist . - [(0 4) - nil "Persist Variables between Emacs Sessions" tar - ((:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk") - (:authors - ("Phillip Lord" . "phillip.lord@russet.org.uk")) - (:url . "http://elpa.gnu.org/packages/persist.html"))]) - (phps-mode . - [(0 3 19) - ((emacs - (26))) - "Major mode for PHP with Semantic integration" tar - ((:url . "https://github.com/cjohansson/emacs-phps-mode") - (:maintainer "Christian Johansson" . "christian@cvj.se") - (:authors - ("Christian Johansson" . "christian@cvj.se")) - (:keywords "tools" "convenience"))]) - (pinentry . - [(0 1) - nil "GnuPG Pinentry server implementation" single - ((:url . "http://elpa.gnu.org/packages/pinentry.html") - (:keywords "gnupg") - (:authors - ("Daiki Ueno" . "ueno@gnu.org")) - (:maintainer "Daiki Ueno" . "ueno@gnu.org"))]) - (poker . - [(0 2) - nil "Texas hold 'em poker" single - ((:url . "http://elpa.gnu.org/packages/poker.html") - (:keywords "games") - (:authors - ("Mario Lang" . "mlang@delysid.org")) - (:maintainer "Mario Lang" . "mlang@delysid.org"))]) - (posframe . - [(0 5 0) - ((emacs - (26))) - "Pop a posframe (just a frame) at point" single - ((:keywords "tooltip") - (:authors - ("Feng Shu" . "tumashu@163.com")) - (:maintainer "Feng Shu" . "tumashu@163.com") - (:url . "https://github.com/tumashu/posframe"))]) - (psgml . - [(1 3 4) - nil "SGML-editing mode with parsing support" tar - ((:maintainer "Lennart Staflin" . "lstaflin@gmail.com") - (:authors - ("Lennart Staflin" . "lenst@lysator.liu.se") - ("James Clark" . "jjc@clark.com")) - (:keywords "languages") - (:url . "http://elpa.gnu.org/packages/psgml.html"))]) - (python . - [(0 26 1) - ((emacs - (24 1)) - (cl-lib - (1 0))) - "Python's flying circus support for Emacs" single - ((:keywords "languages") - (:authors - ("Fabián E. Gallina" . "fgallina@gnu.org")) - (:maintainer nil . "emacs-devel@gnu.org") - (:url . "https://github.com/fgallina/python.el"))]) - (quarter-plane . - [(0 1) - nil "Minor mode for quarter-plane style editing" single - ((:url . "http://elpa.gnu.org/packages/quarter-plane.html") - (:keywords "convenience" "wp") - (:authors - ("Peter J. Weisberg")) - (:maintainer "Peter J. Weisberg"))]) - (queue . - [(0 2) - nil "Queue data structure" single - ((:keywords "extensions" "data structures" "queue") - (:authors - ("Inge Wallin" . "inge@lysator.liu.se") - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (rainbow-mode . - [(1 0 2) - nil "Colorize color names in buffers" single - ((:url . "http://elpa.gnu.org/packages/rainbow-mode.html") - (:keywords "faces") - (:authors - ("Julien Danjou" . "julien@danjou.info")) - (:maintainer "Julien Danjou" . "julien@danjou.info"))]) - (rbit . - [(0 1) - nil "Red-black persistent interval trees" single - ((:url . "http://elpa.gnu.org/packages/rbit.html") - (:keywords "data structures" "binary tree" "intervals") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (rcirc-color . - [(0 4 1) - ((emacs - (24 4))) - "color nicks" single - ((:url . "http://elpa.gnu.org/packages/rcirc-color.html") - (:keywords "comm") - (:authors - ("Alex Schroeder" . "alex@gnu.org")) - (:maintainer "Alex Schroeder" . "alex@gnu.org"))]) - (rcirc-menu . - [(1 1) - nil "A menu of all your rcirc connections" single - ((:url . "http://elpa.gnu.org/packages/rcirc-menu.html") - (:keywords "comm") - (:authors - ("Alex Schroeder" . "alex@gnu.org")) - (:maintainer "Alex Schroeder" . "alex@gnu.org"))]) - (realgud . - [(1 5 1) - ((load-relative - (1 3 1)) - (loc-changes - (1 2)) - (test-simple - (1 3 0)) - (emacs - (25))) - "A modular front-end for interacting with external debuggers" tar - ((:url . "http://github.com/realgud/realgud/") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")) - (:keywords "debugger" "gdb" "python" "perl" "go" "bash" "zsh" "bashdb" "zshdb" "remake" "trepan" "perldb" "pdb"))]) - (realgud-ipdb . - [(1 0 0) - ((realgud - (1 5 0)) - (load-relative - (1 3 1)) - (emacs - (25))) - "Realgud front-end to ipdb" tar - ((:url . "http://github.com/rocky/realgud-ipdb") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (realgud-jdb . - [(1 0 0) - ((realgud - (1 4 5)) - (load-relative - (1 2)) - (cl-lib - (0 5)) - (emacs - (25))) - "Realgud front-end to Java's jdb debugger\"" tar - ((:url . "http://github.com/realgud/realgud-jdb") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (realgud-lldb . - [(1 0 2) - ((load-relative - (1 3 1)) - (realgud - (1 5 0)) - (emacs - (25))) - "Realgud front-end to lldb" tar - ((:url . "http://github.com/realgud/realgud-lldb") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (realgud-node-debug . - [(1 0 0) - ((realgud - (1 4 5)) - (load-relative - (1 2)) - (cl-lib - (0 5)) - (emacs - (25))) - "Realgud front-end to older \"node debug\"" tar - ((:url . "http://github.com/realgud/realgud-node-debug") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (realgud-node-inspect . - [(1 0 0) - ((realgud - (1 4 5)) - (load-relative - (1 2)) - (cl-lib - (0 5)) - (emacs - (24))) - "Realgud front-end to newer \"node inspect\"" tar - ((:url . "http://github.com/realgud/realgud-node-inspect") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (realgud-trepan-ni . - [(1 0 1) - ((load-relative - (1 2)) - (realgud - (1 5 0)) - (cl-lib - (0 5)) - (emacs - (25))) - "Realgud front-end to trepan-ni" tar - ((:url . "http://github.com/realgud/realgud-trepan-ni") - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")))]) - (register-list . - [(0 1) - nil "Interactively list/edit registers" single - ((:url . "http://elpa.gnu.org/packages/register-list.html") - (:keywords "register") - (:authors - ("Bastien Guerry" . "bzg@gnu.org")) - (:maintainer "Bastien Guerry" . "bzg@gnu.org"))]) - (relint . - [(1 11) - ((xr - (1 13))) - "Elisp regexp mistake finder" tar - ((:url . "https://github.com/mattiase/relint") - (:maintainer "Mattias Engdegård" . "mattiase@acm.org") - (:authors - ("Mattias Engdegård" . "mattiase@acm.org")) - (:keywords "lisp" "maint" "regexps"))]) - (rich-minority . - [(1 0 1) - ((cl-lib - (0 5))) - "Clean-up and Beautify the list of minor-modes." single - ((:keywords "mode-line" "faces") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/rich-minority"))]) - (rnc-mode . - [(0 2) - nil "Emacs mode to edit Relax-NG Compact files" single - ((:url . "http://elpa.gnu.org/packages/rnc-mode.html") - (:keywords "xml" "relaxng") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (rudel . - [(0 3 1) - ((emacs - (24)) - (cl-lib - (0 5)) - (cl-generic - (0 3)) - (cl-print - (1 0))) - "A collaborative editing framework for Emacs" tar - ((:url . "http://rudel.sourceforge.net/") - (:maintainer "Jan Moringen" . "scymtym@users.sourceforge.net") - (:authors - ("Jan Moringen" . "scymtym@users.sourceforge.net")) - (:keywords "rudel" "collaboration"))]) - (scroll-restore . - [(1 0) - nil "restore original position after scrolling" single - ((:url . "http://elpa.gnu.org/packages/scroll-restore.html") - (:keywords "scrolling") - (:authors - ("Martin Rudalics" . "rudalics@gmx.at")) - (:maintainer "Martin Rudalics" . "rudalics@gmx.at"))]) - (sed-mode . - [(1 0) - nil "Major mode to edit sed scripts" single - ((:url . "http://elpa.gnu.org/packages/sed-mode.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (seq . - [(2 20) - nil "Sequence manipulation functions" tar - ((:maintainer nil . "emacs-devel@gnu.org") - (:authors - ("Nicolas Petton" . "nicolas@petton.fr")) - (:keywords "sequences") - (:url . "http://elpa.gnu.org/packages/seq.html"))]) - (shelisp . - [(0 9 1) - nil "execute elisp in shell" single - ((:url . "http://elpa.gnu.org/packages/shelisp.html") - (:keywords "terminals" "lisp" "processes") - (:authors - ("Michael R. Mauger" . "michael@mauger.com")) - (:maintainer "Michael R. Mauger" . "michael@mauger.com"))]) - (shen-mode . - [(0 1) - nil "A major mode for editing shen source code" tar - ((:maintainer "Eric Schulte" . "schulte.eric@gmail.com") - (:authors - ("Eric Schulte" . "schulte.eric@gmail.com")) - (:keywords "languages" "shen") - (:url . "http://elpa.gnu.org/packages/shen-mode.html"))]) - (sisu-mode . - [(7 1 8) - nil "Major mode for SiSU markup text" single - ((:keywords "text" "syntax" "processes" "tools") - (:authors - ("Ralph Amissah & Ambrose Kofi Laing")) - (:maintainer "Ralph Amissah" . "ralph.amissah@gmail.com") - (:url . "http://www.sisudoc.org/"))]) - (smalltalk-mode . - [(3 2 92) - nil "Major mode for the GNU Smalltalk programming language" tar - ((:maintainer "Derek Zhou" . "derek@shannon-data.com") - (:authors - ("Steve Byrne")) - (:url . "http://elpa.gnu.org/packages/smalltalk-mode.html"))]) - (smart-yank . - [(0 1 1) - ((emacs - (24))) - "A different approach of yank pointer handling" single - ((:url . "http://elpa.gnu.org/packages/smart-yank.html") - (:keywords "convenience") - (:authors - ("Michael Heerdegen" . "michael_heerdegen@web.de")) - (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de"))]) - (sml-mode . - [(6 9) - ((emacs - (24)) - (cl-lib - (0 5))) - "Major mode for editing (Standard) ML" single - ((:url . "http://elpa.gnu.org/packages/sml-mode.html") - (:keywords "sml") - (:authors - ("Lars Bo Nielsen") - (" Olin Shivers") - (" Fritz Knabe (?)") - (" Steven Gilmore (?)") - (" Matthew Morley" . "mjm@scs.leeds.ac.uk") - (" Matthias Blume" . "blume@cs.princeton.edu") - (" (Stefan Monnier)" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (soap-client . - [(3 1 5) - ((cl-lib - (0 6 1))) - "Access SOAP web services" tar - ((:url . "https://github.com/alex-hhh/emacs-soap-client") - (:maintainer "Alexandru Harsanyi" . "AlexHarsanyi@gmail.com") - (:authors - ("Alexandru Harsanyi" . "AlexHarsanyi@gmail.com")) - (:keywords "soap" "web-services" "comm" "hypermedia"))]) - (sokoban . - [(1 4 8) - ((emacs - (23 1)) - (cl-lib - (0 5))) - "Implementation of Sokoban for Emacs." tar - ((:maintainer "Dieter Deyke" . "dieter.deyke@gmail.com") - (:authors - ("Glynn Clements" . "glynn.clements@xemacs.org")) - (:keywords "games") - (:url . "http://elpa.gnu.org/packages/sokoban.html"))]) - (sotlisp . - [(1 6 2) - ((emacs - (24 1))) - "Write lisp at the speed of thought." single - ((:keywords "convenience" "lisp") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))]) - (spinner . - [(1 7 3) - nil "Add spinners and progress-bars to the mode-line for ongoing operations" single - ((:keywords "processes" "mode-line") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/spinner.el"))]) - (sql-indent . - [(1 4) - ((cl-lib - (0 5))) - "Support for indenting code in SQL files." tar - ((:url . "https://github.com/alex-hhh/emacs-sql-indent") - (:maintainer "Alex Harsanyi" . "AlexHarsanyi@gmail.com") - (:authors - ("Alex Harsanyi" . "AlexHarsanyi@gmail.com")) - (:keywords "languages" "sql"))]) - (ssh-deploy . - [(3 1 10) - ((emacs - (25))) - "Deployment via Tramp, global or per directory." tar - ((:url . "https://github.com/cjohansson/emacs-ssh-deploy") - (:maintainer "Christian Johansson" . "christian@cvj.se") - (:authors - ("Christian Johansson" . "christian@cvj.se")) - (:keywords "tools" "convenience"))]) - (stream . - [(2 2 4) - ((emacs - (25))) - "Implementation of streams" tar - ((:maintainer nil . "nicolas@petton.fr") - (:authors - ("Nicolas Petton" . "nicolas@petton.fr")) - (:keywords "stream" "laziness" "sequences") - (:url . "http://elpa.gnu.org/packages/stream.html"))]) - (svg . - [(1 0) - ((emacs - (25))) - "SVG image creation functions" single - ((:url . "http://elpa.gnu.org/packages/svg.html") - (:keywords "image") - (:authors - ("Lars Magne Ingebrigtsen" . "larsi@gnus.org") - ("Felix E. Klee" . "felix.klee@inka.de")) - (:maintainer "Lars Magne Ingebrigtsen" . "larsi@gnus.org"))]) - (svg-clock . - [(1 1) - ((svg - (0 1)) - (emacs - (25 0))) - "Analog clock using Scalable Vector Graphics" single - ((:url . "http://elpa.gnu.org/packages/svg-clock.html") - (:keywords "demo" "svg" "clock") - (:authors - ("Ulf Jasper" . "ulf.jasper@web.de")) - (:maintainer "Ulf Jasper" . "ulf.jasper@web.de"))]) - (system-packages . - [(1 0 11) - ((emacs - (24 3))) - "functions to manage system packages" tar - ((:url . "https://gitlab.com/jabranham/system-packages") - (:maintainer "J. Alexander Branham" . "alex.branham@gmail.com") - (:authors - ("J. Alexander Branham" . "alex.branham@gmail.com")))]) - (tNFA . - [(0 1 1) - ((queue - (0 1))) - "Tagged non-deterministic finite-state automata" single - ((:keywords "extensions" "matching" "data structures tnfa" "nfa" "dfa" "finite state automata" "automata" "regexp") - (:authors - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (temp-buffer-browse . - [(1 5) - ((emacs - (24))) - "temp buffer browse mode" single - ((:url . "http://elpa.gnu.org/packages/temp-buffer-browse.html") - (:keywords "convenience") - (:authors - ("Leo Liu" . "sdl.web@gmail.com")) - (:maintainer "Leo Liu" . "sdl.web@gmail.com"))]) - (test-simple . - [(1 3 0) - ((cl-lib - (0))) - "Simple Unit Test Framework for Emacs Lisp" single - ((:keywords "unit-test") - (:authors - ("Rocky Bernstein" . "rocky@gnu.org")) - (:maintainer "Rocky Bernstein" . "rocky@gnu.org") - (:url . "http://github.com/rocky/emacs-test-simple"))]) - (timerfunctions . - [(1 4 2) - ((cl-lib - (0 5))) - "Enhanced versions of some timer.el functions" single - ((:url . "http://elpa.gnu.org/packages/timerfunctions.html") - (:authors - ("Dave Goel" . "deego3@gmail.com")) - (:maintainer "Dave Goel" . "deego3@gmail.com"))]) - (tiny . - [(0 2 1) - nil "Quickly generate linear ranges in Emacs" tar - ((:url . "https://github.com/abo-abo/tiny") - (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") - (:authors - ("Oleh Krehel" . "ohwoeowho@gmail.com")) - (:keywords "convenience"))]) - (tramp . - [(2 4 2 5) - ((emacs - (24 4))) - "Transparent Remote Access, Multiple Protocol" tar - ((:url . "https://savannah.gnu.org/projects/tramp") - (:maintainer "Michael Albinus" . "michael.albinus@gmx.de") - (:authors - ("Kai Großjohann" . "kai.grossjohann@gmx.net") - ("Michael Albinus" . "michael.albinus@gmx.de")) - (:keywords "comm" "processes"))]) - (tramp-theme . - [(0 2) - ((emacs - (24 1))) - "Custom theme for remote buffers" single - ((:url . "http://elpa.gnu.org/packages/tramp-theme.html") - (:keywords "convenience" "faces") - (:authors - ("Michael Albinus" . "michael.albinus@gmx.de")) - (:maintainer "Michael Albinus" . "michael.albinus@gmx.de"))]) - (transcribe . - [(1 5 2) - nil "Package for audio transcriptions" single - ((:url . "http://elpa.gnu.org/packages/transcribe.html") - (:authors - ("David Gonzalez Gandara" . "dggandara@member.fsf.org")) - (:maintainer "David Gonzalez Gandara" . "dggandara@member.fsf.org"))]) - (trie . - [(0 4) - ((tNFA - (0 1 1)) - (heap - (0 3))) - "Trie data structure" single - ((:keywords "extensions" "matching" "data structures trie" "ternary search tree" "tree" "completion" "regexp") - (:authors - ("Toby Cubitt" . "toby-predictive@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (undo-tree . - [(0 6 5) - nil "Treat undo history as a tree" single - ((:keywords "convenience" "files" "undo" "redo" "history" "tree") - (:authors - ("Toby Cubitt" . "toby-undo-tree@dr-qubit.org")) - (:maintainer "Toby Cubitt" . "toby-undo-tree@dr-qubit.org") - (:url . "http://www.dr-qubit.org/emacs.php"))]) - (uni-confusables . - [(0 1) - nil "Unicode confusables table" tar - ((:maintainer "Teodor Zlatanov" . "tzz@lifelogs.com") - (:url . "http://elpa.gnu.org/packages/uni-confusables.html"))]) - (uniquify-files . - [(1 0 1) - ((emacs - (25 0))) - "Completion style for files, minimizing directories" tar - ((:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") - (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:keywords "completion" "table" "uniquify") - (:url . "http://elpa.gnu.org/packages/uniquify-files.html"))]) - (url-http-ntlm . - [(2 0 4) - ((cl-lib - (0 5)) - (ntlm - (2 1 0))) - "NTLM authentication for the url library" single - ((:keywords "comm" "data" "processes" "hypermedia") - (:authors - ("Tom Schutzer-Weissmann" . "tom.weissmann@gmail.com")) - (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org") - (:url . "https://code.google.com/p/url-http-ntlm/"))]) - (validate . - [(1 0 4) - ((emacs - (24 1)) - (cl-lib - (0 5)) - (seq - (2 16))) - "Schema validation for Emacs-lisp" single - ((:url . "http://elpa.gnu.org/packages/validate.html") - (:keywords "lisp") - (:authors - ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com"))]) - (vcl-mode . - [(1 1) - nil "Major mode for Varnish Configuration Language" single - ((:url . "http://elpa.gnu.org/packages/vcl-mode.html") - (:keywords "varnish" "vcl") - (:authors - ("Sergey Poznyakoff" . "gray@gnu.org.ua")) - (:maintainer "Sergey Poznyakoff" . "gray@gnu.org.ua"))]) - (vdiff . - [(0 2 3) - ((emacs - (24 4)) - (hydra - (0 13 0))) - "A diff tool similar to vimdiff" single - ((:keywords "diff") - (:authors - ("Justin Burkett" . "justin@burkett.cc")) - (:maintainer "Justin Burkett" . "justin@burkett.cc") - (:url . "https://github.com/justbur/emacs-vdiff"))]) - (verilog-mode . - [(2019 11 21 248091482) - nil "major mode for editing verilog source in Emacs" single - ((:keywords "languages") - (:authors - ("Michael McNamara" . "mac@verilog.com") - ("Wilson Snyder" . "wsnyder@wsnyder.org")) - (:maintainer "Michael McNamara" . "mac@verilog.com") - (:url . "https://www.veripool.org"))]) - (vigenere . - [(1 0) - ((emacs - (25 1))) - "Run a vigenere cipher on a block of text ;" single - ((:keywords "data" "vigenere" "cipher") - (:authors - ("Ian Dunn" . "dunni@gnu.org")) - (:maintainer "Ian Dunn" . "dunni@gnu.org") - (:url . "https://elpa.gnu.org/packages/vigenere.html"))]) - (visual-filename-abbrev . - [(1 0) - ((emacs - (26 1))) - "Visually abbreviate filenames" single - ((:url . "http://elpa.gnu.org/packages/visual-filename-abbrev.html") - (:keywords "tools") - (:authors - ("Tassilo Horn" . "tsdh@gnu.org")) - (:maintainer "Tassilo Horn" . "tsdh@gnu.org"))]) - (visual-fill . - [(0 1) - nil "Auto-refill paragraphs without modifying the buffer" single - ((:url . "http://elpa.gnu.org/packages/visual-fill.html") - (:authors - ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) - (vlf . - [(1 7 1) - nil "View Large Files" tar - ((:url . "https://github.com/m00natic/vlfi") - (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") - (:keywords "large files" "utilities"))]) - (w3 . - [(4 0 49) - nil "Fully customizable, largely undocumented web browser for Emacs" tar - ((:maintainer "William Perry and many more") - (:authors - ("William Perry and many more")) - (:keywords "faces" "help" "comm" "news" "mail" "processes" "mouse" "hypermedia") - (:url . "http://elpa.gnu.org/packages/w3.html"))]) - (wcheck-mode . - [(2019 6 17) - nil "General interface for text checkers" single - ((:keywords "text" "spell" "check" "languages" "ispell") - (:authors - ("Teemu Likonen" . "tlikonen@iki.fi")) - (:maintainer "Teemu Likonen" . "tlikonen@iki.fi") - (:url . "https://github.com/tlikonen/wcheck-mode"))]) - (wconf . - [(0 2 1) - ((emacs - (24 4))) - "Minimal window layout manager" single - ((:keywords "windows" "frames" "layout") - (:authors - ("Ingo Lohmar" . "i.lohmar@gmail.com")) - (:maintainer "Ingo Lohmar" . "i.lohmar@gmail.com") - (:url . "https://github.com/ilohmar/wconf"))]) - (web-server . - [(0 1 1) - ((emacs - (24 3))) - "Emacs Web Server" tar - ((:url . "https://github.com/eschulte/emacs-web-server") - (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") - (:authors - ("Eric Schulte" . "schulte.eric@gmail.com")) - (:keywords "http" "server" "network"))]) - (webfeeder . - [(1 0 0) - ((emacs - (25 1))) - "Build RSS and Atom webfeeds from HTML files" tar - ((:url . "https://gitlab.com/Ambrevar/emacs-webfeeder") - (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") - (:authors - ("Pierre Neidhardt" . "mail@ambrevar.xyz")) - (:keywords "news" "hypermedia" "blog" "feed" "rss" "atom"))]) - (websocket . - [(1 12) - ((cl-lib - (0 5))) - "Emacs WebSocket client and server" tar - ((:maintainer "Andrew Hyatt" . "ahyatt@gmail.com") - (:authors - ("Andrew Hyatt" . "ahyatt@gmail.com")) - (:keywords "communication" "websocket" "server") - (:url . "http://elpa.gnu.org/packages/websocket.html"))]) - (which-key . - [(3 3 0) - ((emacs - (24 4))) - "Display available keybindings in popup" tar - ((:url . "https://github.com/justbur/emacs-which-key") - (:maintainer "Justin Burkett" . "justin@burkett.cc") - (:authors - ("Justin Burkett" . "justin@burkett.cc")))]) - (windresize . - [(0 1) - nil "Resize windows interactively" single - ((:url . "http://elpa.gnu.org/packages/windresize.html") - (:keywords "window") - (:authors - ("Bastien" . "bzg@gnu.org")) - (:maintainer "Bastien" . "bzg@gnu.org"))]) - (wisi . - [(2 2 1) - ((emacs - (25 0)) - (seq - (2 20))) - "Utilities for implementing an indentation/navigation engine using a generalized LALR parser" tar - ((:url . "http://stephe-leake.org/ada/wisitoken.html") - (:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") - (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:keywords "parser" "indentation" "navigation"))]) - (wisitoken-grammar-mode . - [(1 0 3) - ((wisi - (2 2 1)) - (emacs - (25 0)) - (mmm-mode - (0 5 7))) - "Major mode for editing WisiToken grammar files" tar - ((:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") - (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:keywords "languages") - (:url . "http://elpa.gnu.org/packages/wisitoken-grammar-mode.html"))]) - (wpuzzle . - [(1 1) - nil "find as many word in a given time" single - ((:url . "http://elpa.gnu.org/packages/wpuzzle.html") - (:authors - ("Ivan Kanis" . "ivan@kanis.fr")) - (:maintainer "Ivan Kanis" . "ivan@kanis.fr"))]) - (xclip . - [(1 9) - nil "Copy&paste GUI clipboard from text terminal" single - ((:url . "http://elpa.gnu.org/packages/xclip.html") - (:keywords "convenience" "tools") - (:authors - ("Leo Liu" . "sdl.web@gmail.com")) - (:maintainer "Leo Liu" . "sdl.web@gmail.com"))]) - (xelb . - [(0 18) - ((emacs - (24 4)) - (cl-generic - (0 2))) - "X protocol Emacs Lisp Binding" tar - ((:url . "https://github.com/ch11ng/xelb") - (:maintainer "Chris Feng" . "chris.w.feng@gmail.com") - (:authors - ("Chris Feng" . "chris.w.feng@gmail.com")) - (:keywords "unix"))]) - (xpm . - [(1 0 4) - nil "edit XPM images" tar - ((:url . "http://www.gnuvola.org/software/xpm/") - (:maintainer "Thien-Thi Nguyen" . "ttn@gnu.org") - (:authors - ("Thien-Thi Nguyen" . "ttn@gnu.org")) - (:keywords "multimedia" "xpm"))]) - (xr . - [(1 13) - nil "Convert string regexp to rx notation" tar - ((:url . "https://github.com/mattiase/xr") - (:maintainer "Mattias Engdegård" . "mattiase@acm.org") - (:authors - ("Mattias Engdegård" . "mattiase@acm.org")) - (:keywords "lisp" "maint" "regexps"))]) - (yasnippet . - [(0 13 0) - ((cl-lib - (0 5))) - "Yet another snippet extension for Emacs" tar - ((:url . "http://github.com/joaotavora/yasnippet") - (:maintainer "Noam Postavsky" . "npostavs@gmail.com") - (:keywords "convenience" "emulation"))]) - (yasnippet-classic-snippets . - [(1 0 2) - ((yasnippet - (0 9 1))) - "\"Classic\" yasnippet snippets" tar - ((:maintainer "Noam Postavsky" . "npostavs@gmail.com") - (:keywords "snippets") - (:url . "http://elpa.gnu.org/packages/yasnippet-classic-snippets.html"))]) - (zones . - [(2019 7 13) - nil "Zones of text - like multiple regions" single - ((:keywords "narrow" "restriction" "widen" "region" "zone") - (:authors - ("Drew Adams")) - (:maintainer "Drew Adams" . "drew.adams@oracle.com") - (:url . "https://elpa.gnu.org/packages/zones.html"))]) - (ztree . - [(1 0 5) - ((cl-lib - (0))) - "Text mode directory tree" tar - ((:url . "https://github.com/fourier/ztree") - (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") - (:authors - ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) - (:keywords "files" "tools"))])) diff --git a/elpa/archives/gnu/archive-contents.signed b/elpa/archives/gnu/archive-contents.signed deleted file mode 100644 index fb0a57f..0000000 --- a/elpa/archives/gnu/archive-contents.signed +++ /dev/null @@ -1 +0,0 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2019-11-09T11:05:07+0100 using RSA \ No newline at end of file diff --git a/elpa/archives/melpa/archive-contents b/elpa/archives/melpa/archive-contents deleted file mode 100644 index 4297d0c..0000000 --- a/elpa/archives/melpa/archive-contents +++ /dev/null @@ -1,4399 +0,0 @@ -(1 -(zzz-to-char . [(20190713 1344) ((emacs (24 4)) (cl-lib (0 5)) (avy (0 3 0))) "Fancy version of `zap-to-char' command" single ((:commit . "3499777d74add95625b4592b5d675a82abc8f888") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/zzz-to-char"))]) -(zygospore . [(20140703 852) nil "reversible C-x 1 (delete-other-windows)" single ((:commit . "1af5ee663f5a7aa08d96a77cacff834dcdf55ea8") (:authors ("Louis Kottmann" . "louis.kottmann@gmail.com")) (:maintainer "Louis Kottmann" . "louis.kottmann@gmail.com") (:url . "https://github.com/louiskottmann/zygospore.el"))]) -(zweilight-theme . [(20170113 605) nil "A dark color theme for Emacs." single ((:commit . "7f45ab9e23164d65538edb2beb9692ecdc24c31e") (:authors ("Philip Arvidsson" . "contact@philiparvidsson.com")) (:maintainer "Philip Arvidsson" . "contact@philiparvidsson.com") (:url . "http://github.com/philiparvidsson/zweilight-emacs"))]) -(ztree . [(20191108 2234) ((cl-lib (0))) "Text mode directory tree" tar ((:commit . "0a5b25f364490a58ef7371534a39c75d11f54132") (:keywords "files" "tools") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/ztree"))]) -(zprint-mode . [(20191130 1829) ((emacs (24 3))) "Reformat Clojure(Script) code using zprint" tar ((:commit . "4d0dd23b40155618181d9d1e4c82849e0d73b659") (:keywords "tools") (:authors ("Paulus Esterhazy" . "pesterhazy@gmail.com")) (:maintainer "Paulus Esterhazy" . "pesterhazy@gmail.com") (:url . "https://github.com/pesterhazy/zprint-mode.el"))]) -(zpresent . [(20180605 438) ((emacs (25 1)) (org-parser (0 4)) (dash (2 12 0)) (request (0 3 0))) "Simple presentation mode based on org files." single ((:commit . "55fc14b66e2ea506247a4e7dd622a9dfe5545c4b") (:keywords "comm") (:url . "https://bitbucket.org/zck/zpresent.el"))]) -(zpl-mode . [(20180906 1059) ((emacs (24 3))) "ZIMPL major mode" single ((:commit . "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e") (:url . "https://github.com/ax487/zpl-mode.git"))]) -(zoutline . [(20190520 1819) nil "Simple outline library." single ((:commit . "63756846f8540b6faf89d885438186e4fe1c7d8a") (:keywords "outline") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/zoutline"))]) -(zotxt . [(20180518 147) ((request-deferred (0 2 0))) "Tools to integrate emacs with Zotero via the zotxt plugin." tar ((:commit . "1578e7fd82cb09a7a4349fd8e4d59f16d0ed7074"))]) -(zotelo . [(20160602 949) ((cl-lib (0 5))) "Manage Zotero collections from emacs" single ((:commit . "d9dc089b9adfcc70a63f2a84269a12eb7cb4c748") (:keywords "zotero" "emacs" "reftex" "bibtex" "mozrepl" "bibliography manager") (:authors ("Spinu Vitalie")) (:maintainer "Spinu Vitalie") (:url . "https://github.com/vitoshka/zotelo"))]) -(zossima . [(20121124 35) ((inf-ruby (2 2 3))) "Ruby from Emacs" tar ((:commit . "991676635c374d2a12714dcf48c1ce2d6f97a375") (:keywords "ruby" "convenience") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/zossima"))]) -(zop-to-char . [(20160212 1554) ((cl-lib (0 5))) "A replacement of zap-to-char." single ((:commit . "00152aa666354b27e56e20565f186b363afa0dce") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/zop-to-char"))]) -(zoom-window . [(20170302 827) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "cd6ecc103fc30b171bda7daf1f44a550854d0dbf") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))]) -(zoom . [(20190523 1300) ((emacs (24 4))) "Fixed and automatic balanced window layout" single ((:commit . "e2aad25dfd334299a7e53df21796b8652142c5b5") (:keywords "frames") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/zoom"))]) -(zone-sl . [(20160201 1210) ((emacs (24 3))) "Zone out with steam locomotives." single ((:commit . "7ec22e3661c6348382f9fc39a9d0063dbd2352ff") (:keywords "games") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "https://github.com/kawabata/zone-sl"))]) -(zone-select . [(20160118 1419) ((emacs (24 3)) (dash (2 8))) "Select zone programs." single ((:commit . "bf30da12f1625fe6563448fccf3c506acad10af7") (:keywords "games") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "https://github.com/kawabata/zone-select"))]) -(zone-rainbow . [(20160120 1334) ((emacs (24 3))) "Zone out with rainbow." single ((:commit . "2ba4f1a87c69c4712124ebf12c1f3ea171e1af36") (:keywords "games") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "https://github.com/kawabata/zone-rainbow"))]) -(zone-nyan . [(20170818 1644) ((esxml (0 3 1))) "Zone out with nyan cat" single ((:commit . "4b1f8d95f130946718d52806489ffe2762aebfdc") (:keywords "zone") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/zone-nyan"))]) -(zombie-trellys-mode . [(20150304 1448) ((emacs (24)) (cl-lib (0 5)) (haskell-mode (1 5))) "A minor mode for interaction with Zombie Trellys" single ((:commit . "7f0c45fdda3a44c3b6d1762d116abb1421b8fba2") (:keywords "languages") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))]) -(zombie . [(20141222 1616) nil "major mode for editing ZOMBIE programs" single ((:commit . "ff8cd1b4cdbb4b0b9b8fd1ec8f6fb93eba249345") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(znc . [(20160627 2032) ((cl-lib (0 2))) "ZNC + ERC" single ((:commit . "ce468d185e4a949c45fdd7586313144bc69d4fe5") (:authors ("Yaroslav Shirokov")) (:maintainer "Yaroslav Shirokov") (:url . "https://github.com/sshirokov/ZNC.el"))]) -(zmq . [(20190812 1910) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "0544b70bf99b6eb95f46e0fcd788d98da50cb892") (:keywords "comm") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-zmq"))]) -(zlc . [(20151011 157) nil "Provides zsh like completion system to Emacs" single ((:commit . "4dd2ba267ecdeac845a7cbb3147294ee7daa25f4") (:keywords "matching" "convenience") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com"))]) -(zig-mode . [(20191023 1551) ((emacs (24))) "A major mode for the Zig programming language" single ((:commit . "77202ac26ee6091d69d40990fddb1ce6cfcc6dc8") (:keywords "zig" "languages") (:authors ("Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com")) (:maintainer "Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com") (:url . "https://github.com/zig-lang/zig-mode"))]) -(zerodark-theme . [(20190528 923) ((all-the-icons (2 0 0))) "A dark, medium contrast theme for Emacs" single ((:commit . "df22536a244293591575e56970bf83814faa7c14") (:keywords "themes") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/zerodark-theme"))]) -(zero-input . [(20191110 910) ((emacs (24 3)) (s (1 2 0))) "Zero Chinese input method framework" single ((:commit . "cd075a5ff4a979f0ab850d0fc747b4db429298e4") (:url . "https://gitlab.emacsos.com/sylecn/zero-el"))]) -(zephir-mode . [(20170918 425) ((cl-lib (0 5)) (pkg-info (0 4)) (emacs (24 3))) "Major mode for editing Zephir code" single ((:commit . "1db4071a014a796120b5c3d0a7f91eb77359eb10") (:keywords "languages") (:authors ("Serghei Iakovlev" . "serghei@phalconphp.com")) (:maintainer "Serghei Iakovlev") (:url . "https://github.com/sergeyklay/zephir-mode"))]) -(zeno-theme . [(20181027 118) ((emacs (24))) "A dark theme using different shades of blue" single ((:commit . "0914c4a5b1b9499e7f1ca5699b1c3ea2f4be3f1a") (:keywords "faces" "theme" "dark" "blue") (:authors ("Bharat Joshi" . "jbharat@outlook.com")) (:maintainer "Bharat Joshi" . "jbharat@outlook.com") (:url . "https://github.com/jbharat/zeno-theme"))]) -(zenity-color-picker . [(20160302 1154) ((emacs (24 4))) "Insert and adjust colors using Zenity" single ((:commit . "4f4f46676a461ebc881487fb70c8c181e323db5e") (:keywords "colors") (:authors ("Samuel Laurén" . "samuel.lauren@iki.fi")) (:maintainer "Samuel Laurén" . "samuel.lauren@iki.fi") (:url . "https://bitbucket.org/Soft/zenity-color-picker.el"))]) -(zencoding-mode . [(20140213 822) nil "Unfold CSS-selector-like expressions to markup" single ((:commit . "58e42af182c98cb9941d27cd042d227fbf4e146c") (:keywords "convenience") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/rooney/zencoding"))]) -(zenburn-theme . [(20191016 655) nil "A low contrast color theme for Emacs." single ((:commit . "2f4f6e7d0bc37f1a99ab14bb4506a0e53d359da5") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))]) -(zen-and-art-theme . [(20120622 1437) nil "zen and art color theme for GNU Emacs 24" single ((:commit . "a7226cbce0bca2501d69a620cb2aeabfc396c232") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) -(zel . [(20171014 832) ((emacs (25)) (frecency (0 1))) "Access frecent files easily" single ((:commit . "9dae2d212224d1deae1f62561fa8e4d689fd09f2") (:keywords "convenience" "files" "matching") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/zel"))]) -(zeal-at-point . [(20180131 2354) nil "Search the word at point with Zeal" single ((:commit . "0fc3263f44e95acd3e9d91057677621ce4d297ee") (:authors ("Jinzhu" . "wosmvp@gmail.com")) (:maintainer "Jinzhu" . "wosmvp@gmail.com") (:url . "https://github.com/jinzhu/zeal-at-point"))]) -(z3-mode . [(20151120 2255) ((flycheck (0 23)) (emacs (24))) "A z3/SMTLIBv2 interactive development environment" single ((:commit . "163dc01d59e9880b4dc188d4e1ad84d6c0c852e1") (:keywords "z3" "yices" "mathsat" "smt" "beaver") (:authors ("Zephyr Pellerin" . "zephyr.pellerin@gmail.com")) (:maintainer "Zephyr Pellerin" . "zephyr.pellerin@gmail.com") (:url . "https://github.com/zv/z3-mode"))]) -(youdao-dictionary . [(20191031 1404) ((popup (0 5 0)) (pos-tip (0 4 6)) (chinese-word-at-point (0 2)) (names (0 5)) (emacs (24))) "Youdao Dictionary interface for Emacs" single ((:commit . "5b08d23dd74fa3c4291409f2afa369595979ea79") (:keywords "convenience" "chinese" "dictionary") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/youdao-dictionary.el"))]) -(yoshi-theme . [(20190505 728) nil "Theme named after my cat" single ((:commit . "70365870ff823b954aa85972217d8f116c45d939") (:keywords "faces") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/yoshi-theme/"))]) -(yoficator . [(20190509 1620) nil "Interactively yoficate Russian texts" tar ((:commit . "fa914f9648515bca54b5e558ca57d2b65fa57491") (:authors ("Eugene Minkovskii" . "emin@mccme.ru") ("Alexander Krotov" . "ilabdsf@gmail.com")) (:maintainer "Eugene Minkovskii" . "emin@mccme.ru") (:url . "https://gitlab.com/link2xt/yoficator"))]) -(yesql-ghosts . [(20150220 1237) ((s (1 9 0)) (dash (2 10 0)) (cider (0 8 0))) "Display ghostly yesql defqueries inline" single ((:commit . "8f1faf0137b85a5072d13e1240a463d9a35ce2bb") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(yequake . [(20191121 1726) ((emacs (25 2)) (dash (2 14 1))) "Drop-down frames, like Yakuake" single ((:commit . "16dd29c68f4b59ee2da7b7c13d17a687c9c79e16") (:keywords "convenience" "window-system" "frames") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/yequake"))]) -(ydk-mode . [(20170113 921) nil "Language support for Yu-Gi-Oh! deck files" single ((:commit . "f3f125b29408e0b0a34fec27dcb7c02c5dbfd04e") (:keywords "faces" "games" "languages" "ydk" "yugioh" "yu-gi-oh") (:authors ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) (:maintainer "Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com") (:url . "https://github.com/jacksonrayhamilton/ydk-mode"))]) -(ycmd . [(20190416 807) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0)) (deferred (0 5 1)) (cl-lib (0 6 1)) (let-alist (1 0 5)) (request (0 3 0)) (request-deferred (0 3 0)) (pkg-info (0 6))) "emacs bindings to the ycmd completion server" tar ((:commit . "6f4f7384b82203cccf208e3ec09252eb079439f9") (:url . "https://github.com/abingham/emacs-ycmd"))]) -(ycm . [(20150822 1836) nil "Emacs client for the YouCompleteMe auto-completion server." single ((:commit . "4da8a14abcd0f4fa3235042ade2e12b5068c0601") (:keywords "c" "abbrev") (:authors ("Ajay Gopinathan" . "ajay@gopinathan.net")) (:maintainer "Ajay Gopinathan" . "ajay@gopinathan.net"))]) -(yaxception . [(20150105 1452) nil "Provide framework about exception like Java for Elisp" single ((:commit . "4e94cf3e0b9b5631b0e90eb4b7de597ee7185875") (:keywords "exception" "error" "signal") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/yaxception"))]) -(yatex . [(20191125 2326) nil "Yet Another tex-mode for emacs //野鳥//" tar ((:commit . "117a846879bca80c98bc7c53ea24bdaf6cd88851"))]) -(yatemplate . [(20180617 952) ((yasnippet (0 8 1)) (emacs (24 3))) "File templates with yasnippet" tar ((:commit . "4f4fca9f04f7088c98aa195cf33635a35a6055cb") (:keywords "files" "convenience") (:authors ("Wieland Hoffmann" . "themineo+yatemplate@gmail.com")) (:maintainer "Wieland Hoffmann" . "themineo+yatemplate@gmail.com") (:url . "https://github.com/mineo/yatemplate"))]) -(yasnippet-snippets . [(20191117 1730) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "2cc5f35cd43941175981c8774debc8303d90c101") (:keywords "snippets") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com"))]) -(yasnippet-lean . [(20190922 2037) ((yasnippet (0 8 0))) "Collection of snippets for the Lean prover" tar ((:commit . "9119be08a32286d3e8559138e8ae003856ae1c0a") (:keywords "convenience" "snippets" "leanprover") (:maintainer "Simon Hudon" . "simon.hudon@gmail.com") (:url . "https://github.com/leanprover-community/yasnippet-lean"))]) -(yasnippet . [(20191030 1331) ((cl-lib (0 5))) "Yet another snippet extension for Emacs" single ((:commit . "1bee3a33c77d1a61c331461750e01c4f6fa85417") (:keywords "convenience" "emulation") (:maintainer "Noam Postavsky" . "npostavs@gmail.com") (:url . "http://github.com/joaotavora/yasnippet"))]) -(yascroll . [(20170315 1906) ((cl-lib (0 3))) "Yet Another Scroll Bar Mode" single ((:commit . "fe4494e5f4faf2832e665c7de0fed99cdbb39478") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) -(yarn-mode . [(20170709 1937) ((emacs (24 3))) "Major mode for yarn.lock files." single ((:commit . "998b408d6be05fd1c3a9fd8db6ffaab3bf86d06b") (:keywords "convenience") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:url . "https://github.com/anachronic/yarn-mode"))]) -(yari . [(20151128 739) nil "Yet Another RI interface for Emacs" single ((:commit . "a2cb9656ee5dfe1fc2ee3854f3079a1c8e85dbe9") (:keywords "tools") (:authors ("Aleksei Gusev" . "aleksei.gusev@gmail.com")) (:maintainer "Aleksei Gusev" . "aleksei.gusev@gmail.com"))]) -(yard-mode . [(20170817 1237) nil "Minor mode for Ruby YARD comments" single ((:commit . "ba74a47463b0320ae152bd42a7dd7aeecd7b5748") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/yard-mode.el"))]) -(yara-mode . [(20190423 710) ((emacs (24))) "Major mode for editing yara rule file" single ((:commit . "cd8093b1bc4fc260462f5284b157008fefa84880") (:keywords "yara") (:authors (nil . "binjo.cn@gmail.com")) (:maintainer nil . "binjo.cn@gmail.com") (:url . "not distributed yet"))]) -(yapfify . [(20191103 2100) nil "(automatically) format python buffers using YAPF." single ((:commit . "530ca2b589070edfe9bd59034af55c924d03b83a") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/yapfify"))]) -(yankpad . [(20190904 1507) ((emacs (25))) "Paste snippets from an org-mode file" single ((:commit . "2f110f4aacb00c58439385cabb18cfaa8d759e64") (:keywords "abbrev" "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/yankpad"))]) -(yang-mode . [(20190507 724) nil "major mode for editing YANG files" single ((:commit . "4b4ab4d4a79d37d6c31c6ea7cccbc425e0b1eded") (:authors ("Martin Bjorklund" . "mbj4668@gmail.com")) (:maintainer "Martin Bjorklund" . "mbj4668@gmail.com"))]) -(yandex-weather . [(20160311 2037) nil "Fetch Yandex Weather forecasts." tar ((:commit . "6f823fd9e04ff9efb2aa65f333079e9f7e6e5b28"))]) -(yaml-tomato . [(20151123 753) ((s (1 9))) "copy or show the yaml path currently under cursor." single ((:commit . "f9df1c9bdfcec629b03031b2d2032f9dc533cb14") (:keywords "yaml") (:authors ("qrczeno")) (:maintainer "qrczeno"))]) -(yaml-mode . [(20191127 2314) ((emacs (24 1))) "Major mode for editing YAML files" single ((:commit . "cecf4b106b0c4236931b14919fdf87ff3546e2c9") (:keywords "data" "yaml") (:authors ("Yoshiki Kurihara" . "clouder@gmail.com") ("Marshall T. Vandegrift" . "llasram@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com"))]) -(yaml-imenu . [(20181001 627) ((emacs (24 4)) (yaml-mode (0))) "Enhancement of the imenu support in yaml-mode." tar ((:commit . "78a383098807014d9e7f2941196d8271677158cd") (:keywords "outlining" "convenience" "imenu") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/yaml-imenu.el"))]) -(yalinum . [(20130217 1043) nil "yet another display line numbers." single ((:commit . "d3e0cbe3f4f5ca311e3298e684901d6fea3ad973") (:keywords "convenience" "tools") (:authors ("tm8st" . "tm8st@hotmail.co.jp")) (:maintainer "tm8st" . "tm8st@hotmail.co.jp"))]) -(yahtzee . [(20171022 1412) ((emacs (24 3))) "The yahtzee game" single ((:commit . "7cea3314ad9f1f00543afb578c97e45acbfc3fa7") (:keywords "games") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/yahtzee"))]) -(yahoo-weather . [(20181026 320) ((emacs (24))) "Displays weather information in mode-line" single ((:commit . "1d2db14daa1706e03dfe4379397eb89234a56400") (:keywords "weather" "mode-line") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/yahoo-weather-mode"))]) -(yagist . [(20160418 508) ((cl-lib (0 3))) "Yet Another Emacs integration for gist.github.com" single ((:commit . "dcdbd84f348414815d02f3da8a6ee0ac271632d4") (:keywords "tools") (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/yagist.el"))]) -(yafolding . [(20170305 317) nil "Yet another folding extension for Emacs" single ((:commit . "57c015ddd7c3454571c80825bc5391d7a10fa1d7") (:keywords "folding") (:authors ("Zeno Zeng" . "zenoofzeng@gmail.com")) (:maintainer "Zeno Zeng" . "zenoofzeng@gmail.com"))]) -(yabin . [(20140206 351) nil "Yet Another Bignum package (A thin wrapper of calc.el)." single ((:commit . "db8c404507560ef9147fcce2b94cd706fbfa03b5") (:keywords "data") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))]) -(xwidgete . [(20171118 2116) ((emacs (25))) "enhances usability of current xwidget browser" single ((:commit . "e4e8410fe32176df85b46234717824519443fb04") (:keywords "xwidgete" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/xwidgete"))]) -(xtest . [(20141214 1706) ((cl-lib (0 5))) "Simple Testing with Emacs & ERT" single ((:commit . "2c2bdf32667506dd9ddf6eb311832add616bdf1c") (:keywords "testing" "ert") (:authors ("Mustafa Shameem")) (:maintainer "Mustafa Shameem") (:url . "https://github.com/promethial/xtest"))]) -(xterm-keybinder . [(20160523 56) ((emacs (24 3)) (cl-lib (0 5)) (let-alist (1 0 1))) "Let you extra keybinds in xterm/urxvt" tar ((:commit . "b29c4f700b0fa0c9f627f6725b36462b8fab06d6") (:keywords "convenient") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada "))]) -(xterm-color . [(20191002 2158) ((cl-lib (0 5))) "ANSI & XTERM 256 color support" single ((:commit . "12296bb1f0166a81b7e602493ed81e04d3381989") (:keywords "faces") (:authors ("xristos" . "xristos@sdf.lonestar.org")) (:maintainer "xristos" . "xristos@sdf.lonestar.org") (:url . "https://github.com/atomontage/xterm-color"))]) -(xresources-theme . [(20190108 1851) nil "Use your .Xresources as your emacs theme" single ((:commit . "5239acb51aa2dfa89a207e57012108d8fcf60562") (:keywords "xresources" "theme") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))]) -(xref-js2 . [(20190915 2032) ((emacs (25)) (js2-mode (20150909))) "Jump to references/definitions using ag & js2-mode's AST" single ((:commit . "6f1ed5dae0c2485416196a51f2fa92f32e4b8262") (:keywords "javascript" "convenience" "tools") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/xref-js2"))]) -(xquery-tool . [(20190523 1119) nil "A simple interface to saxonb's xquery." single ((:commit . "7f0859cc722607240689e57e14de8e0719052016") (:keywords "xml" "xquery" "emacs") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/xquery-tool.el"))]) -(xquery-mode . [(20170214 1119) ((cl-lib (0 5))) "A simple mode for editing xquery programs" single ((:commit . "1b655ccf83d02a7bd473d2cf02359ed60bdf7369") (:url . "https://github.com/xquery-mode/xquery-mode"))]) -(xo . [(20160403 646) nil "XO linter integration with compilation mode" single ((:commit . "72fcd867cfa332fdb82f732925cf8977e690af78") (:keywords "processes") (:authors ("J.A" . "jer.github@gmail.com")) (:maintainer "J.A" . "jer.github@gmail.com"))]) -(xmlunicode . [(20191124 2312) nil "Unicode support for XML" tar ((:commit . "80f30becf860db4277e71e3445994fccaf35ba98") (:keywords "utf-8" "unicode" "xml" "characters") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))]) -(xmlgen . [(20170411 1317) nil "A DSL for generating XML." single ((:commit . "dba66681f0c5e621a9e70e8afb34903c9ffe93c4") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) -(xml-rpc . [(20181002 1353) nil "An elisp implementation of clientside XML-RPC" single ((:commit . "8f624f8b964e9145acb504e4457c9510e87dd93c") (:keywords "xml" "rpc" "network") (:authors ("Mark A. Hershberger" . "mah@everybody.org")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:url . "http://github.com/hexmode/xml-rpc-el"))]) -(xml-quotes . [(20151230 2249) nil "read quotations from an XML document" tar ((:commit . "26db170e80b9295861227cdf970721b12539ed44") (:keywords "xml" "quotations") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "https://github.com/ndw/xml-quotes"))]) -(xml-format . [(20191011 1148) ((emacs (25)) (reformatter (0 4))) "XML reformatter using xmllint" single ((:commit . "2861c4e33e18b077112efa072316b031bca4236c") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-xml-format"))]) -(xml+ . [(20170727 2351) ((emacs (24 4)) (dash (2 12 0))) "Utilities for xml and html trees" single ((:commit . "232fa863c08fc159b21dd58c39ea45dce3334895") (:keywords "xml" "html") (:authors ("Ben Dean" . "bendean837@gmail.com")) (:maintainer "Ben Dean" . "bendean837@gmail.com") (:url . "https://github.com/bddean/xml-plus"))]) -(xkcd . [(20160419 1130) ((json (1 3))) "View xkcd from Emacs" single ((:commit . "66e928706fd660cfdab204c98a347b49c4267bdf") (:keywords "xkcd" "webcomic") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/emacs-xkcd"))]) -(xcscope . [(20190723 629) nil "cscope interface for (X)Emacs" single ((:commit . "f3e2c84bd92f5a78182cc8d81f5358979a6c241c") (:keywords "languages" "c") (:authors ("Darryl Okahata" . "darrylo@sonic.net") ("Dima Kogan" . "dima@secretsauce.net")) (:maintainer "Dima Kogan" . "dima@secretsauce.net") (:url . "https://github.com/dkogan/xcscope.el"))]) -(xcode-project . [(20181025 1244) ((emacs (25))) "A package for reading Xcode project files." tar ((:commit . "0bf9a4230fab7830350c750c39beda99ef74d72f") (:keywords "languages" "tools") (:authors ("John Buckley" . "john@olivetoast.com")) (:maintainer "John Buckley" . "john@olivetoast.com") (:url . "https://github.com/nhojb/xcode-project.git"))]) -(xcode-mode . [(20160907 1208) ((emacs (24 4)) (s (1 10 0)) (dash (2 11 0)) (multiple-cursors (1 0 0))) "A minor mode for emacs to perform Xcode like actions." single ((:commit . "2ae4f512d6c601ea39d5ab785c2b5288eac24b59") (:keywords "conveniences") (:authors ("Nickolas Lanasa" . "nick@nytekproductions.com")) (:maintainer "Nickolas Lanasa" . "nick@nytekproductions.com"))]) -(xbm-life . [(20160103 1017) nil "A XBM version of Conway's Game of Life" single ((:commit . "dd6a98ac9ea81b681e68f6318fed47158e5d469e") (:keywords "games") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/xbm-life"))]) -(xahk-mode . [(20170821 1107) ((emacs (24 1))) "Major mode for editing AutoHotkey scripts." single ((:commit . "02012b20603c00e3b2ef32159a690ed1e05d12c3") (:keywords "languages") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://xahlee.info/mswin/emacs_autohotkey_mode.html"))]) -(xah-replace-pairs . [(20180508 249) ((emacs (24 1))) "emacs lisp functions for multi-pair find/replace." single ((:commit . "4d845cfbce32d45befd7c454e3476c3ce40d2b43") (:keywords "lisp" "tools" "find replace") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp_replace_string_region.html"))]) -(xah-reformat-code . [(20170821 1111) nil "commands to reformat source code." single ((:commit . "7fec8b28e46b8cc2813fac5149e3bbb56c0aa6b1") (:keywords "convenience") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/emacs_reformat_lines.html"))]) -(xah-math-input . [(20190206 1658) ((emacs (24 1))) "a minor mode for inputting math and Unicode symbols." single ((:commit . "af787f87815b85d56c35bbe0f22e03a31c8e670d") (:keywords "abbrev" "convenience" "unicode" "math" "latex") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xmsi-math-symbols-input.html"))]) -(xah-lookup . [(20181225 1942) ((emacs (24 1))) "look up word on internet." single ((:commit . "2cafbf3605a8f2ac4c56392c5b1f75adc3b11f24") (:keywords "help" "docs" "convenience") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-lookup.html"))]) -(xah-get-thing . [(20170821 1053) ((emacs (24 1))) "get thing or selection at point." single ((:commit . "e3ef069ea9fea3a092689d45c94c6211b51d0ea4") (:keywords "extensions" "lisp" "tools") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp_get-selection-or-unit.html"))]) -(xah-fly-keys . [(20191125 515) ((emacs (24 1))) "ergonomic modal keybinding minor mode." single ((:commit . "c58e688cdd29559263ac88e48d8e6cd3ca23642a") (:keywords "convenience" "emulations" "vim" "ergoemacs") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/misc/ergoemacs_vi_mode.html"))]) -(xah-find . [(20190314 2039) ((emacs (24 1))) "find replace in pure emacs lisp. Purpose similar to grep/sed." single ((:commit . "a39f1ff9a7cf56e92b56c6f179741569b9172a48") (:keywords "convenience" "extensions" "files" "tools" "unix") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp-xah-find-text.html"))]) -(xah-elisp-mode . [(20190125 646) ((emacs (24 3))) "Major mode for editing emacs lisp." single ((:commit . "a09c51e450bf4b39bdc3f4063c2946baec7ae3b1") (:keywords "lisp" "languages") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-elisp-mode.html"))]) -(xah-css-mode . [(20190705 750) ((emacs (24 3))) "Major mode for editing CSS code." single ((:commit . "ada8513eadca5c5797a384040acca2fceced3e26") (:keywords "languages" "convenience" "css" "color") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-css-mode.html"))]) -(x86-lookup . [(20180528 1635) ((emacs (24 3)) (cl-lib (0 3))) "jump to x86 instruction documentation" single ((:commit . "609b2ba70dc5a246ac9b4b5f89eb5ef4331519bf") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/x86-lookup"))]) -(x509-mode . [(20180921 803) ((emacs (24 1)) (cl-lib (0 5))) "View certificates, CRLs and keys using OpenSSL." tar ((:commit . "9eb24c8721dcad9888b70213d06d770bc2386db7") (:authors ("Fredrik Axelsson" . "f.axelsson@gmai.com") ("Package-Requires: ((emacs \"24.1\") (cl-lib \"0.5\"))")) (:maintainer "Fredrik Axelsson" . "f.axelsson@gmai.com"))]) -(x-path-walker . [(20160922 1835) ((helm-core (1 9 2))) "Navigation feature for JSON/XML/HTML based on path (imenu like)" tar ((:commit . "3b01dbd7a039c6c84fdf8c8ee53ba72090ee950a") (:keywords "convenience") (:authors (nil . "")) (:maintainer nil . ""))]) -(www-synonyms . [(20170128 2251) ((request (0 2 0)) (cl-lib (0 5))) "insert synonym for a word" single ((:commit . "7e37ea35064ff31c9945f0198a653647d408c936") (:keywords "lisp") (:authors ("Bernhard Specht" . "bernhard@specht.net")) (:maintainer "Bernhard Specht" . "bernhard@specht.net"))]) -(wwtime . [(20151122 1610) nil "Insert a time of day with appropriate world-wide localization" single ((:commit . "d04d8fa814b5d3644efaeb28f25520ada69acbbd") (:keywords "time") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))]) -(wucuo . [(20191106 2344) ((emacs (24 4))) "Spell check code containing camel case words" single ((:commit . "dc56b11e0f5c4e4a121e6ac72523fa0e6cae4c02") (:keywords "convenience") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:url . "http://github.com/redguardtoo/wucuo"))]) -(wttrin . [(20170614 1206) ((emacs (24 4)) (xterm-color (1 0))) "Emacs frontend for weather web service wttr.in" single ((:commit . "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc") (:keywords "comm" "weather" "wttrin") (:authors ("Carl X. Su" . "bcbcarl@gmail.com") ("ono hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Carl X. Su" . "bcbcarl@gmail.com") (:url . "https://github.com/bcbcarl/emacs-wttrin"))]) -(wsd-mode . [(20191031 1211) nil "Emacs major-mode for www.websequencediagrams.com" tar ((:commit . "44aac55afb57cb540559aa1015f9ad2d770dd5c8") (:keywords "wsd" "diagrams" "design" "process" "modelling" "uml") (:authors ("Jostein Kjønigsen" . "jostein@gmail.com")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:url . "https://github.com/josteink/wsd-mode"))]) -(ws-butler . [(20170111 2334) nil "Unobtrusively remove trailing whitespace." single ((:commit . "52321b99be69aa1b661da7743c4421a30d8b6bcb") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/ws-butler"))]) -(writeroom-mode . [(20190406 2135) ((emacs (24 1)) (visual-fill-column (1 9))) "Minor mode for distraction-free writing" tar ((:commit . "ebe522ba5a0367cf82ed03ffeb63fe597b84f4a1") (:keywords "text") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) -(writegood-mode . [(20180525 1343) nil "Polish up poor writing on the fly" single ((:commit . "b71757ec337e226909fb0422f0224e31acc71733") (:keywords "writing" "weasel-words" "grammar") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "http://github.com/bnbeckwith/writegood-mode"))]) -(writefreely . [(20190628 1606) ((emacs (24 3)) (org (9 0)) (ox-gfm (0 0)) (request (0 3))) "Push your Org files as markdown to a writefreely instance" single ((:commit . "83a487e48e0d8342c372deb74d04c0b43474268c") (:keywords "convenience") (:authors ("Daniel Gomez ")) (:maintainer "Daniel Gomez ") (:url . "https://github.com/dangom/writefreely.el"))]) -(wrap-region . [(20140117 720) ((dash (1 0 3))) "Wrap text with punctation or tag" single ((:commit . "fbae9b0f106187af19823f1a6260b5c68b7252e6") (:keywords "speed" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/wrap-region"))]) -(wotd . [(20170328 1948) ((emacs (24 4)) (org (8 2 10))) "Fetch word-of-the-day from multiple online sources" single ((:commit . "d2937a3d91e014f8028a1f33d21c18cc0b065a64") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) -(world-time-mode . [(20140627 807) nil "show whole days of world-time diffs" single ((:commit . "ce7a3b45c87eb24cfe61eee453175d64f741d7cc") (:keywords "tools" "calendar") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) -(workgroups2 . [(20141102 1922) ((cl-lib (0 4)) (dash (2 8 0)) (anaphora (1 0 0)) (f (0 17))) "New workspaces for Emacs" single ((:commit . "bbefbb2579d463b243dcd4ecbfce82e1bdac3882") (:keywords "session" "management" "window-configuration" "persistence") (:authors ("Sergey Pashinin ")) (:maintainer "Sergey Pashinin ") (:url . "https://github.com/pashinin/workgroups2"))]) -(workgroups . [(20110726 1641) nil "workgroups for windows (for Emacs)" single ((:commit . "9572b3492ee09054dc329f64ed846c962b395e39") (:keywords "session" "management" "window-configuration" "persistence") (:authors ("tlh" . "thunkout@gmail.com")) (:maintainer "tlh" . "thunkout@gmail.com"))]) -(worf . [(20191116 1730) ((swiper (0 11 0)) (ace-link (0 1 0)) (hydra (0 13 0)) (zoutline (0 1 0))) "A warrior does not press so many keys! (in org-mode)" tar ((:commit . "b1fb5771c4a3a47b628b8c349595c4ace347113b") (:keywords "lisp") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/worf"))]) -(wordsmith-mode . [(20171025 1430) nil "Syntax analysis and NLP text-processing in Emacs (OSX-only)" single ((:commit . "589a97412138145bea70e0450eeddeb7f138d538") (:authors ("istib" . "istib@thebati.net")) (:maintainer "istib" . "istib@thebati.net"))]) -(wordnut . [(20180313 443) ((emacs (24 4))) "Major mode interface to WordNet" tar ((:commit . "feac531404041855312c1a046bde7ea18c674915"))]) -(wordgen . [(20170803 1820) ((emacs (24)) (cl-lib (0 5))) "Random word generator" single ((:commit . "aacad928ae99a953e034a831dfd0ebdf7d52ac1d") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/wordgen.el"))]) -(wonderland . [(20130913 119) ((dash (2 0 0)) (dash-functional (1 0 0)) (multi (2 0 0)) (emacs (24))) "declarative configuration for Emacsen" single ((:commit . "89d274ad694b0e748efdac23ccd60b7d8b73d7c6") (:keywords "configuration" "profile" "wonderland") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:url . "http://github.com/kurisuwhyte/emacs-wonderland"))]) -(wolfram-mode . [(20180307 13) ((emacs (24 3))) "Mathematica editing and inferior mode." single ((:commit . "be680190cac6ccf579dbce107deaae495928d1b3") (:keywords "languages" "processes" "tools") (:authors ("Daichi Mochihashi ")) (:maintainer "Daichi Mochihashi ") (:url . "https://github.com/kawabata/wolfram-mode/"))]) -(wolfram . [(20190805 1007) nil "Wolfram Alpha Integration" single ((:commit . "a172712d5045834f5434cca2843a7c3506805db8") (:keywords "math") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com"))]) -(wn-mode . [(20151110 552) ((emacs (24))) "numeric window switching shortcuts" single ((:commit . "f05c3151523e529af5a0a3fa8c948b61fb369f6e") (:keywords "buffers" "windows" "switching-windows") (:authors ("Anonymous")) (:maintainer "Luís Oliveira" . "luismbo@gmail.com") (:url . "https://github.com/luismbo/wn-mode"))]) -(with-venv . [(20190516 606) ((cl-lib (0 5)) (emacs (24 4))) "Execute with Python virtual environment activated" single ((:commit . "3728d3a60c600d7ac505ce281cd2579a8992c14d") (:keywords "processes" "python" "venv") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:url . "https://github.com/10sr/with-venv-el"))]) -(with-simulated-input . [(20191127 2116) ((emacs (24 4)) (seq (2 0)) (s (0))) "A macro to simulate user input non-interactively" single ((:commit . "7b044003150ee39505234080b86f474c60ad3471") (:keywords "lisp" "tools" "extensions") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson"))]) -(with-proxy . [(20190920 24) ((emacs (24 4))) "Evaluate expressions with proxy" single ((:commit . "a7506af86ffc943f5d4cba712ec661125799c30b") (:keywords "comm") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/with-proxy.el"))]) -(with-namespace . [(20130407 1822) ((dash (1 1 0)) (loop (1 1))) "interoperable elisp namespaces" single ((:commit . "8ac52da3a09cf46087720e30cf730d00f140cde6") (:keywords "namespaces") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(with-emacs . [(20191125 117) ((emacs (24 4))) "Evaluate Emacs Lisp expressions in a separate Emacs process" single ((:commit . "257a3c4381f4d1672ca0b071d4e9bf6fd285ecef") (:keywords "tools") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/with-emacs.el"))]) -(with-editor . [(20191105 2250) ((emacs (24 4)) (async (1 9))) "Use the Emacsclient as $EDITOR" tar ((:commit . "53dcd4d09924b0ae2908b417fe817dc5c6d90f20") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/with-editor"))]) -(wispjs-mode . [(20170720 1919) ((clojure-mode (0))) "Major mode for Wisp code." single ((:commit . "60f9f5fd9d1556e2d008939f67eb1b1d0f325fa8") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/wispjs-mode"))]) -(wisp-mode . [(20190921 2218) nil "Tools for wisp: the Whitespace-to-Lisp preprocessor" tar ((:commit . "0d2c025ac4cfd394706c07fbb60999eaf711020b") (:keywords "languages" "lisp") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) -(winum . [(20190911 1607) ((cl-lib (0 5)) (dash (2 13 0))) "Navigate windows and frames using numbers." single ((:commit . "c5455e866e8a5f7eab6a7263e2057aff5f1118b9") (:keywords "convenience" "frames" "windows" "multi-screen") (:authors ("Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com")) (:maintainer "Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com") (:url . "http://github.com/deb0ch/winum.el"))]) -(winring . [(20180530 18) nil "Window configuration rings" single ((:commit . "f2d072bd446b73e93b127523f19ea82b99b9267f") (:keywords "frames" "tools") (:authors ("1997-2018 Barry A. Warsaw")) (:maintainer "1997-2018 Barry A. Warsaw") (:url . "https://gitlab.com/warsaw/winring"))]) -(winpoint . [(20131023 1713) nil "Remember buffer positions per-window, not per buffer" single ((:commit . "e6050093c076308184566fa1d1012423d6934773") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/winpoint"))]) -(winnow . [(20170903 1206) ((emacs (24))) "winnow ag/grep results by matching/excluding lines" single ((:commit . "18cb6b94338f3b7b4f2cd0331dad22f82dd9e0d3") (:keywords "matching") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:url . "https://github.com/dgtized/winnow.el"))]) -(windwow . [(20170816 148) ((dash (2 11 0)) (cl-lib (0 6 1)) (emacs (24))) "simple workspace management" single ((:commit . "77bad26f651744b68d31b389389147014d250f23") (:keywords "frames") (:authors ("Viju Mathew" . "viju.jm@gmail.com")) (:maintainer "Viju Mathew" . "viju.jm@gmail.com") (:url . "github.com/vijumathew/windwow"))]) -(windsize . [(20181029 2257) nil "Simple, intuitive window resizing" single ((:commit . "62c2846bbe95b0a73e996c75e4a644d05f57aaaa") (:keywords "window" "resizing" "convenience") (:authors ("Chris Perkins" . "chrisperkins99@gmail.com")) (:maintainer "Chris Perkins" . "chrisperkins99@gmail.com") (:url . "http://github.com/grammati/windsize"))]) -(window-purpose . [(20190628 1827) ((emacs (24 4)) (let-alist (1 0 3)) (imenu-list (0 1))) "Purpose-based window management for Emacs" tar ((:commit . "f6421966761ad911fe8861aba2b110c5dd60d1ea") (:keywords "frames") (:authors ("Bar Magal")) (:maintainer "Bar Magal") (:url . "https://github.com/bmag/emacs-purpose"))]) -(window-numbering . [(20160809 1810) nil "Numbered window shortcuts" single ((:commit . "10809b3993a97c7b544240bf5d7ce9b1110a1b89") (:keywords "faces" "matching") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:url . "http://nschum.de/src/emacs/window-numbering-mode/"))]) -(window-number . [(20170801 151) nil "Select windows by numbers." single ((:commit . "d41722de646ffeb3f70d26e4a86a5a1ba5c6be87") (:keywords "windows") (:authors ("Johann \"Myrkraverk\" Oskarsson" . "myrkraverk@users.sourceforge.net")) (:maintainer "Nik Nyby" . "niknyby@riseup.net") (:url . "https://github.com/nikolas/window-number"))]) -(window-layout . [(20170215 33) nil "window layout manager" single ((:commit . "cd2e4f967b610c2bbef53182829e47250d027056") (:keywords "window" "layout") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi "))]) -(window-jump . [(20170809 2208) nil "Move left/right/up/down through your windows." single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))]) -(window-end-visible . [(20140508 2041) nil "Find the last visible point in a window" single ((:commit . "525500fb2ebc08f3f9ea493972e5f2e1d79f89ef") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/window-end-visible"))]) -(windata . [(20090830 1040) nil "convert window configuration to list" single ((:commit . "a723fc446ceaec23d5f29ecc8245d94c99d91625") (:keywords "convenience" "frames") (:authors (nil . "wenbinye@gmail.com")) (:maintainer nil . "wenbinye@gmail.com"))]) -(win-switch . [(20161009 1627) nil "fast, dynamic bindings for window-switching/resizing" single ((:commit . "954eb5e4c5737f0c06368c42a7f1c3dd374d782f") (:keywords "window" "switch" "key bindings" "ergonomic" "efficient") (:authors ("Christopher Genovese" . "genovese@cmu.edu")) (:maintainer "Christopher R. Genovese" . "genovese@cmu.edu") (:url . "http://www.stat.cmu.edu/~genovese/emacs/win-switch/"))]) -(wilt . [(20180220 854) ((emacs (24 3)) (dash (2 12 0)) (s (1 10 0))) "An extensions for calculating WILT in a buffer." single ((:commit . "04dbe37fa35d0b24c791421785d2c97a8cbfe2cc") (:authors ("Austin Bingham" . "austin@sixty-north.com")) (:maintainer "Austin Bingham" . "austin@sixty-north.com") (:url . "https://github.com/sixty-north/emacs-wilt"))]) -(wiki-summary . [(20181010 1824) ((emacs (24))) "View Wikipedia summaries in Emacs easily." single ((:commit . "fa41ab6e50b3b80e54148af9d4bac18fd0405000") (:keywords "wikipedia" "utility") (:authors ("Danny Gratzer")) (:maintainer "Danny Gratzer") (:url . "https://github.com/jozefg/wiki-summary.el"))]) -(wiki-nav . [(20150223 1354) ((button-lock (1 0 2)) (nav-flash (1 0 0))) "Simple file navigation using [[WikiStrings]]" single ((:commit . "f9082feb329432fcf2ac49a95e64bed9fda24d58") (:keywords "mouse" "button" "hypermedia" "navigation") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))]) -(widgetjs . [(20160719 1504) ((makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1)) (s (1 9 0))) "Widgetjs mode" single ((:commit . "0379c80a0c2df77cd18e95741caf6fc8acd90a41") (:keywords "help") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) -(widget-mvc . [(20150102 406) nil "MVC framework for the emacs widgets" single ((:commit . "ff5a85880df7b87f9f480fe3c28438a0712b7b87") (:keywords "lisp" "widget") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi "))]) -(wide-column . [(20170925 1613) nil "Calls functions dependant on column position." single ((:commit . "ce9ef4675485a7bea381077866368ef875226b10") (:keywords "minor mode" "cursor colour" "column width") (:authors ("Phillip Lord" . "p.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "p.lord@russet.org.uk"))]) -(whole-line-or-region . [(20190411 215) nil "on current line if region undefined" single ((:commit . "15f17488f98868f1628a3f9d91a812b1f89bc73a") (:keywords "convenience" "wp") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whole-line-or-region"))]) -(whois . [(20190529 1554) ((emacs (24))) "Syntax highlighted domain name queries using system whois" single ((:commit . "b4cdab4d25225c6e834727a7d85cdb0d493da152") (:keywords "network" "comm") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-whois"))]) -(whizzml-mode . [(20190920 2342) ((emacs (24 4))) "Programming mode for editing WhizzML files" tar ((:commit . "5c5be351e11a71b31ede33ce941ce20ee0da75ed") (:keywords "languages" "lisp") (:authors ("Jose Antonio Ortega Ruiz" . "jao@bigml.com")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@bigml.com"))]) -(whitespace-cleanup-mode . [(20190106 2022) nil "Intelligently call whitespace-cleanup on save" single ((:commit . "121854747776df1b78d0ef89efb6d01c2c1e8c89") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))]) -(white-theme . [(20160917 1743) ((emacs (24))) "Minimalistic light color theme inspired by basic-theme" single ((:commit . "e9e6d5b9d43da6eb15e86f5fbc8b1ba83abe8c78") (:keywords "color" "theme" "minimal" "basic" "simple" "white") (:authors ("Anler Hernandez Peral" . "inbox@anler.me")) (:maintainer "Anler Hernandez Peral" . "inbox@anler.me") (:url . "http://github.com/anler/white-theme.el"))]) -(white-sand-theme . [(20151117 1648) ((emacs (24))) "Emacs theme with a light background." single ((:commit . "97621edd69267dd143760d94393db2c2558c9ea4") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) -(whitaker . [(20150814 1122) ((dash (2 10 0))) "Comint interface for Whitaker's Words" single ((:commit . "eaf26ea647b729ca705b73ea70312d5ffdf89448") (:keywords "processes") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) -(which-key-posframe . [(20190427 1103) ((emacs (26 0)) (posframe (0 4 3)) (which-key (3 3 2))) "Using posframe to show which-key" single ((:commit . "e7f28608c7fc9507e407c6b840dff09062df533a") (:keywords "convenience" "bindings" "tooltip") (:authors ("Yanghao Xie")) (:maintainer "Yanghao Xie" . "yhaoxie@gmail.com") (:url . "https://github.com/yanghaoxie/which-key-posframe"))]) -(which-key . [(20191127 1700) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "dcb9820c2decd326465ec3dfc792d30429cec564") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))]) -(what-the-commit . [(20150901 1316) nil "Random commit message generator" single ((:commit . "868c80a1b8614bcbd2225cd0290142c72f2a7956") (:keywords "git" "commit" "message") (:authors ("Dan Barbarito" . "dan@barbarito.me")) (:maintainer "Dan Barbarito" . "dan@barbarito.me") (:url . "http://barbarito.me/"))]) -(wgrep-pt . [(20140510 2231) ((wgrep (2 1 5))) "Writable pt buffer and apply the changes to files" single ((:commit . "379afd89ebd76f63842c8589127d66096a8bb595") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi , Bailey Ling" . "bling@live.ca")) (:maintainer "Masahiro Hayashi , Bailey Ling" . "bling@live.ca") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-pt.el"))]) -(wgrep-helm . [(20190401 2156) ((wgrep (2 1 1))) "Writable helm-grep-mode buffer and apply the changes to files" single ((:commit . "379afd89ebd76f63842c8589127d66096a8bb595") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-helm.el"))]) -(wgrep-ag . [(20181229 124) ((wgrep (2 1 5))) "Writable ag buffer and apply the changes to files" single ((:commit . "379afd89ebd76f63842c8589127d66096a8bb595") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-ag.el"))]) -(wgrep-ack . [(20141012 1011) ((wgrep (2 1 1))) "Writable ack-and-a-half buffer and apply the changes to files" single ((:commit . "379afd89ebd76f63842c8589127d66096a8bb595") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-ack.el"))]) -(wgrep . [(20181229 40) nil "Writable grep buffer and apply the changes to files" single ((:commit . "379afd89ebd76f63842c8589127d66096a8bb595") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep.el"))]) -(weibo . [(20150307 2242) ((cl-lib (0 5))) "Weibo client for Emacs" tar ((:commit . "a8abb50b7602fe15fe2bc6400ac29780e956b390") (:keywords "weibo") (:authors ("Austin" . "austiny.cn@gmail.com")) (:maintainer "Austin" . "austiny.cn@gmail.com") (:url . "https://github.com/austin-----/weibo.emacs"))]) -(weechat-alert . [(20160416 1248) ((weechat (0 3 1)) (cl-lib (0 5)) (alert (1 2))) "Weechat notifier using alerts" single ((:commit . "a8fd557c8f335322f132c1c6c08b6741d6394e2e") (:keywords "irc" "chat" "network" "weechat") (:authors ("Andreas Klein" . "git@kungi.org")) (:maintainer "Andreas Klein" . "git@kungi.org") (:url . "https://github.com/kungi/weechat-alert"))]) -(weechat . [(20190520 1551) ((s (1 3 1)) (cl-lib (0 2)) (emacs (24)) (tracking (1 2))) "Chat via WeeChat's relay protocol in Emacs" tar ((:commit . "d9a13306ea8be27367f92e9202d116a88fa1f441"))]) -(wedge-ws . [(20140714 2149) nil "Wedge whitespace between columns in text" single ((:commit . "4669115f02d9c6fee067cc5369bb38c0f9db88b2") (:keywords "formatting" "indentation") (:authors ("Anders Eurenius" . "aes@spotify.com")) (:maintainer "Anders Eurenius" . "aes@spotify.com"))]) -(websocket . [(20191123 2208) ((cl-lib (0 5))) "Emacs WebSocket client and server" single ((:commit . "74e4b82bf1a2e9197875ebcc20c494b506095235") (:keywords "communication" "websocket" "server") (:authors ("Andrew Hyatt" . "ahyatt@gmail.com")) (:maintainer "Andrew Hyatt" . "ahyatt@gmail.com"))]) -(webpaste . [(20191127 720) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "01a65a0f56c5cbf3bd1527d38dcc0f7e68c77d98") (:keywords "convenience" "comm" "paste") (:authors ("Elis \"etu\" Hirwing")) (:maintainer "Elis \"etu\" Hirwing") (:url . "https://github.com/etu/webpaste.el"))]) -(weblogger . [(20110926 1618) ((xml-rpc (1 6 8))) "Weblog maintenance via XML-RPC APIs" single ((:commit . "b3dd4aead9d3a87e6d85e7fef4f4f3bd40d87b53") (:keywords "weblog" "blogger" "cms" "movable" "type" "openweblog" "blog") (:url . "http://launchpad.net/weblogger-el"))]) -(webkit-color-picker . [(20180325 736) ((emacs (26 0)) (posframe (0 1 0))) "Insert and adjust colors using Webkit Widgets" tar ((:commit . "765cac80144cad4bc0bf59025ea0199f0486f737") (:keywords "tools") (:authors ("Ozan Sener" . "hi@ozan.email")) (:maintainer "Ozan Sener" . "hi@ozan.email") (:url . "https://github.com/osener/emacs-webkit-color-picker"))]) -(web-server . [(20190310 213) ((emacs (24 3))) "Emacs Web Server" tar ((:commit . "cafa5b7582c57252a0884b2c33da9b18fb678713") (:keywords "http" "server" "network") (:authors ("Eric Schulte" . "schulte.eric@gmail.com")) (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") (:url . "https://github.com/eschulte/emacs-web-server"))]) -(web-search . [(20190620 602) ((emacs (24 3))) "Open a web search" tar ((:commit . "a22cbdc663a1895d5a5b69de91e1e3b9eb64b92f") (:keywords "web" "search") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/web-search.el"))]) -(web-narrow-mode . [(20170407 210) ((web-mode (14 0 27))) "quick narrow code block in web-mode" single ((:commit . "73bdcb7d0701abe65dab4fc295d944885e05ae33") (:keywords "web-mode" "react" "narrow" "web") (:authors ("Qquanwei" . "quanwei9958@126.com")) (:maintainer "Johan Andersson" . "quanwei9958@126.com") (:url . "https://github.com/Qquanwei/web-narrow-mode"))]) -(web-mode-edit-element . [(20190531 852) ((emacs (24 4)) (web-mode (14))) "Helper-functions for attribute- and element-handling" tar ((:commit . "ad5d7e4dc2420bdd00ce65d9adffbd38a5904afa") (:keywords "languages" "convenience") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/web-mode-edit-element"))]) -(web-mode . [(20191104 1859) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "cd000fcfce97152f8b831b7eef4ea0d0b1eed11a") (:keywords "languages") (:authors ("François-Xavier Bois ")) (:maintainer "François-Xavier Bois") (:url . "http://web-mode.org"))]) -(web-completion-data . [(20160318 848) nil "Shared completion data for ac-html and company-web" tar ((:commit . "c272c94e8a71b779c29653a532f619acad433a4f") (:keywords "html" "auto-complete" "company") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/web-completion-data"))]) -(web-beautify . [(20161115 2247) nil "Format HTML, CSS and JavaScript/JSON" single ((:commit . "e1b45321d8c11b404b12c8e55afe55eaa7c84ee9") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/web-beautify"))]) -(web . [(20141231 2001) ((dash (2 9 0)) (s (1 5 0))) "useful HTTP client" single ((:commit . "483188dac4bc6b409b985c9dae45f3324a425efd") (:keywords "lisp" "http" "hypermedia") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-web"))]) -(weather-metno . [(20150901 107) ((emacs (24)) (cl-lib (0 3))) "Weather data from met.no in Emacs" tar ((:commit . "bfc7137095e0ee71aad70ac46f2af677f3c051b6"))]) -(wdl-mode . [(20180831 1946) nil "WDL (Workflow Definition Language) major mode" single ((:commit . "cef86e5afc136ae5ad9324cd6e6d6f860b889bcf") (:keywords "languages") (:authors ("Xiaowei Zhan" . "zhanxw@gmail.com")) (:maintainer "Xiaowei Zhan" . "zhanxw@gmail.com") (:url . "http://github.com/zhanxw/wdl-mode"))]) -(wcheck-mode . [(20190626 1839) nil "General interface for text checkers" tar ((:commit . "271198bca70c05b4591c836d3c670b72cdfabe9c"))]) -(wc-mode . [(20170127 429) nil "Running word count with goals (minor mode)" single ((:commit . "f218f42709a651b34d6c1ddd98856f44648ef707") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-mode"))]) -(wc-goal-mode . [(20140829 1359) nil "Running word count with goals (minor mode)" single ((:commit . "bf21ab9c5a449bcc20dd207a4915dcec218d2699") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-goal-mode"))]) -(wavefront-obj-mode . [(20170808 1716) nil "Major mode for Wavefront obj files" single ((:commit . "34027915de6496460d8e68b5991dd24d47d54859") (:authors ("Sasha Kovar" . "sasha-emacs@arcocene.org")) (:maintainer "Sasha Kovar" . "sasha-emacs@arcocene.org") (:url . "http://github.com/abend/wavefront-obj-mode"))]) -(watch-buffer . [(20120331 2044) nil "run a shell command when saving a buffer" single ((:commit . "761fd7252e6d7bf5148283c2a7ee935f087d9427") (:keywords "automation" "convenience") (:authors ("Michael Steger" . "mjsteger1@gmail.com")) (:maintainer "Michael Steger" . "mjsteger1@gmail.com") (:url . "https://github.com/mjsteger/watch-buffer"))]) -(warm-night-theme . [(20161101 1428) ((emacs (24))) "Emacs 24 theme with a dark background." single ((:commit . "020f084d23409b5035150508ba6e57c2509edd64") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) -(wanderlust . [(20190919 859) ((semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "7a919e422a48f5021576e68282703de430558879"))]) -(wandbox . [(20170603 1231) ((emacs (24)) (request (0 3 0)) (s (1 10 0))) "Wandbox client" tar ((:commit . "e002fe41f2cd9b4ce2b1dc80b83301176e9117f1") (:keywords "tools") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/emacs-wandbox"))]) -(wand . [(20191122 1408) ((dash (2 15 0)) (s (0 1 1))) "Magic wand for Emacs - Select and execute" tar ((:commit . "93a5a4ecab1973e5846b35f856391daf8068d12e") (:keywords "extensions" "tools") (:authors ("Ha-Duong Nguyen ")) (:maintainer "Ha-Duong Nguyen ") (:url . "https://github.com/cmpitg/wand"))]) -(walkclj . [(20180718 900) ((emacs (25)) (parseclj (0 1 0)) (treepy (0 1 0))) "Manipulate Clojure parse trees" single ((:commit . "2e54fa813b11d1a87c890cdf117f30165a193024") (:keywords "languages") (:authors ("Arne Brasseur")) (:maintainer "Arne Brasseur") (:url . "https://github.com/plexus/walkclj"))]) -(wakib-keys . [(20190910 1011) ((emacs (24 4))) "Minor Mode for Modern Keybindings" single ((:commit . "23237fc2c255de798b8d3fc2cb68c7c22b53caa9") (:keywords "convenience" "keybindings" "keys") (:authors ("Abdulla Bubshait")) (:maintainer "Abdulla Bubshait") (:url . "https://github.com/darkstego/wakib-keys/"))]) -(wakatime-mode . [(20180920 702) nil "Automatic time tracking extension for WakaTime" single ((:commit . "2531cb58287770883ba534d20b3288955c4d6ef3") (:keywords "calendar" "comm") (:authors ("Gabor Torok" . "gabor@20y.hu")) (:maintainer "Alan Hamlett" . "alan@wakatime.com"))]) -(waher-theme . [(20141115 1230) ((emacs (24 1))) "Emacs 24 theme based on waher for st2 by dduckster" single ((:commit . "60d31519fcfd8e797723d47961b255ae2f2e2c0a") (:authors ("Jasonm23" . "jasonm23@gmail.com")) (:maintainer "Jasonm23" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-waher-theme"))]) -(waf-mode . [(20170403 1940) nil "Waf integration for Emacs" single ((:commit . "20c75eabd1d54fbce8e0dbef785c9fb68577ee4f") (:authors ("Denys Valchuk" . "dvalchuk@gmail.com")) (:maintainer "Denys Valchuk" . "dvalchuk@gmail.com") (:url . "https://bitbucket.org/dvalchuk/waf-mode"))]) -(wacspace . [(20180311 2350) ((dash (1 2 0)) (cl-lib (0 2))) "The WACky WorkSPACE manager for emACS" tar ((:commit . "54d19aab6fd2bc5945b7ffc58104e695064927e2"))]) -(w3m . [(20191128 343) nil "an Emacs interface to w3m" tar ((:commit . "20976387f5f43db537b05561a359e9f43bbfed27") (:keywords "w3m" "www" "hypermedia"))]) -(w32-browser . [(20170101 1954) nil "Run Windows application associated with a file." single ((:commit . "e5c60eafd8f8d3546a0fa295ad5af2414d36b4e6") (:keywords "mouse" "dired" "w32" "explorer") (:authors ("Emacs Wiki, Drew Adams")) (:maintainer nil . "Drew Adams (concat \"drew.adams\" \"@\" \"oracle\" \".com\")") (:url . "http://www.emacswiki.org/w32-browser.el"))]) -(vyper-mode . [(20180707 1935) ((emacs (24 3))) "Major mode for the Vyper programming language" single ((:commit . "323dfddfc38f0b11697e9ebaf04d1b53297e54e5") (:keywords "languages") (:authors ("Alex Stokes" . "r.alex.stokes@gmail.com")) (:maintainer "Alex Stokes" . "r.alex.stokes@gmail.com") (:url . "https://github.com/ralexstokes/vyper-mode"))]) -(vue-mode . [(20190415 231) ((mmm-mode (0 5 5)) (vue-html-mode (0 2)) (ssass-mode (0 2)) (edit-indirect (0 1 4))) "Major mode for vue component based on mmm-mode" single ((:commit . "031edd1f97db6e7d8d6c295c0e6d58dd128b9e71") (:keywords "languages") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))]) -(vue-html-mode . [(20180428 2035) nil "Major mode for editing Vue.js templates" single ((:commit . "1514939804bad558584feeb6298b38d22eadf64e") (:keywords "languages" "vue" "template") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/vue-html-mode"))]) -(vterm-toggle . [(20191117 805) ((emacs (25 1)) (vterm (0 0 1))) "Toggles between the vterm buffer and other buffers." single ((:commit . "003f8537b3f26000006847a0a52aaf4e2fe3051b") (:keywords "vterm" "terminals") (:authors (nil . "jixiuf jixiuf@qq.com")) (:maintainer nil . "jixiuf jixiuf@qq.com") (:url . "https://github.com/jixiuf/vterm-toggle"))]) -(vterm . [(20191123 335) ((emacs (25 1))) "This package implements a terminal via libvterm" tar ((:commit . "0feda596d541c17249a0dc78365e6733b1651d6c") (:keywords "terminals") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:url . "https://github.com/akermu/emacs-libvterm"))]) -(vscode-icon . [(20191102 2010) ((emacs (25 1))) "Utility package to provide Vscode style icons" tar ((:commit . "4304e9f0a47406048129dc62171f08b67325a2ed") (:keywords "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/vscode-icon-emacs"))]) -(volume . [(20150718 2009) nil "tweak your sound card volume from Emacs" single ((:commit . "ecc1550b3c8b501d37e0f0116b54b535d15f90f6") (:authors ("Daniel Brockman" . "daniel@brockman.se")) (:maintainer "Daniel Brockman" . "daniel@brockman.se") (:url . "http://www.brockman.se/software/volume-el/"))]) -(volatile-highlights . [(20160612 155) nil "Minor mode for visual feedback on some operations." single ((:commit . "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392") (:keywords "emulations" "convenience" "wp") (:authors ("K-talo Miyazaki ")) (:maintainer "K-talo Miyazaki ") (:url . "http://www.emacswiki.org/emacs/download/volatile-highlights.el"))]) -(voca-builder . [(20161101 1645) ((popup (0 5 2))) "Helps you build up your vocabulary" single ((:commit . "51573beec8cd8308477b0faf453aad93e17f57c5") (:keywords "english" "vocabulary") (:authors ("Yi Tang" . "yi.tang.uk@me.com")) (:maintainer "Yi Tang" . "yi.tang.uk@me.com") (:url . "https://github.com/yitang/voca-builder"))]) -(vmd-mode . [(20190929 735) ((emacs (24 3))) "Fast Github-flavored Markdown preview using a vmd subprocess." single ((:commit . "aa9b753601ee1ed31b4f717629179ce7a2cacba5") (:keywords "markdown" "preview" "live" "vmd") (:authors ("Blake Miller" . "blak3mill3r@gmail.com")) (:maintainer "Blake Miller" . "blak3mill3r@gmail.com") (:url . "https://github.com/blak3mill3r/vmd-mode"))]) -(vlf . [(20191126 2250) nil "View Large Files" tar ((:commit . "cc02f2533782d6b9b628cec7e2dcf25b2d05a27c") (:keywords "large files" "utilities") (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/vlfi"))]) -(visual-regexp-steroids . [(20170222 253) ((visual-regexp (1 1))) "Extends visual-regexp to support other regexp engines" tar ((:commit . "a6420b25ec0fbba43bf57875827092e1196d8a9e") (:keywords "external" "foreign" "regexp" "replace" "python" "visual" "feedback") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/visual-regexp-steroids.el/"))]) -(visual-regexp . [(20190414 814) ((cl-lib (0 2))) "A regexp/replace command for Emacs with interactive visual feedback" single ((:commit . "3e3ed81a3cbadef1f1f4cb16f9112a58641d70ca") (:keywords "regexp" "replace" "visual" "feedback") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/visual-regexp.el/"))]) -(visual-fill-column . [(20190422 2154) ((emacs (24 3))) "fill-column for visual-line-mode" single ((:commit . "772d4b25ba19f57409cd03524be0f5bfdc2e8da1") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) -(visual-ascii-mode . [(20150129 1046) nil "Visualize ascii code (small integer) on buffer." single ((:commit . "99285a099a17472ddd9f1b4f74e9d092dd8c5947") (:keywords "presentation") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "https://github.com/Dewdrops/visual-ascii-mode"))]) -(visible-mark . [(20150624 450) nil "Make marks visible." single ((:commit . "a584db9bc88953b23a9648b3e14ade90767207f8") (:keywords "marking" "color" "faces") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:url . "https://gitlab.com/iankelling/visible-mark"))]) -(virtualenvwrapper . [(20190223 1919) ((dash (1 5 0)) (s (1 6 1))) "a featureful virtualenv tool for Emacs" single ((:commit . "107e7e0bf923f44d217712772cd58b414d0065cb") (:keywords "python" "virtualenv" "virtualenvwrapper") (:authors ("James J Porter" . "porterjamesj@gmail.com")) (:maintainer "James J Porter" . "porterjamesj@gmail.com") (:url . "http://github.com/porterjamesj/virtualenvwrapper.el"))]) -(virtualenv . [(20140220 2301) nil "Virtualenv for Python" single ((:commit . "276c0f4d6493b402dc4d22ecdf17b2b072e911b3") (:keywords "python" "virtualenv") (:authors ("Aaron Culich" . "aculich@gmail.com")) (:maintainer "Aaron Culich" . "aculich@gmail.com"))]) -(vimrc-mode . [(20181116 1919) nil "Major mode for vimrc files" single ((:commit . "13bc150a870d5d4a95f1111e4740e2b22813c30e") (:keywords "languages" "vim") (:url . "https://github.com/mcandre/vimrc-mode"))]) -(vimish-fold . [(20190713 1333) ((emacs (24 4)) (cl-lib (0 5)) (f (0 18 0))) "Fold text like in Vim" single ((:commit . "863bef039672693566cfcfe1d0ad236d3af48fea") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/vimish-fold"))]) -(vim-region . [(20140329 1624) ((expand-region (20140127))) "Select region as vim" single ((:commit . "7c4a99ce3678fee40c83ab88e8ad075d2a935fdf") (:authors ("ongaeshi" . "ongaeshi0621@gmail.com")) (:maintainer "ongaeshi" . "ongaeshi0621@gmail.com") (:url . "https://github.com/ongaeshi/emacs-vim-region"))]) -(vim-empty-lines-mode . [(20150111 426) ((emacs (23))) "Vim-like empty line indicator at end of files." single ((:commit . "d4a5034ca8ea0c962ad6e92c86c0fa2a74d2964b") (:keywords "emulations") (:authors ("Jonne Mickelin" . "jonne@ljhms.com")) (:maintainer "Jonne Mickelin" . "jonne@ljhms.com") (:url . "https://github.com/jmickelin/vim-empty-lines-mode"))]) -(viking-mode . [(20160705 2027) nil "kill first, ask later" single ((:commit . "c76aa265d13ad91d6890d242e142d05e31f0340b") (:keywords "kill" "delete") (:authors ("T.v.Dein" . "tlinden@cpan.org")) (:maintainer "T.v.Dein" . "tlinden@cpan.org") (:url . "https://github.com/tlinden/viking-mode"))]) -(viewer . [(20170107 202) nil "View-mode extension" single ((:commit . "6c8db025bf4021428f7f2c3ef9d74fb13f5d267a") (:keywords "view" "extensions") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://github.com/rubikitch/viewer/"))]) -(vi-tilde-fringe . [(20141028 242) ((emacs (24))) "Displays tildes in the fringe on empty lines a la Vi." single ((:commit . "f1597a8d54535bb1d84b442577b2024e6f910308") (:keywords "emulation") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:url . "https://github.com/syl20bnr/vi-tilde-fringe"))]) -(vhdl-tools . [(20191127 2102) ((ggtags (0 8 13)) (emacs (26 2)) (helm-rg (0 1)) (outshine (0))) "Utilities for navigating vhdl sources." single ((:commit . "e174a7077eb8b80cd76bb9688a4a5f08a747f212") (:keywords "languages" "convenience") (:authors ("Cayetano Santos")) (:maintainer "Cayetano Santos") (:url . "https://github.com/csantosb/vhdl-tools/wiki"))]) -(vhdl-capf . [(20160221 1734) nil "Completion at point function (capf) for vhdl-mode." single ((:commit . "290abe217050f33532bc9ccb04f894123402f414") (:keywords "convenience" "usability" "vhdl" "completion") (:authors ("sh-ow" . "sh-ow@users.noreply.github.com")) (:maintainer "sh-ow" . "sh-ow@users.noreply.github.com") (:url . "https://github.com/sh-ow/vhdl-capf"))]) -(vertigo . [(20180829 2230) ((dash (2 11 0))) "Jump across lines using the home row." single ((:commit . "6303d17270ea92290a6960890bca515274f1682b") (:keywords "vim" "vertigo") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/vertigo.el"))]) -(vertica-snippets . [(20191007 1546) ((yasnippet (0 6 1))) "Yasnippets for Vertica" tar ((:commit . "5750f359de2956f853b131c46cf56726a5a5dfd3") (:keywords "convenience" "snippets") (:authors ("Andreas Gerler" . "baron@bundesbrandschatzamt.de")) (:maintainer "Andreas Gerler" . "baron@bundesbrandschatzamt.de") (:url . "https://github.com/baron42bba/vertica-snippets"))]) -(vertica . [(20131217 1511) ((sql (3 0))) "Vertica SQL mode extension" single ((:commit . "3c9647b425c5c13c30bf0cba483646af18196588") (:keywords "sql" "vertica") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com"))]) -(verify-url . [(20160426 1228) ((cl-lib (0 5))) "find out invalid urls in the buffer or region" single ((:commit . "d6f3623cda8cd526a2d198619b137059cb1ba1ab") (:keywords "convenience" "usability" "url") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/verify-url"))]) -(veri-kompass . [(20181110 933) ((emacs (25)) (cl-lib (0 5)) (org (8 2 0))) "verilog codebase navigation facility" single ((:commit . "8638eea5a14f9834c001c943e7c22d8d90abc455") (:keywords "languages" "extensions" "verilog" "hardware" "rtl") (:maintainer nil . "andrea_corallo@yahoo.it") (:url . "https://gitlab.com/koral/veri-kompass"))]) -(vector-utils . [(20140508 2041) nil "Vector-manipulation utility functions" single ((:commit . "c38ca1c6a23b2b51a6ac36c2c64e50e21cbe9d21") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/vector-utils"))]) -(vdm-snippets . [(20190313 1122) ((emacs (24)) (yasnippet (0 13 0))) "YASnippets for VDM mode" tar ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))]) -(vdm-mode . [(20190328 1408) ((emacs (25))) "Major mode for the Vienna Development Method" tar ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))]) -(vdm-comint . [(20181127 2023) ((emacs (25)) (vdm-mode (0 0 4))) "REPL support for vdm-mode" single ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))]) -(vdirel . [(20190430 624) ((emacs (24 4)) (org-vcard (0 1 0)) (helm (1 7 0)) (seq (1 11))) "Manipulate vdir (i.e., vCard) repositories" single ((:commit . "a9ef32a70a1f14416e3dc5fee478ce138cc011d3") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/vdirel"))]) -(vdiff-magit . [(20190304 1707) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0)) (transient (0 1 0))) "magit integration for vdiff" single ((:commit . "b100d126c69e5c26a61ae05aa1778bcc4302b597") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff-magit"))]) -(vdiff . [(20190227 303) ((emacs (24 4)) (hydra (0 13 0))) "A diff tool similar to vimdiff" single ((:commit . "09e15fc932bfd2febe1d4a65780a532394562b07") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff"))]) -(vdf-mode . [(20191122 823) ((emacs (24 3))) "Major mode for editing Valve VDF files." single ((:commit . "35f5c3531b256b6578b9878ac2ce1ed79b3c8511") (:authors ("Philipp Middendorf")) (:maintainer "Philipp Middendorf") (:url . "https://github.com/plapadoo/vdf-mode"))]) -(vcsh . [(20191007 1102) ((emacs (25))) "vcsh integration" single ((:commit . "cbb2b387ea035ee4f95455964144d699f573491d") (:keywords "vc" "files") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:url . "https://gitlab.com/stepnem/vcsh-el"))]) -(vcomp . [(20190128 20) nil "compare version strings" single ((:commit . "f839b3b3257a564b19d7f9557dc8bcbbe0b95842") (:keywords "versions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/vcomp"))]) -(vc-osc . [(20190402 2349) nil "non-resident support for osc version-control" single ((:commit . "bf5a515ed85f7d7cdfe66ed5bf4ef7554f8561e5") (:authors ("Adam Spiers (see vc.el for full credits)")) (:maintainer "Adam Spiers" . "aspiers@suse.com"))]) -(vc-msg . [(20191128 1010) ((emacs (24 4)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "93794111daa95b809e46e6d961ad5f68eb8f78ed") (:keywords "git" "vc" "svn" "hg" "messenger") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:url . "http://github.com/redguardtoo/vc-msg"))]) -(vc-hgcmd . [(20191128 1917) ((emacs (25 1))) "VC mercurial backend that uses hg command server" single ((:commit . "92e0121797b62cbece9cb44750c54f1bd4f65436") (:keywords "vc") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-vc-hgcmd"))]) -(vc-fossil . [(20180215 1635) nil "VC backend for the fossil sofware configuraiton management system" tar ((:commit . "7c5af95181213db38f81f5f9586f3334301a3ea0") (:authors ("Venkat Iyer" . "venkat@comit.com")) (:maintainer "Venkat Iyer" . "venkat@comit.com"))]) -(vc-darcs . [(20170905 320) ((emacs (24))) "a VC backend for darcs" single ((:commit . "390fb1ebdda1ffac45b9be02626dde3b6d95ac11") (:keywords "vc") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx") ("Juliusz Chroboczek" . "jch@pps.univ-paris-diderot.fr")) (:maintainer "Libor Čapák" . "capak@inputwish.com"))]) -(vc-check-status . [(20170107 1334) nil "Warn you when quitting emacs and leaving repo dirty." tar ((:commit . "37734beb16bfd8633ea328059bf9a47eed826d5c") (:keywords "vc" "convenience") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:url . "https://github.com/thisirs/vc-check-status"))]) -(vc-auto-commit . [(20170107 1333) nil "Auto-committing feature for your repository" tar ((:commit . "446f664f4ec835532f4f18ba18b5fb731f6030aa") (:keywords "vc" "convenience") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:url . "http://github.com/thisirs/vc-auto-commit.git"))]) -(vbasense . [(20140221 2353) ((auto-complete (1 4 0)) (log4e (0 2 0)) (yaxception (0 1))) "provide a environment like Visual Basic Editor." tar ((:commit . "8c61a492d7c15218ae1a96e2aebfe6f78bfff6db") (:keywords "vba" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-vbasense"))]) -(vale-mode . [(20190725 125) ((emacs (25))) "Major mode for writing Vale vaf files" single ((:commit . "48bbc4b4ee5bf0b1b73e52705c0fbc112b255cd0") (:keywords "convenience" "languages") (:authors ("Jay Bosamiya" . "jaybosamiya@gmail.com")) (:maintainer "Jay Bosamiya" . "jaybosamiya@gmail.com") (:url . "https://github.com/jaybosamiya/vale-mode.el"))]) -(vala-snippets . [(20150429 352) ((yasnippet (0 8 0))) "Yasnippets for Vala" tar ((:commit . "671439501060449bd100b9fffd524a86064fbfbb") (:authors ("Daniel Gopar")) (:maintainer "Daniel Gopar") (:url . "https://github.com/gopar/vala-snippets"))]) -(vala-mode . [(20150324 2225) nil "Vala mode derived mode" single ((:commit . "fb2871a4492d75d03d72e60474919ab89adb267b") (:keywords "vala" "languages" "oop") (:authors ("2005 Dylan R. E. Moonfire") (" 2008 Étienne BERSAC")) (:maintainer "Étienne BERSAC" . "bersace03@laposte.net"))]) -(vagrant-tramp . [(20190816 1846) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "47c6fdc07722934eacce9f91c47bb1ee7d46b86f") (:keywords "vagrant") (:authors ("Doug MacEachern" . "dougm@vmware.com") ("Ryan Prior " . "ryanprior@gmail.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:url . "https://github.com/dougm/vagrant-tramp"))]) -(vagrant . [(20170301 2206) nil "Manage a vagrant box from emacs" single ((:commit . "636ce2f9af32ea199170335a9cf1201b64873440") (:keywords "vagrant" "chef") (:authors ("Robert Crim" . "rob@servermilk.com")) (:maintainer "Robert Crim" . "rob@servermilk.com") (:url . "https://github.com/ottbot/vagrant.el"))]) -(v2ex-mode . [(20160720 345) ((cl-lib (0 5)) (request (0 2)) (let-alist (1 0 3))) "Major mode for visit http://v2ex.com/ site." single ((:commit . "b7d19bb594b43ea3824a6f215dd1e5d1d4c0e8ad") (:keywords "v2ex" "v2ex.com") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:url . "https://github.com/aborn/v2ex-mode"))]) -(uuidgen . [(20140918 2301) nil "Provides various UUID generating functions" single ((:commit . "7eb96415484c3854a3f383d1a3e10b87ae674e22") (:keywords "extensions" "lisp" "tools") (:authors ("Kan-Ru Chen" . "koster@debian.org")) (:maintainer "Kan-Ru Chen" . "koster@debian.org"))]) -(uuid . [(20120910 851) nil "UUID's for EmacsLisp" single ((:commit . "1519bfeb0e31602b840bc8dd35d7c7e732c159fe") (:keywords "lisp") (:authors ("James Mastros")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) -(utop . [(20190715 1836) ((emacs (24))) "Universal toplevel for OCaml" single ((:commit . "83ee76fc39b6cb394f5fb19063a3a7da09224339") (:keywords "ocaml" "languages") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:url . "https://github.com/diml/utop"))]) -(usql . [(20180305 2323) ((emacs (25 1))) "U-SQL support for sql-mode" single ((:commit . "bfaf428b366a9a185eef84f0d645a98dc918fe3d") (:keywords "languages") (:authors ("Nicholas Barnwell" . "nb@ul.io")) (:maintainer "Nicholas Barnwell" . "nb@ul.io") (:url . "https://github.com/nickbarwell/usql.el"))]) -(use-ttf . [(20190823 939) ((emacs (24 4)) (s (1 12 0))) "Keep font consistency across different OSs." single ((:commit . "8c7f50a2b6f5bd55cdd92e351371386ff4b6edce") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/use-ttf"))]) -(use-package-hydra . [(20181228 745) ((emacs (24 3)) (use-package (2 4))) "Adds :hydra keyword to use-package macro" single ((:commit . "8cd55a1128fbdf6327bb38a199d206225896d146") (:keywords "convenience" "extensions" "tools") (:authors ("Toon Claes" . "toon@iotcl.com")) (:maintainer "Toon Claes" . "toon@iotcl.com") (:url . "https://gitlab.com/to1ne/use-package-hydra"))]) -(use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "4b58ab78177f636f862a66c7a8fdcf9b070e0925") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-ensure-system-package"))]) -(use-package-el-get . [(20180131 505) ((use-package (1 0))) "el-get support for use package" single ((:commit . "cba87c4e9a3a66b7c10962e3aefdf11c83d737bc") (:keywords "dotemacs" "startup" "speed" "config" "package" "tools") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:url . "https://github.com/edvorg/use-package-el-get"))]) -(use-package-chords . [(20181024 2322) ((use-package (2 1)) (bind-key (1 0)) (bind-chord (0 2)) (key-chord (0 6))) "key-chord keyword for use-package" single ((:commit . "4b58ab78177f636f862a66c7a8fdcf9b070e0925") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-chords"))]) -(use-package . [(20191126 2034) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "4b58ab78177f636f862a66c7a8fdcf9b070e0925") (:keywords "dotemacs" "startup" "speed" "config" "package") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/use-package"))]) -(usage-memo . [(20170926 37) nil "integration of Emacs help system and memo" single ((:commit . "88e15a9942a3e0a6e36e9c3e51e3edb746067b1a") (:keywords "convenience" "languages" "lisp" "help" "tools" "docs") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/usage-memo.el"))]) -(urscript-mode . [(20190219 1604) ((emacs (24 4))) "major mode for editing URScript." single ((:commit . "b341f96b129ead8fb74d680cb4f546985bf110a9") (:keywords "languages") (:authors ("Guido Schmidt" . "git@guidoschmidt.cc")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:url . "https://github.com/guidoschmidt/urscript-mode"))]) -(urlenc . [(20140116 1456) nil "URL encoding/decoding utility for Emacs." single ((:commit . "835a6dcb783bbe84714bae87a3464aa0b128bfac") (:keywords "url") (:authors ("Taiki SUGAWARA" . "buzz.taiki@gmail.com")) (:maintainer "Taiki SUGAWARA" . "buzz.taiki@gmail.com") (:url . "https://github.com/buzztaiki/urlenc-el"))]) -(url-shortener . [(20170805 242) nil "shorten long url and expand tinyurl" single ((:commit . "06db8270213b9e352d6c335b0663059a1353d05e") (:authors ("Yu Yang" . "yy2012cn@NOSPAM.gmail.com")) (:maintainer "Yu Yang" . "yy2012cn@NOSPAM.gmail.com") (:url . "https://github.com/yuyang0/url-shortener"))]) -(uptimes . [(20191121 1030) ((cl-lib (0 5)) (emacs (24))) "Track and display Emacs session uptimes." single ((:commit . "29ae6585eeed5a00719b2e52f5ae1082087c1778") (:keywords "processes" "uptime") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/uptimes.el"))]) -(upbo . [(20180422 822) ((dash (2 12 0)) (emacs (24 4))) "Karma Test Runner Integration" single ((:commit . "1e4b1e7f44f242a6cdcce0c157d07efe667b7bef") (:keywords "javascript" "js" "test" "karma") (:authors ("Sungho Kim(shiren)")) (:maintainer "Sungho Kim(shiren)") (:url . "http://github.com/shiren"))]) -(untitled-new-buffer . [(20161212 1508) ((emacs (24 4)) (magic-filetype (0 2 0))) "Open untitled new buffer like other text editors." single ((:commit . "4eabc6937b0e83062ffce9de0d42110224063a6c") (:keywords "files" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/untitled-new-buffer.el"))]) -(unkillable-scratch . [(20190309 17) ((emacs (24))) "Disallow the \\*scratch\\* buffer from being killed" single ((:commit . "b24c2a760529833f230c14cb02ff6e7ec92288ab") (:keywords "convenience") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.com")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.com") (:url . "https://github.com/EricCrosson/unkillable-scratch"))]) -(universal-emotions-emoticons . [(20180729 1941) ((emacs (24 4))) "Emoticons For The Six Universal Expressions" single ((:commit . "9cedd09ee65cb9fa71f27b0ab46a8353bdc00902") (:keywords "convenience" "docs" "languages") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "") (:url . "https://github.com/grettke/universal-emotions-emoticons"))]) -(unison-mode . [(20160513 1501) nil "Syntax highlighting for unison file synchronization program" single ((:commit . "0bd6a65c0d12f87fcf7bdff15fe54444959b93bf") (:keywords "symchronization" "unison") (:authors ("Karl Fogelmark" . "karlfogel@gmail.com")) (:maintainer "Karl Fogelmark" . "karlfogel@gmail.com") (:url . "https://github.com/impaktor/unison-mode"))]) -(unison . [(20160704 740) ((emacs (24 1))) "sync with Unison" single ((:commit . "a78a04c0d1398d00f75a1bd4799622a65bcb0f28") (:keywords "sync") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://github.com/unhammer/unison.el"))]) -(unipoint . [(20140113 2224) nil "a simple way to insert unicode characters by TeX name" single ((:commit . "5da04aebac35a5c9e1d8704f2231808d42f4b36a") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:url . "https://github.com/apgwoz/unipoint"))]) -(unify-opening . [(20171122 2012) ((emacs (24 4))) "Unify the mechanism to open files" single ((:commit . "502469ddba6d8d52159f53976265f7d956b6b17c") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/unify-opening"))]) -(unidecode . [(20180312 1926) nil "Transliterate Unicode to ASCII" tar ((:commit . "5502ada9287b4012eabb879f12f5b0a9df52c5b7") (:authors ("sindikat ")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com"))]) -(unicode-whitespace . [(20140508 2041) ((ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "teach whitespace-mode about fancy characters" single ((:commit . "a18c6b38d78b94f2eb1dcc4cb4fa91b6a17efabe") (:keywords "faces" "wp" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-whitespace"))]) -(unicode-troll-stopper . [(20190209 411) nil "Minor mode for Highlighting Unicode homoglyphs" single ((:commit . "5e8be35a7bf6382384a701663f7438ee27e4b67c") (:keywords "unicode") (:authors ("Cam Saül" . "cammsaul@gmail.com")) (:maintainer "Cam Saül" . "cammsaul@gmail.com") (:url . "https://github.com/camsaul/emacs-unicode-troll-stopper"))]) -(unicode-progress-reporter . [(20140508 2041) ((emacs (24 1 0)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Progress-reporter with fancy characters" single ((:commit . "5e66724fd7d15743213b082474d798117b194494") (:keywords "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-progress-reporter"))]) -(unicode-math-input . [(20190813 1436) ((emacs (25))) "Insert Unicode math symbols using TeX notation" single ((:commit . "ba45edbfb8fa453e29c4c6c73af60f06637951d6") (:authors ("Augusto Stoffel")) (:maintainer "Augusto Stoffel") (:url . "https://github.com/astoff/unicode-math-input.el"))]) -(unicode-input . [(20141219 720) nil "Support for unicode character input" single ((:commit . "e76ccb549e6a2a66c373da927eb65d69353e07db") (:keywords "unicode" "input") (:authors ("m00nlight" . "dot_wangyushi@yeah.net")) (:maintainer "m00nlight" . "dot_wangyushi@yeah.net"))]) -(unicode-fonts . [(20181001 1509) ((font-utils (0 7 8)) (ucs-utils (0 8 2)) (list-utils (0 4 2)) (persistent-soft (0 8 10)) (pcache (0 3 1))) "Configure Unicode fonts" single ((:commit . "7b88ae84e589f6c8b9386b2fb5a02ff4ccb91169") (:keywords "i18n" "faces" "frames" "wp" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-fonts"))]) -(unicode-escape . [(20160614 1234) ((emacs (24)) (names (20151201 0)) (dash (2 12 1))) "Escape/Unescape unicode notations" single ((:commit . "fc69ec780d9e54c364a9252bd0cf1d2507f3fab7") (:keywords "i18n" "unicode") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/unicode-escape.el"))]) -(unicode-enbox . [(20140508 2041) ((string-utils (0 3 2)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Surround a string with box-drawing characters" single ((:commit . "77074fac1994a4236f111d6a1d0cf79ea3fca151") (:keywords "extensions" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-enbox"))]) -(unicode-emoticons . [(20150204 1108) nil "Shortcuts for common unicode emoticons" single ((:commit . "fb18631f342b0243cf77cf59ed2067c47aae5233") (:keywords "games" "entertainment" "comms") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:url . "https://github.com/hagleitn/unicode-emoticons"))]) -(unfill . [(20170723 146) nil "Unfill paragraphs or regions, and toggle between filled & unfilled" single ((:commit . "e03771f2d1163d04ca75de76fbfbaa2689c6a9aa") (:keywords "utilities") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/unfill"))]) -(undohist . [(20150315 1242) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "d2239a5f736724ceb9e3b6bcaa86f4064805cda0") (:keywords "convenience") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com"))]) -(undo-propose . [(20191110 2327) ((emacs (24 3))) "Simple and safe undo navigation" single ((:commit . "78fde8146bedb5747231332c9864492418871a94") (:keywords "convenience" "files" "undo" "redo" "history") (:authors ("Jack Kamm")) (:maintainer "Jack Kamm") (:url . "https://github.com/jackkamm/undo-propose.el"))]) -(underwater-theme . [(20131118 2) nil "A gentle, deep blue color theme" single ((:commit . "4eb9ef014f580adc135d91d1cd68d37a310640b6") (:keywords "faces") (:authors ("Jon-Michael Deldin" . "dev@jmdeldin.com")) (:maintainer "Jon-Michael Deldin" . "dev@jmdeldin.com"))]) -(underline-with-char . [(20191128 2309) ((emacs (24))) "Underline with a char" single ((:commit . "36577e72aa4fbfa7f1abad01842359209f543751") (:keywords "convenience") (:maintainer nil . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/underline-with-char"))]) -(undercover . [(20191122 2126) ((emacs (24)) (dash (2 0 0)) (shut-up (0 3 2))) "Test coverage library for Emacs Lisp" single ((:commit . "9f4fbd04cd25c61397a7058bf2bad33c7b669aa4") (:keywords "lisp" "tests" "coverage" "tools") (:authors ("Sviridov Alexander" . "sviridov.vmi@gmail.com")) (:maintainer "Sviridov Alexander" . "sviridov.vmi@gmail.com") (:url . "https://github.com/sviridov/undercover.el"))]) -(uncrustify-mode . [(20130707 1359) nil "Minor mode to automatically uncrustify." single ((:commit . "73893d000361e95784911e5ec268ad0ab2a1473c") (:keywords "uncrustify") (:authors ("Tabito Ohtani" . "koko1000ban@gmail.com")) (:maintainer "Tabito Ohtani" . "koko1000ban@gmail.com"))]) -(uml-mode . [(20191111 1523) ((emacs (24 4)) (seq (2 20))) "Minor mode for ascii uml sequence diagrams" single ((:commit . "c5766b24964b5d35f5d102bb6eb8d619a5218180") (:keywords "docs") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:url . "http://github.com/ianxm/emacs-uml"))]) -(ukrainian-holidays . [(20130720 1349) nil "Ukrainian holidays for Emacs calendar." single ((:commit . "e52b0c92843e9f4d0415a7ba3b8559785497d23d") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ukrainian-holidays"))]) -(ujelly-theme . [(20180214 1624) nil "Ujelly theme for GNU Emacs 24 (deftheme)" single ((:commit . "bf724ce7806a738d2043544061e5f9bbfc56e674") (:authors ("Mark Tran" . "mark.tran@gmail.com")) (:maintainer "Mark Tran" . "mark.tran@gmail.com") (:url . "http://github.com/marktran/color-theme-ujelly"))]) -(uimage . [(20160901 1221) nil "An iimage like mode with the ability to display url images" single ((:commit . "9893d09160ef7e8c0ecdcd74fca99ffeb5f9d70d") (:keywords "lisp" "url" "image") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))]) -(ucs-utils . [(20150826 1414) ((persistent-soft (0 8 8)) (pcache (0 2 3)) (list-utils (0 4 2))) "Utilities for Unicode characters" tar ((:commit . "cbfd42f822bf5717934fa2d92060e6e24a813433") (:keywords "i18n" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ucs-utils"))]) -(ubuntu-theme . [(20150805 1506) nil "A theme inspired by the default terminal colors in Ubuntu" single ((:commit . "88b0eefc75d4cbcde103057e1c5968d4c3052f69") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/ubuntu-theme"))]) -(typoscript-mode . [(20170126 912) ((emacs (24 4)) (use-package (0))) "mode for TypoScript files" single ((:commit . "44e7567e921573c4f33c537b827f71fb1f565c32") (:keywords "typo3" "typoscript") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/typoscript-mode"))]) -(typo . [(20171209 1023) nil "Minor mode for typographic editing" single ((:commit . "9dad93b6f367f02f52c8d9bf15d446d922cec294") (:keywords "convenience" "wp") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/typoel"))]) -(typit . [(20190713 1336) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "2adb0e0df4689b5abaa89a71808ec7993ecfaf9b") (:keywords "games") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/typit"))]) -(typing-game . [(20160426 1220) nil "a simple typing game" single ((:commit . "616435a5270274f4c7b698697674dbb2039049a4") (:keywords "lisp" "game") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))]) -(typing . [(20180830 2203) nil "The Typing Of Emacs" single ((:commit . "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa") (:keywords "games") (:authors ("Alex Schroeder" . "alex@gnu.org")) (:maintainer "Alex Schroeder" . "alex@gnu.org") (:url . "http://www.emacswiki.org/emacs/TypingOfEmacs"))]) -(typescript-mode . [(20191120 346) ((emacs (24 3))) "Major mode for editing typescript" tar ((:commit . "fe63c579b51c7943f0c78702adbf1547b29cf6ed") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))]) -(twittering-mode . [(20181121 1402) nil "Major mode for Twitter" single ((:commit . "114891e8fdb4f06b1326a6cf795e49c205cf9e29") (:keywords "twitter" "web") (:authors ("Tadashi MATSUO" . "tad@mymail.twin.ne.jp") ("Y. Hayamizu" . "y.hayamizu@gmail.com") ("Tsuyoshi CHO" . "Tsuyoshi.CHO+develop@Gmail.com") ("Alberto Garcia" . "agarcia@igalia.com") ("Xavier Maillard" . "xavier@maillard.im")) (:maintainer "Tadashi MATSUO" . "tad@mymail.twin.ne.jp") (:url . "http://twmode.sf.net/"))]) -(twilight-theme . [(20120412 1303) nil "Twilight theme for GNU Emacs 24 (deftheme)" single ((:commit . "77c4741cb3dcf16e53d06d6c2ffdc660c40afb5b") (:authors ("Nick Parker" . "nickp@developernotes.com")) (:maintainer "Nick Parker" . "nickp@developernotes.com"))]) -(twilight-bright-theme . [(20130605 843) nil "A Emacs 24 faces port of the TextMate theme" single ((:commit . "322157cb2f3bf7920ecd209dafc31bc1c7959f49") (:keywords "themes") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:url . "https://github.com/jimeh/twilight-bright-theme.el"))]) -(twilight-anti-bright-theme . [(20160622 848) nil "A soothing Emacs 24 light-on-dark theme" single ((:commit . "523b95fcdbf4a6a6483af314ad05354a3d80f23f") (:keywords "themes") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:url . "https://github.com/jimeh/twilight-anti-bright-theme.el"))]) -(twig-mode . [(20130220 1850) nil "A major mode for twig" single ((:commit . "2849f273a4855d3314a9c0cc84134f5b28ad5ea6") (:authors ("Bojan Matic aka moljac024")) (:maintainer "Bojan Matic aka moljac024"))]) -(turnip . [(20150309 629) ((dash (2 6 0)) (s (1 9 0))) "Interacting with tmux from Emacs" single ((:commit . "2fd32562fc6fc1cda6d91aa939cfb29f9b16e9de") (:keywords "terminals" "tools") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com"))]) -(turkish . [(20170910 1511) nil "Convert to Turkish characters on-the-fly" single ((:commit . "9831a316c176bb21a1b91226323ea4133163e00c") (:keywords "turkish" "languages" "automatic" "conversion") (:authors ("Deniz Yüret")) (:maintainer "Emre Sevinç" . "emre.sevinc@gmail.com") (:url . "http://www.denizyuret.com/2006/11/emacs-turkish-mode.html"))]) -(turing-machine . [(20180222 438) ((emacs (24 4))) "Single-tape Turing machine simulator" single ((:commit . "fa60b76a5bac1f54b7a1b3dc55aae7602c7e385b") (:keywords "turing" "machine" "simulation") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/therockmandolinist/turing-machine"))]) -(tup-mode . [(20140410 1614) nil "Major mode for editing files for Tup" single ((:commit . "bcc100c6485f1c81fdcd1215dfc6c41a81c215c8") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Eric James Michael Ritz" . "lobbyjones@gmail.com") (:url . "https://github.com/ejmr/tup-mode"))]) -(tumblesocks . [(20191014 356) ((htmlize (1 39)) (oauth (1 0 3)) (markdown-mode (1 8 1))) "An Emacs tumblr client." tar ((:commit . "0e4c3847e31a59d405b9927107a23dde9531d744"))]) -(tumble . [(20160112 729) ((http-post-simple (0)) (cl-lib (0 5))) "an Tumblr mode for Emacs" single ((:commit . "e8fd7643cccf2b6ea4170f0c5f1f87d007e7fa00") (:keywords "tumblr") (:authors ("Federico Builes" . "federico.builes@gmail.com")) (:maintainer "Federico Builes" . "federico.builes@gmail.com"))]) -(tuareg . [(20190805 958) ((caml (3 12 0 1)) (emacs (24 4))) "OCaml mode for Emacs." tar ((:commit . "74e7f66f31290f6599fda0067d795e201270be43") (:keywords "ocaml" "languages") (:authors ("Albert Cohen" . "Albert.Cohen@inria.fr") ("Sam Steingold" . "sds@gnu.org") ("Christophe Troestler" . "Christophe.Troestler@umons.ac.be") ("Till Varoquaux" . "till@pps.jussieu.fr") ("Sean McLaughlin" . "seanmcl@gmail.com") ("Stefan Monnier" . "monnier@iro.umontreal.ca")) (:maintainer "Albert Cohen" . "Albert.Cohen@inria.fr") (:url . "https://github.com/ocaml/tuareg"))]) -(ttl-mode . [(20160505 832) nil "mode for Turtle (and Notation 3)" single nil]) -(tt-mode . [(20130804 1110) nil "Emacs major mode for editing Template Toolkit files." single ((:commit . "85ed3832e7eef391f7879d9990d59c7a3493c15e") (:authors ("Dave Cross" . "dave@dave.org.uk")) (:maintainer "Dave Cross" . "dave@dave.org.uk"))]) -(tss . [(20150913 1408) ((auto-complete (1 4 0)) (json-mode (1 1 0)) (log4e (0 2 0)) (yaxception (0 1))) "provide a interface for auto-complete.el/flymake.el on typescript-mode." tar ((:commit . "81ac6351a2ae258fd0ebf916dae9bd5a179fefd0") (:keywords "typescript" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-tss"))]) -(ts-comint . [(20181219 719) nil "Run a Typescript interpreter in an inferior process window." single ((:commit . "786b88fffc553e122868a1c4883f14136a040df6") (:keywords "typescript" "node" "inferior-mode" "convenience") (:authors ("Paul Huff" . "paul.huff@gmail.com")) (:maintainer "Paul Huff" . "paul.huff@gmail.com") (:url . "https://github.com/josteink/ts-comint"))]) -(ts . [(20191010 210) ((emacs (26 1)) (dash (2 14 1)) (s (1 12 0))) "Timestamp and date/time library" single ((:commit . "df48734ef046547c1aa0de0f4c07d11964ef1f7f") (:keywords "date" "time" "timestamp") (:authors (nil . "Adam Porter ")) (:maintainer "Sergei Nosov ") (:url . "https://github.com/snosov1/toc-org"))]) -(tmux-pane . [(20181210 1210) ((names (0 5)) (emacs (24)) (s (0))) "Provide integration between emacs window and tmux pane" single ((:commit . "5e83ec65a1d38af9b8a389bdf34a78d13437e63d") (:keywords "convenience" "terminals" "tmux" "window" "pane" "navigation" "integration") (:url . "https://github.com/laishulu/emacs-tmux-pane"))]) -(tmmofl . [(20121025 1101) nil "Calls functions dependant on font lock highlighting at point" single ((:commit . "532aa6978e994e2b069ffe37aaf9a0011a07dadc") (:keywords "minor mode" "font lock" "toggling.") (:authors ("Phillip Lord" . "p.lord@hgmp.mrc.ac.uk")) (:maintainer "Phillip Lord" . "p.lord@hgmp.mrc.ac.uk"))]) -(tldr . [(20191006 1059) ((emacs (24 3)) (request (0 3 0))) "tldr client for Emacs" single ((:commit . "b7f3e3e2171eab5707a42641f4470b69777feaea") (:keywords "tools" "docs") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/tldr.el"))]) -(tj3-mode . [(20180519 1228) nil "major mode for editing TaskJuggler 3 files" single ((:commit . "1d98eb23f1606392f34ef1b80517cfc940fb9950") (:authors ("Christophe Rhodes" . "christophe@rhodes.io")) (:maintainer "Christophe Rhodes" . "christophe@rhodes.io") (:url . "https://github.com/csrhodes/tj3-mode"))]) -(tinysegmenter . [(20141124 1013) ((cl-lib (0 5))) "Super compact Japanese tokenizer in Javascript ported to emacs lisp" single ((:commit . "872134704bd25c13a4c59552433da4c6881b5230") (:keywords "convenience") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/tinysegmenter.el"))]) -(tinypng . [(20190620 942) ((emacs (25 1))) "Compress PNG and JPEG with TinyPNG.com API" single ((:commit . "5910738ce129d93789c98f5722d33d1f40d15afc") (:keywords "multimedia") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/tinypng.el"))]) -(tiny-menu . [(20161213 1235) ((emacs (24 4))) "Display tiny menus." single ((:commit . "05563b94537b6eb22aeddedef2a6e59e3f88d073") (:keywords "menu" "tools") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/tiny-menu.el"))]) -(tiny . [(20190722 1212) nil "Quickly generate linear ranges in Emacs" single ((:commit . "fd8a6b0b0c564d8242259e20e557ee6041f40908") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/tiny"))]) -(tinkerer . [(20170906 1224) ((s (1 2 0))) "Elisp wrapper for Tinkerer Blogging Engine." single ((:commit . "e34135555f3748b578c7f8706dfd0c888fb87581") (:keywords "tinkerer" "blog" "wrapper") (:authors ("Yagnesh Raghava Yakkala" . "hi@yagnesh.org")) (:maintainer "Yagnesh Raghava Yakkala" . "hi@yagnesh.org") (:url . "https://github.com/yyr/tinkerer.el"))]) -(timp . [(20160618 803) ((emacs (24 4)) (cl-lib (0 5)) (fifo-class (1 0)) (signal (1 0))) "Multithreading library" tar ((:commit . "66b21934b1eb8ee428c06dd64b3562ad44776a35") (:keywords "internal" "lisp" "processes" "tools") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/timp"))]) -(timonier . [(20170411 800) ((emacs (24 4)) (s (1 11 0)) (f (0 19 0)) (dash (2 12 0)) (pkg-info (0 5 0)) (hydra (0 13 6)) (request (0 2 0)) (all-the-icons (2 0 0))) "Manage Kubernetes Applications" tar ((:commit . "0a150ea87bf695b43cf1740dfd7e553e0ae7601c") (:keywords "kubernetes" "docker") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/timonier"))]) -(timesheet . [(20191024 151) ((s (1)) (org (7)) (auctex (11))) "Timesheet management add-on for org-mode" tar ((:commit . "5098dc87d3d4f289b6c1b6532070dacbfe6de9fd") (:keywords "org" "timesheet") (:authors ("Tom Marble")) (:maintainer "Tom Marble") (:url . "https://github.com/tmarble/timesheet.el"))]) -(timer-revert . [(20150122 2032) nil "minor mode to revert buffer for a given time interval." tar ((:commit . "615c91dec8b440d2b9b7c725dd733d7432564e45"))]) -(timecop . [(20160520 1052) ((cl-lib (0 5)) (datetime-format (0 0 1))) "Freeze Time for testing" single ((:commit . "e6427538b547cbe02e1bd6ed4b765c73620bdae8") (:keywords "datetime" "testing") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-datetime"))]) -(time-ext . [(20170126 1215) nil "more function for time/date" single ((:commit . "d128becf660fe3f30178eb1b05cd266741f4784a") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/time-ext.el"))]) -(tile . [(20161225 357) ((emacs (25 1)) (s (1 9 0)) (dash (2 12 0)) (stream (2 2 3))) "Tile windows with layouts" single ((:commit . "22660f21f6e95de5aba55cd5d293d4841e9a4661") (:keywords "tile" "tiling" "window" "manager" "dynamic" "frames") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/tile"))]) -(tide . [(20191201 727) ((dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "6faea517957f56467cac5be689277d6365f3aa1a") (:keywords "typescript") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/tide"))]) -(tidal . [(20191018 2235) ((haskell-mode (16)) (emacs (24))) "Interact with TidalCycles for live coding patterns" single ((:commit . "ae652654c52ccef729d89c01c51bea993f9e7405") (:keywords "tools") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:url . "https://github.com/tidalcycles/Tidal"))]) -(tickscript-mode . [(20171219 203) ((emacs (24 1))) "A major mode for Tickscript files" single ((:commit . "f0579f38ff14954df5002ce30ae6d4a2c978d461") (:keywords "languages") (:authors ("Marc Sherry" . "msherry@gmail.com")) (:maintainer "Marc Sherry" . "msherry@gmail.com") (:url . "https://github.com/msherry/tickscript-mode"))]) -(thumb-through . [(20120119 534) nil "Plain text reader of HTML documents" single ((:commit . "08d8fb720f93c6172653e035191a8fa9c3305e63") (:keywords "html"))]) -(thrift . [(20180905 1050) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "6b3e04cfb38d8169ac2a266e14178190f9261e57") (:keywords "languages"))]) -(threes . [(20160820 1242) ((emacs (24)) (seq (1 11))) "A clone of Threes (a tiny puzzle game)" single ((:commit . "6981acb30b856c77cba6aba63fefbf102cbdfbb2") (:keywords "games") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/threes.el"))]) -(thread-dump . [(20170816 1850) nil "Java thread dump viewer" single ((:commit . "204c9600242756d4b514bb5ff6293e052bf4b49d") (:authors ("Dmitry Neverov")) (:maintainer "Dmitry Neverov") (:url . "http://github.com/nd/thread-dump.el"))]) -(thinks . [(20170802 1128) ((cl-lib (0 5))) "Insert text in a think bubble." single ((:commit . "c02f236abc8c2025d9f01460b09b89ebdc96e28d") (:keywords "convenience" "quoting") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/thinks.el"))]) -(thingopt . [(20160520 2318) nil "Thing at Point optional utilities" single ((:commit . "5679815852652479f3b3c9f3a98affc927384b2c") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) -(therapy . [(20151113 1953) ((emacs (24))) "Hooks for managing multiple Python major versions" single ((:commit . "775a92bb7b6b0fcc5b38c0b5198a9d0a1bef788a") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/therapy"))]) -(theme-magic . [(20190711 2034) ((emacs (25)) (seq (1 8))) "Apply your Emacs theme to the rest of Linux" tar ((:commit . "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3") (:keywords "unix" "faces" "terminals" "extensions") (:authors ("GitHub user \"jcaw\"" . "40725916+jcaw@users.noreply.github.com")) (:maintainer "GitHub user \"jcaw\"" . "40725916+jcaw@users.noreply.github.com") (:url . "https://github.com/jcaw/theme-magic.el"))]) -(theme-looper . [(20190501 127) ((emacs (24)) (cl-lib (0 5))) "Loop thru the available color-themes" single ((:commit . "388138a238fbab9b4bc5ada0300c9bc5ef63d3f1") (:keywords "convenience" "color-themes") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) -(theme-changer . [(20171221 1927) nil "Sunrise/Sunset Theme Changer for Emacs" single ((:commit . "61945695a30d678e6a5d47cbe7c8aff59a8c30ea") (:keywords "color-theme" "deftheme" "solar" "sunrise" "sunset") (:authors ("Joshua B. Griffith" . "josh.griffith@gmail.com")) (:maintainer "Joshua B. Griffith" . "josh.griffith@gmail.com") (:url . "https://github.com/hadronzoo/theme-changer"))]) -(tfsmacs . [(20180911 2114) ((emacs (25)) (tablist (0 70))) "MS TFS source control interaction." single ((:commit . "3c20cb76ccd7951eda0b5f076cd79e42f71e7220") (:keywords "tfs" "vc") (:authors ("Dino Chiesa , Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Dino Chiesa , Sebastian Monia" . "smonia@outlook.com") (:url . "http://github.com/sebasmonia/tfsmacs/"))]) -(tf2-conf-mode . [(20161209 1620) nil "TF2 Configuration files syntax highlighting" single ((:commit . "536950f64c071ffd8495fb2c7ac7c63a11e25f93") (:keywords "languages") (:authors ("Guillermo Robles" . "guillerobles1995@gmail.com")) (:maintainer "Guillermo Robles" . "guillerobles1995@gmail.com") (:url . "https://github.com/wynro/emacs-tf2-conf-mode"))]) -(textx-mode . [(20170516 911) ((emacs (24 3))) "Major mode for editing TextX files" single ((:commit . "72f9f0c5855b382024f0da8f56833c22a70a5cb3") (:keywords "textx") (:authors ("Novak Boškov" . "gnovak.boskov@gmail.com")) (:maintainer "Novak Boškov" . "gnovak.boskov@gmail.com") (:url . "https://github.com/novakboskov/textx-mode"))]) -(textmate-to-yas . [(20160409 1708) nil "Import Textmate macros into yasnippet syntax" tar ((:commit . "be3a768b7ac4c2e24b9d4aa6e9ac1d916cdc5a73") (:keywords "yasnippet" "textmate") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/textmate-to-yas.el/"))]) -(textmate . [(20110816 2146) nil "TextMate minor mode for Emacs" single ((:commit . "350918b070148f0ace6d9d3cd4ebcaf15c1a8781") (:keywords "textmate" "osx" "mac") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org"))]) -(textile-mode . [(20170304 1716) nil "Textile markup editing major mode" single ((:commit . "c37aaab809503df008209390e31e19abf4e23630") (:authors ("Julien Barnier" . "julien@nozav.org")) (:maintainer "Julien Barnier" . "julien@nozav.org"))]) -(texfrag . [(20191129 916) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "2693a2f3fa8376b831f376087bd67119ca42e84d") (:keywords "tex" "languages" "wp") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:url . "https://github.com/TobiasZawada/texfrag"))]) -(tex-smart-umlauts . [(20190316 2215) nil "Smart umlaut conversion for TeX." single ((:commit . "f15ed781b1fb38bf3e46c481dd602c3999920b99") (:keywords "tex" "wp") (:authors ("Frank Fischer ")) (:maintainer "Frank Fischer ") (:url . "http://hub.darcs.net/lyro/tex-smart-umlauts"))]) -(test-simple . [(20170527 1532) ((cl-lib (0))) "Simple Unit Test Framework for Emacs Lisp" single ((:commit . "cfd383d36dc6853917acb753fdfa0eebf33856f3") (:keywords "unit-test") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-test-simple"))]) -(test-kitchen . [(20171129 2035) nil "Run test-kitchen inside of emacs" single ((:commit . "0fc0ca4808425f03fbeb8125246043723e2a179a") (:keywords "chef" "ruby" "test-kitchen") (:authors ("JJ Asghar")) (:maintainer "JJ Asghar") (:url . "http://github.com/jjasghar/test-kitchen-el"))]) -(test-case-mode . [(20130525 1434) ((fringe-helper (0 1 1))) "unit test front-end" single ((:commit . "6074df10ebc97ddfcc228c71c73db179e672dac3") (:keywords "tools") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:url . "http://nschum.de/src/emacs/test-case-mode/"))]) -(test-c . [(20180423 1720) ((emacs (24 3))) "quickly test c code" single ((:commit . "761a576f62c7021ba941f178f153c51289df1553") (:authors ("Aurélien Aptel" . "aurelien.aptel@gmail.com")) (:maintainer "Aurélien Aptel" . "aurelien.aptel@gmail.com") (:url . "http://github.com/aaptel/test-c"))]) -(terraform-mode . [(20170112 517) ((emacs (24 3)) (hcl-mode (0 3))) "Major mode for terraform configuration file" single ((:commit . "6973d1acaba2835dfdf174f5a5e27de6366002e1") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-terraform-mode"))]) -(terraform-doc . [(20190813 1254) ((emacs (24 4))) "Look up terraform documentation on the fly" single ((:commit . "2ec10ea7bef5a75edfffeb515dd268e19c1f8c9c") (:keywords "comm") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/terraform-doc"))]) -(tern-django . [(20160221 1923) ((emacs (24)) (tern (0 0 1)) (f (0 17 1))) "Create tern projects for django applications." tar ((:commit . "46f2cd5e96bc804069f18455a828b8e4c5ec358a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/tern-django"))]) -(tern-context-coloring . [(20161218 747) ((emacs (24 3)) (context-coloring (8 1 0)) (tern (0 0 1))) "Use Tern for context coloring" single ((:commit . "3a8e979d6cc83aabcb3dda3f5f31a6422532efba") (:keywords "convenience" "faces" "tools") (:authors ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) (:maintainer "Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com") (:url . "https://github.com/jacksonrayhamilton/tern-context-coloring"))]) -(tern-auto-complete . [(20170521 1935) ((tern (0 0 1)) (auto-complete (1 4)) (cl-lib (0 5)) (emacs (24))) "Tern Completion by auto-complete.el" single ((:commit . "1d3ecdd4d4620ea2a274ac1b171ccff594f35d47") (:authors ("")) (:maintainer ""))]) -(tern . [(20181108 722) ((json (1 2)) (cl-lib (0 5)) (emacs (24))) "Tern-powered JavaScript integration" single ((:commit . "1d3ecdd4d4620ea2a274ac1b171ccff594f35d47") (:authors ("Marijn Haverbeke")) (:maintainer "Marijn Haverbeke") (:url . "http://ternjs.net/"))]) -(terminal-toggle . [(20190226 1510) ((emacs (24)) (popwin (1 0 0))) "simple pop-up terminal" single ((:commit . "f824d634aef3600cb7a8e2ddf9e8444c6607c160") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/terminal-toggle.el"))]) -(terminal-here . [(20180513 833) ((emacs (24)) (cl-lib (0 5))) "Run an external terminal in current directory" single ((:commit . "bc7f3477133df0142d3e49e6eb8eaf4468b57865") (:keywords "tools" "frames") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/terminal-here"))]) -(terminal-focus-reporting . [(20180830 719) ((emacs (24 4))) "Minor mode for terminal focus reporting." single ((:commit . "8b84bf18f4c5f1b59a11692eb706f13c3598d9a5") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/veelenga/terminal-focus-reporting.el"))]) -(termbright-theme . [(20151031 235) ((emacs (24 1))) "a more usable theme for white-on-black terminals" single ((:commit . "bec6ab14336c0611e85f45486276004f16d20607") (:keywords "themes") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/termbright-theme-el"))]) -(term-run . [(20190529 743) nil "Run arbitrary command in terminal buffer" single ((:commit . "fe8bf58814b167f887aaef98a148b8d5d8a11d3f") (:keywords "utility" "shell" "command" "term-mode") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/term-run-el"))]) -(term-projectile . [(20190307 400) ((emacs (24)) (term-manager (0 1 0)) (projectile (0 13 0))) "projectile terminal management" single ((:commit . "eea7894350a4f31e1df0c666d3fb0bac822d34d2") (:keywords "projectile" "tools" "terminals" "vc") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))]) -(term-manager . [(20190610 2032) ((dash (2 12 0)) (emacs (24 4))) "Contextual terminal management" tar ((:commit . "eea7894350a4f31e1df0c666d3fb0bac822d34d2") (:keywords "terminals" "tools") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))]) -(term-cmd . [(20160517 1045) ((emacs (24 0)) (dash (2 12 0)) (f (0 18 2))) "Send commands from programs running in term.el." tar ((:commit . "552aa58965aab9b78e46934462bafe54c0396ffb"))]) -(term-alert . [(20161119 945) ((emacs (24 0)) (term-cmd (1 1)) (alert (1 1)) (f (0 18 2))) "Notifications when commands complete in term.el." tar ((:commit . "1166c39cc3fb1cb7808eb8955b7f9f6094a306cd"))]) -(term+mux . [(20140211 749) ((term+ (0 1)) (tab-group (0 1))) "term+ terminal multiplexer and session management" single ((:commit . "81b60e80cf008472bfd7fad9233af2ef722c208a") (:keywords "terminal" "emulation") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:url . "http://github.com/tarao/term+-el"))]) -(term+key-intercept . [(20140211 750) ((term+ (0 1)) (key-intercept (0 1))) "term+ intercept key mapping" single ((:commit . "fd0771fd66b8c7a909aaac972194485c79ba48c4") (:keywords "terminal" "emulation") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:url . "http://github.com/tarao/term+-el"))]) -(term+ . [(20170509 17) ((emacs (24)) (cl-lib (0 5))) "term-mode enhancement" tar ((:commit . "c3c9239b339c127231860de43abfa08c44c0201a") (:keywords "terminal" "emulation") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:url . "https://github.com/tarao/term-plus-el"))]) -(ten-hundred-mode . [(20161028 2236) ((cl-lib (0 5))) "use only the ten hundred most usual words" tar ((:commit . "bdcfda49b1819e82d61fe90947e50bb948cf7933"))]) -(temporary-persistent . [(20161210 1133) ((emacs (24 3)) (names (20151201 0)) (dash (2 12 1)) (s (1 10 0))) "Keep temp notes buffers persistent -*- lexical-binding: t" single ((:commit . "ac66f3054fc701d53f11ada9d2d9ab18ea481dc0") (:keywords "temp" "buffers" "notes") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/temporary-persistent"))]) -(template-overlays . [(20180706 1132) ((emacs (24 4)) (ov (1 0 6))) "Display template regions using overlays" single ((:commit . "d32db58c044b2aca3720879003f55b1d57208b07") (:keywords "faces" "convenience" "templates" "overlays") (:authors ("Mariano Montone" . "marianomontone@gmail.com")) (:maintainer "Mariano Montone" . "marianomontone@gmail.com") (:url . "http://www.github.com/mmontone/template-overlays"))]) -(telephone-line . [(20191120 27) ((emacs (24 4)) (cl-lib (0 5)) (cl-generic (0 2)) (seq (1 8))) "Rewrite of Powerline" tar ((:commit . "bfe7b189d708d9cbc69ef2eaf5542108edc4257d") (:keywords "mode-line") (:authors ("Daniel Bordak" . "dbordak@fastmail.fm")) (:maintainer "Daniel Bordak" . "dbordak@fastmail.fm") (:url . "https://github.com/dbordak/telephone-line"))]) -(telepathy . [(20131209 1258) nil "Access Telepathy from Emacs" single ((:commit . "211d785b02a29ddc254422fdcc3db45262582f8c") (:keywords "telepathy" "tools") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) -(telega . [(20191128 1426) ((emacs (26 1)) (visual-fill-column (1 9))) "Telegram client (unofficial)" tar ((:commit . "47bebd4edb9f1c2cdede444ea380f5b70df354da") (:keywords "comm") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:url . "https://github.com/zevlg/telega.el"))]) -(teacode-expand . [(20181231 640) ((emacs (24 4))) "Expansion of text by TeaCode program." single ((:commit . "3aae07c71249de616d42fed7fa2585c4fa6f25c6") (:keywords "lisp") (:authors ("Richard Guay" . "raguay@customct.com")) (:maintainer "Richard Guay" . "raguay@customct.com") (:url . "https://github.com/raguay/TeaCode-Expand"))]) -(tea-time . [(20120331 820) nil "Simple timer package, useful to make perfect tea." single ((:commit . "1f6cf0bdd27c5eb3508989c5095427781f858eca") (:keywords "timer" "tea-time") (:authors ("konsty" . "antipin.konstantin@googlemail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com"))]) -(tdd-status-mode-line . [(20131123 1716) nil "TDD status on the mode-line" single ((:commit . "4c082e62f4915b573338a97efcc6854d132323dc") (:keywords "faces" "tdd") (:authors ("Gergely Nagy" . "algernon@madhouse-project.org")) (:maintainer "Gergely Nagy" . "algernon@madhouse-project.org") (:url . "https://github.com/algernon/tdd-status-mode-line"))]) -(tco . [(20191129 2040) ((dash (1 2 0)) (emacs (24 3))) "Tail-call optimisation for Emacs lisp" single ((:commit . "d82478d56568f60b3a82fd010b3ca0bab2ef5dc9") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/tco.el"))]) -(tc . [(20181109 428) nil "a Japanese input method with T-Code on Emacs" tar ((:commit . "cb3403fb134dc62d8a48253027891785849cff31") (:authors ("Kaoru Maeda" . "maeda@src.ricoh.co.jp") ("Yasushi Saito" . "yasushi@cs.washington.edu") ("KITAJIMA Akira" . "kitajima@isc.osakac.ac.jp")) (:maintainer "KITAJIMA Akira"))]) -(tbx2org . [(20140224 1559) ((dash (2 5 0)) (s (1 8 0)) (cl-lib (0 4))) "Tinderbox to org-mode conversion" single ((:commit . "08e9816ba6066f56936050b58d07ceb2187ae6f7") (:keywords "org-mode") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/tbx2org"))]) -(tblui . [(20161007 1912) ((dash (2 12 1)) (magit-popup (2 6 0)) (tablist (0 70)) (cl-lib (0 5))) "Define tabulated list UI easily" single ((:commit . "bb29323bb3e27093d50cb42db3a9329a096b6e4d") (:authors ("Yuki Inoue ")) (:maintainer "Yuki Inoue ") (:url . "https://github.com/Yuki-Inoue/tblui.el"))]) -(tawny-mode . [(20191108 1346) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "079028b7547743a36384650981ea068849aac53e") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) -(taskrunner . [(20190916 1608) ((emacs (25 1)) (projectile (2 0 0)) (async (1 9 3))) "Retrieve build system/taskrunner tasks" tar ((:commit . "716323aff410b4d864d137c9ebe4bbb5b8587f5e") (:keywords "build-system" "taskrunner" "build" "task-runner" "tasks" "convenience") (:authors ("Yavor Konstantinov ")) (:maintainer "Yavor Konstantinov ") (:url . "https://github.com/emacs-taskrunner/emacs-taskrunner"))]) -(taskpaper-mode . [(20191128 1140) nil "Major mode for working with TaskPaper files" single ((:commit . "b3e844ae64b9a7cbbb1427a26fca2d01f8e74c6d") (:keywords "outlines" "notetaking" "task management" "productivity" "taskpaper") (:authors ("Dmitry Safronov" . "saf.dmitry@gmail.com")) (:maintainer "Dmitry Safronov" . "saf.dmitry@gmail.com") (:url . "https://github.com/saf-dmitry/taskpaper-mode"))]) -(tao-theme . [(20191120 327) nil "This package provides two parametrized uncoloured color themes for Emacs: tao-yin and tao-yang." tar ((:commit . "d5b9693fcabf2281319acaf09e685e3eedf27e8f"))]) -(tangotango-theme . [(20170924 1509) nil "Tango Palette color theme for Emacs 24." single ((:commit . "e2f2ea9c35f06dfc43a29c91c14cf0cdb19f2144") (:keywords "tango" "palette" "color" "theme" "emacs") (:authors ("Julien Barnier")) (:maintainer "Julien Barnier") (:url . "https://github.com/juba/color-theme-tangotango"))]) -(tango-plus-theme . [(20170214 1708) nil "A color theme based on the tango palette" single ((:commit . "8ba8901397e3e9f1d53110487bfa0effc65015e7") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))]) -(tango-2-theme . [(20120312 2025) nil "Tango 2 color theme for GNU Emacs 24" single ((:commit . "64e44c98e41ebbe3b827d54280e3b9615787daaa") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) -(take-off . [(20140531 917) ((emacs (24 3)) (web-server (0 1 0))) "Emacs remote web access" tar ((:commit . "aa9ea45566fc74febbb6ee9c409ecc4b59246215") (:authors ("Thomas Burette" . "burettethomas@gmail.com")) (:maintainer "Thomas Burette" . "burettethomas@gmail.com") (:url . "https://github.com/tburette/take-off"))]) -(tagedit . [(20161121 855) ((s (1 3 1)) (dash (1 0 3))) "Some paredit-like features for html-mode" single ((:commit . "b3a70101a0dcf85498c92b7fcfa7fdbac869746c") (:keywords "convenience") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(tabula-rasa . [(20141216 547) ((emacs (24 4))) "Distraction free writing mode" single ((:commit . "e85fff9de18dc31bc6a7aca726e34a95cc5459f5") (:keywords "distraction free" "writing") (:authors ("Ido Magal" . "misc@satans.church")) (:maintainer "Ido Magal" . "misc@satans.church") (:url . "https://github.com/idomagal/Tabula-Rasa/blob/master/tabula-rasa.el"))]) -(tablist . [(20191129 1850) ((emacs (24 3))) "Extended tabulated-list-mode" tar ((:commit . "41a9612f51bad36d6689667c11f42f8143103bb2") (:keywords "extensions" "lisp") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) -(tabbar-ruler . [(20160802 307) ((tabbar (2 0 1)) (powerline (2 3)) (mode-icons (0 4 0)) (cl-lib (0 5))) "Pretty tabbar, autohide, use both tabbar/ruler" tar ((:commit . "535568189aa12a3eff7f977d2783e57b6a65ab6a") (:keywords "tabbar" "ruler mode" "menu" "tool bar.") (:authors ("Matthew Fidler, Ta Quang Trung, Nathaniel Cunningham")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/tabbar-ruler.el"))]) -(tabbar . [(20180726 1735) nil "Display a tab bar in the header line" tar ((:commit . "82bbda31cbe8ef367dd6501c3aa14b7f2c835910") (:keywords "convenience") (:authors ("David Ponce" . "david@dponce.com")) (:maintainer "David Ponce" . "david@dponce.com"))]) -(tab-jump-out . [(20151006 130) ((dash (2 10)) (emacs (24 4))) "Use tab to jump out of delimiter pairs." single ((:commit . "1c3fec1826d2891177ea78e4e7cce1dc67e83e51") (:keywords "tab" "editing") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))]) -(tab-group . [(20140306 1450) nil "Grouped tabs and their tabbar" single ((:commit . "5a290ec2608e4100fb188fd60ecb77affcc3465b") (:keywords "convenience" "tabs") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:url . "http://github.com/tarao/tab-group-el"))]) -(ta . [(20160619 1645) ((emacs (24 3)) (cl-lib (0 5))) "A tool to deal with Chinese homophonic characters" single ((:commit . "668ad41e71f374f8c32c8d0532f3d8485b355d35") (:keywords "tools") (:authors ("kuanyui" . "azazabc123@gmail.com")) (:maintainer "kuanyui" . "azazabc123@gmail.com") (:url . "http://github.com/kuanyui/ta.el"))]) -(systemtap-mode . [(20151122 1940) nil "A mode for SystemTap" single ((:commit . "1a968c2b1f3a054bebf91ac49739d3a81ce050a9") (:keywords "tools" "languages") (:maintainer nil . "ruediger@c-plusplus.de") (:url . "https://github.com/ruediger/systemtap-mode"))]) -(systemd . [(20191117 1614) ((emacs (24 4))) "Major mode for editing systemd units" tar ((:commit . "a9f82b1f8bef7ff35efcf5a562570f0f0d496dfe") (:keywords "tools" "unix") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))]) -(system-specific-settings . [(20140818 1457) nil "Apply settings only on certain systems" single ((:commit . "0050d85b2175095aa5ecf580a2fe43c069b0eef3") (:keywords "configuration") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/emacs-system-specific-settings"))]) -(system-packages . [(20190614 1320) ((emacs (24 3))) "functions to manage system packages" single ((:commit . "3ad6d52072f0bd043dced40ba7bd422fd9c00a7b") (:authors ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "J. Alexander Branham" . "alex.branham@gmail.com") (:url . "https://gitlab.com/jabranham/system-packages"))]) -(syslog-mode . [(20190913 2040) ((hide-lines (20130623)) (ov (20150311))) "Major-mode for viewing log files" single ((:commit . "18f441bf57dd70cdd48a71f1f4566ab35facdb35") (:keywords "unix") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/syslog-mode"))]) -(sysctl . [(20190720 2028) ((emacs (26))) "Manage sysctl though org-mode" single ((:commit . "0fc50305a96de059ad1ff4e6081c9b4089f5247f") (:keywords "sysctl" "tools" "unix") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:url . "https://github.com/dantecatalfamo/sysctl.el"))]) -(syntax-subword . [(20160519 1905) nil "make operations on words more fine-grained" single ((:commit . "ad0db0fcb464652a1d3408f525dee9293ce2b70c") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) -(syntactic-sugar . [(20140508 2041) nil "Effect-free forms such as if/then/else" single ((:commit . "7ddc4502c831abe1c4ad4c7d1ca628a2c9e13968") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/syntactic-sugar"))]) -(syntactic-close . [(20191119 1007) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "5760319d8fdb3672dd0e95880c30e9c4d92ab239") (:keywords "languages" "convenience") (:authors ("Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org")) (:maintainer "Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org") (:url . "https://github.com/emacs-berlin/syntactic-close"))]) -(synquid . [(20160930 1550) ((flycheck (27)) (emacs (24 3))) "Major mode for editing Synquid files" single ((:commit . "28701ce1a15437202f53ab93a14bcba1de83fd2c") (:keywords "languages") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "https://github.com/cpitclaudel/synquid-mode"))]) -(synosaurus . [(20191125 552) ((cl-lib (0 5))) "An extensible thesaurus supporting lookup and substitution." tar ((:commit . "14d34fc92a77c3a916b4d58400424c44ae99cd81") (:url . "https://github.com/hpdeifel/synosaurus"))]) -(synonymous . [(20180325 1817) ((emacs (24)) (cl-lib (0 5)) (request (0 2 0))) "A thesaurus at your fingertips" single ((:commit . "2cb9a674d84fddf3f1b00c9d6b13a853576acb87") (:keywords "utility") (:authors ("Katherine Whitlock" . "toroidalcode@gmail.com") ("Snippets adapted from FlySpell, authored by Manuel Serrano" . "Manuel.Serrano@inria.fr")) (:maintainer "Katherine Whitlock" . "toroidalcode@gmail.com") (:url . "http://github.com/toroidal-code/synonymous.el"))]) -(syndicate . [(20160603 1523) ((evil (1 0))) "evil keybindings for org-mode" single ((:commit . "90cee202a06f5bab48268ebf9f62c43334b69f50") (:keywords "evil" "org" "bindings") (:authors ("Kawin Nikomborirak")) (:maintainer "Kawin Nikomborirak") (:url . "https://github.com/KNX32542/syndicate.git"))]) -(sync-recentf . [(20160326 2001) nil "Synchronize the recent files list between Emacs instances" single ((:commit . "0052561d5c5b5c2684faedc3eead776aec06c3ed") (:keywords "recentf") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/sync-recentf"))]) -(symon-lingr . [(20150719 1342) ((symon (1 1 2)) (cl-lib (0 5))) "A notification-based Lingr client powered by symon.el" single ((:commit . "056d1a473e36992ff5881e5ce6fdc331cead975f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(symon . [(20170224 833) nil "tiny graphical system monitor" single ((:commit . "8dd8b6df49b03cd7d31b85aedbe9dd08fb922335") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(symex . [(20191010 1915) ((emacs (24 4)) (cl-lib (0 6 1)) (lispy (0 26 0)) (paredit (24)) (evil-cleverparens (20170718 413)) (dash-functional (2 15 0)) (evil (1 2 14)) (smartparens (1 11 0)) (racket-mode (20181030 1345)) (geiser (0 10)) (evil-surround (1 0 4)) (hydra (0 15 0)) (cider (0 21 0)) (slime (2 24))) "An evil way to edit Lisp symbolic expressions as trees" tar ((:commit . "955c160af27c585d339dee8dd8eda394b253d3cc") (:keywords "lisp" "evil") (:authors ("Siddhartha Kasivajhula" . "sid@countvajhula.com")) (:maintainer "Siddhartha Kasivajhula" . "sid@countvajhula.com") (:url . "https://github.com/countvajhula/symex.el"))]) -(symbolword-mode . [(20180401 1427) ((emacs (24)) (f (0 19 0))) "modify word split" single ((:commit . "9bd33e73ecb2a0e3e3757c55c05f46b6937227e0") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/symbolword-mode"))]) -(symbol-overlay . [(20191111 2339) ((emacs (24 3))) "Highlight symbols with keymap-enabled overlays" single ((:commit . "35bd60ead7f9f68359e85480448e62fda0d16a37") (:keywords "faces" "matching") (:authors ("wolray" . "wolray@foxmail.com")) (:maintainer "wolray" . "wolray@foxmail.com") (:url . "https://github.com/wolray/symbol-overlay/"))]) -(sx . [(20190114 1523) ((emacs (24 1)) (cl-lib (0 5)) (json (1 3)) (markdown-mode (2 0)) (let-alist (1 0 3))) "StackExchange client. Ask and answer questions on Stack Overflow, Super User, and the likes" tar ((:commit . "49358eae36dd4bb5b9207313b30df085e7f25cef") (:keywords "help" "hypermedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/sx.el/"))]) -(sws-mode . [(20150317 1945) nil "(S)ignificant (W)hite(S)pace mode" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))]) -(swoop . [(20160120 1715) ((ht (2 0)) (pcre2el (1 5)) (async (1 1)) (emacs (24))) "Peculiar buffer navigation for Emacs" tar ((:commit . "a5e475db7a9f5db02ba3d08cd3c1c3594e2e01d7") (:keywords "swoop" "inner" "buffer" "search" "navigation") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-swoop"))]) -(switch-window . [(20181104 340) ((emacs (24))) "A *visual* way to switch window" tar ((:commit . "204f9fc1a39868a2d16ab9370a142c8c9c7a0943") (:keywords "convenience") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org") ("Feng Shu" . "tumashu@163.com")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/switch-window"))]) -(switch-buffer-functions . [(20171011 1704) nil "Hook run when current buffer changed" single ((:commit . "b8d8e01e21ae8c8c84234dddeb3cc8250814f7ba") (:keywords "hook" "utility") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/switch-buffer-functions-el"))]) -(swiper-helm . [(20180131 1744) ((emacs (24 1)) (swiper (0 1 0)) (helm (1 5 3))) "Helm version of Swiper." single ((:commit . "93fb6db87bc6a5967898b5fd3286954cc72a0008") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper-helm"))]) -(swiper . [(20191128 1126) ((emacs (24 5)) (ivy (0 13 0))) "Isearch with an overview. Oh, man!" single ((:commit . "8c23823c5a21e061e1b22c55643ec961d716683a") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) -(swift3-mode . [(20160918 1250) ((emacs (24 4))) "Major-mode for Apple's Swift programming language." tar ((:commit . "4e51265c6905e17d8910e35b0b37cf51e20ecdfe") (:keywords "languages" "swift") (:url . "https://github.com/taku0/swift3-mode"))]) -(swift-playground-mode . [(20190730 1707) ((emacs (24 4)) (seq (2 2 0))) "Run Apple's playgrounds in Swift buffers" tar ((:commit . "111cde906508824ee11d774b908df867142a8aec") (:keywords "languages" "swift") (:url . "https://gitlab.com/michael.sanders/swift-playground-mode"))]) -(swift-mode . [(20191026 1223) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language." tar ((:commit . "acfc7fdf026532845fa433ad466149063a93e859") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))]) -(swift-helpful . [(20191013 1658) ((emacs (25 1)) (dash (2 12 0)) (lsp-mode (6 0)) (swift-mode (8 0 0))) "Show documentation for Swift programs." tar ((:commit . "a4f581cf38664e9605e45264d2fe715b79adb9fa") (:keywords "help" "swift") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:url . "https://github.com/danielmartin/swift-helpful"))]) -(sweetgreen . [(20180605 335) ((dash (2 12 1)) (helm (1 5 6)) (request (0 2 0)) (cl-lib (0 5))) "Order Salads from sweetgreen.com" single ((:commit . "e933fe466b5ef0e976967e203f88bd7a012469d1") (:keywords "salad" "food" "sweetgreen" "request") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "https://www.github.com/CestDiego/sweetgreen.el"))]) -(swap-regions . [(20180915 1346) ((emacs (24 3))) "Swap text in two regions" single ((:commit . "f4fd9880cf690e003fcde88dcf2b46adbbbb03cd") (:keywords "convenience") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/swap-regions.el"))]) -(swap-buffers . [(20150506 2139) nil "The quickest way to swap buffers between windows. Based on switch-window package." single ((:commit . "46ab31359b70d935add6c6e9533443116dc51103") (:keywords "window" "swap" "buffer" "exchange") (:authors ("Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com")) (:maintainer "Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com") (:url . "https://github.com/ekazakov/swap-buffers"))]) -(swagger-to-org . [(20160611 56) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "Convert a swagger.json file into an org-mode file" single ((:commit . "181357c71ea24bede263f5706d8781ad65e16877") (:keywords "ahungry" "emacs" "swagger" "openapi" "orgmode" "org" "export") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/swagger-to-org"))]) -(svnwrapper . [(20180414 1843) ((e2ansi (0 1 1))) "Highlighting and paging for shell command `svn'" tar ((:commit . "de5069f5784e5d9e87a0af0159ba5f28a3716583") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/svnwrapper"))]) -(svg-mode-line-themes . [(20150425 2006) ((xmlgen (0 4))) "SVG-based themes for mode-line" tar ((:commit . "80a0e01839cafbd66899202e7764c33231974259") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/svg-mode-line-themes"))]) -(sv-kalender-namnsdagar . [(20190421 1521) nil "Swedish celebrated name of the day" single ((:commit . "fff970f49c77abfc69e37817f25a939818420971") (:keywords "calendar" "swedish" "localization") (:authors ("Mats Lidell" . "mats.lidell@lidells.se")) (:maintainer "Mats Lidell" . "mats.lidell@lidells.se") (:url . "https://github.com/matsl/sv-kalender-namnsdagar"))]) -(suscolors-theme . [(20190713 1009) nil "Colorful theme, inspired by Gruvbox." single ((:commit . "b4a979ee23e26e255b9a63525b0a28e810fab9ae") (:url . "https://github.com/TheSuspiciousWombat/SusColors-emacs"))]) -(supergenpass . [(20130329 548) nil "SuperGenPass for Emacs" single ((:commit . "549072ef7b5b82913cadd4758e8a0a9926f0a04a") (:keywords "supergenpass") (:authors ("Jaime Fournier" . "jaimef@linbsd.org")) (:maintainer "Jaime Fournier" . "jaimef@linbsd.org"))]) -(super-save . [(20190806 915) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "279aa8e0103d6bd367619b7f57f9d60d7a3c5cfd") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/super-save"))]) -(suomalainen-kalenteri . [(20190310 910) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "c8c03fe9bae57d4e15c287aef4f98911a3529240"))]) -(sunshine . [(20190905 1832) ((cl-lib (0 5))) "Provide weather and forecast information." single ((:commit . "5e57899b2201dd36ae7242aa13ca82efcded3b7c") (:keywords "tools" "weather") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/sunshine.el"))]) -(sunny-day-theme . [(20140413 2125) nil "Emacs24 theme with a light background." single ((:commit . "420e0a6eb33fcc9b75c2c9e88ab60a975d782a00") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/sunny-day-theme"))]) -(sunburn-theme . [(20180602 1929) ((emacs (24))) "A low contrast color theme" single ((:commit . "ddb01b6f1f4f823398f7f8e08900c2b4a7811d3b") (:authors ("Martín Varela" . "martin@varela.fi")) (:maintainer "Martín Varela" . "martin@varela.fi") (:url . "http://github.com/mvarela/Sunburn-Theme"))]) -(suggestion-box . [(20170830 807) ((emacs (25 1)) (popup (0 5 3))) "show tooltip on the cursor" single ((:commit . "50af0776c8caf3c79c4d37fd51cbf304ea34b68e") (:keywords "convenience") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada "))]) -(suggest . [(20180916 1859) ((emacs (24 4)) (loop (1 3)) (dash (2 13 0)) (s (1 11 0)) (f (0 18 2)) (spinner (1 7 3))) "suggest elisp functions that give the output requested" tar ((:commit . "83a2679baf661ee834e9e75921fd546243a6d919") (:keywords "convenience") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/suggest.el"))]) -(sudoku . [(20191015 1315) ((emacs (24 4))) "Simple sudoku game, can download puzzles" single ((:commit . "b1924fd244a5fa284de9d67b66fbd69164b37318") (:keywords "games") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) -(sudo-ext . [(20170126 1214) nil "sudo support" single ((:commit . "9d4580f304121ce7b8104bd4bd3b64e4dfa3c9b3") (:keywords "unix") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sudo-ext.el"))]) -(sudo-edit . [(20180731 1908) ((emacs (24)) (cl-lib (0 5))) "Open files as another user" single ((:commit . "cc3d478937b1accd38742bfceba92af02ee9357d") (:keywords "convenience") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "https://github.com/nflath/sudo-edit"))]) -(sudden-death . [(20180217 23) nil "Totsuzen-no-Shi" single ((:commit . "791a63d3f4df192e71f4232a9a4c5588f4b43dfb") (:authors ("yewton")) (:maintainer "yewton") (:url . "https://github.com/yewton/sudden-death.el"))]) -(sublimity . [(20181121 1311) ((cl-lib (0 3))) "smooth-scrolling, minimap and distraction-free mode" tar ((:commit . "4c8d0280815978fc11e1c5f86266a11c717b0c89") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/sublimity"))]) -(sublime-themes . [(20170606 1844) nil "A collection of themes based on Sublime Text" tar ((:commit . "60ee40af82eb55b79d5ed4026f1911326311603f") (:keywords "faces") (:authors ("Owain Lewis" . "owain@owainlewis.com")) (:maintainer "Owain Lewis" . "owain@owainlewis.com"))]) -(subemacs . [(20170401 934) nil "Evaluating expressions in a fresh Emacs subprocess" single ((:commit . "18d53939fec8968c08dfc5aff7240ca07efb1aac") (:keywords "extensions" "lisp" "multiprocessing") (:authors ("Klaus-Dieter Bauer" . "bauer.klaus.dieter@gmail.com")) (:maintainer "Klaus-Dieter Bauer" . "bauer.klaus.dieter@gmail.com") (:url . "https://github.com/kbauer/subemacs"))]) -(subatomic256-theme . [(20130621 210) nil "Fork of subatomic-theme for terminals." single ((:commit . "326177d6f99cd2b1d30df695e67ee3bc441cd96f") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic256"))]) -(subatomic-theme . [(20190607 1022) nil "Low contrast bluish color theme" single ((:commit . "a13cdac97a6d0488b13bc36d4c2f4d4102ff6a31") (:keywords "color-theme" "blue" "low contrast") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic"))]) -(stylus-mode . [(20150313 1512) ((sws-mode (0))) "Major mode for editing .jade files" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))]) -(stylefmt . [(20161025 824) nil "Stylefmt interface" single ((:commit . "7a38f26bf8ff947215f34f0a064c7ca80575ccbc") (:keywords "style" "code" "formatter") (:authors ("κeen")) (:maintainer "κeen") (:url . "https://github.com/KeenS/stylefmt.el"))]) -(stupid-indent-mode . [(20170525 1117) nil "Plain stupid indentation minor mode" single ((:commit . "3295e7de5e2cfddc3bf0e462e852bf58972f5d70") (:authors ("Mihai Bazon" . "mihai.bazon@gmail.com")) (:maintainer "Mihai Bazon" . "mihai.bazon@gmail.com"))]) -(stumpwm-mode . [(20140131 216) nil "special lisp mode for evaluating code into running stumpwm" single ((:commit . "61a7cf27e49e0779a53c018b2342f5f1c5cc70b4") (:keywords "comm" "lisp" "tools") (:maintainer "Shawn Betts"))]) -(stripe-buffer . [(20141208 1508) ((cl-lib (1 0))) "Use a different background for even and odd lines" single ((:commit . "c252080f55cb78c951b19ebab9687f6d00237baf") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "sabof" . "esabof@gmail.com") (:url . "https://github.com/sabof/stripe-buffer"))]) -(string-utils . [(20140508 2041) ((list-utils (0 4 2))) "String-manipulation utilities" single ((:commit . "c2232d691617973ecf12a970c6008a161c21da14") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/string-utils"))]) -(string-inflection . [(20180827 1301) nil "underscore -> UPCASE -> CamelCase -> lowerCamelCase conversion of names" single ((:commit . "e9a50855a4c718592c28a5a892f164ecf46e39a8") (:keywords "elisp") (:authors ("akicho8" . "akicho8@gmail.com")) (:maintainer "akicho8" . "akicho8@gmail.com"))]) -(string-edit . [(20160411 656) ((dash (1 2 0))) "Avoid escape nightmares by editing string in separate buffer" single ((:commit . "c44b65b4c5e9f52be9c14d88ca2f402a18d9e1dd") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(strie . [(20160211 2222) ((cl-lib (0 5))) "A simple trie data structure implementation" single ((:commit . "eb7efb0cccc127c414f6a64db11454869d9c10a8") (:authors ("James Atwood" . "jatwood@cs.umass.edu")) (:maintainer "James Atwood" . "jatwood@cs.umass.edu"))]) -(strace-mode . [(20171116 2039) nil "strace output syntax highlighting" single ((:commit . "2901baa968d5180ab985ac40ca22cc20914d01f5") (:keywords "languages") (:authors ("Preston Moore" . "prestonkmoore@gmail.com")) (:maintainer "Preston Moore" . "prestonkmoore@gmail.com"))]) -(stock-tracker . [(20190902 812) ((emacs (26)) (dash (2 16 0))) "Track stock price" single ((:commit . "c7455081fa78fd8ffa229dcf0c691f66bf2ece16") (:keywords "convenience" "chinese" "stock") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:url . "https://github.com/beacoder/stock-tracker"))]) -(stock-ticker . [(20150204 1052) ((s (1 9 0)) (request (0 2 0))) "Show stock prices in mode line" single ((:commit . "f2e564142c9de84232839a5b01979cf95b04d6a9") (:keywords "comms") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:url . "https://github.com/hagleitn/stock-ticker"))]) -(stickyfunc-enhance . [(20150429 1814) ((emacs (24 3))) "An enhancement to stock `semantic-stickyfunc-mode'" single ((:commit . "13bdba51fcd83ccbc3267959d23afc94d458dcb0") (:keywords "c" "languages" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/semantic-stickyfunc-enhance"))]) -(sticky . [(20170926 36) nil "Sticky key for capital letters" single ((:commit . "fec4e1af38f17f5cd80eca361d8e8ef8772db366") (:keywords "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sticky.el"))]) -(stgit . [(20171130 1559) nil "major mode for StGit interaction" single ((:commit . "8e445f71bdf613e171be668a1ffe1ab800a0fc60") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://www.procode.org/stgit"))]) -(stem-english . [(20180109 358) ((emacs (24 3))) "- routines for stemming English word" single ((:commit . "c9fc4c6ed6bf82382e479dae80912f4ae17d31f4") (:keywords "text") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "KAWABATA, Taichi ") (:url . "http://github.com/kawabata/stem-english"))]) -(stem . [(20131102 1109) nil "Routines for stemming" single ((:commit . "d74e6611d6ba5025e0276a2cc7c8a90f46bfa9ac") (:keywords "stemming") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp") (:url . "https://github.com/yuutayamada/stem"))]) -(steam . [(20190916 627) ((cl-lib (0 5))) "Organize and launch Steam games" single ((:commit . "f32951f4e0a4bc92813d0121d9df0257101b8992") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/steam.el"))]) -(status . [(20151230 1408) nil "This package adds support for status icons to Emacs." tar ((:commit . "b62c74bf272566f82a68622f29fb9edafea0f241"))]) -(state . [(20180627 1956) ((emacs (24))) "Quick navigation between workspaces" single ((:commit . "258fe1cba00bdc2c600f866bb0406c719661d0a6") (:keywords "convenience" "workspaces") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:url . "https://github.com/thisirs/state.git"))]) -(stash . [(20151117 1427) nil "lightweight persistent caching" single ((:commit . "c2e494d20c752b80ebbdffbf66687b3cdfc425ad") (:keywords "extensions" "data" "internal" "lisp") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://www.github.com/vermiculus/stash.el/"))]) -(start-menu . [(20160426 1225) ((cl-lib (0 5)) (config-parser (0 1))) "start-menu for executing external program like in windows" single ((:commit . "f7d33fed7ad2dc61156f1c1cff9e1805366fbd69") (:keywords "convenience" "menu") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/el-start-menu"))]) -(standoff-mode . [(20171115 1731) nil "Create stand-off markup, also called external markup." tar ((:commit . "cf84b14066d63694d931395c6026fd0245d8a62b"))]) -(stan-snippets . [(20191104 1056) ((emacs (24 3)) (stan-mode (10 0 0)) (yasnippet (0 8 0))) "Yasnippets for Stan" tar ((:commit . "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a") (:keywords "languages" "tools") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-snippets"))]) -(stan-mode . [(20191106 131) ((emacs (24 4))) "Major mode for editing Stan files" tar ((:commit . "711b56bce5ec6adbcabe964342d2d0adbd0fbf6a") (:keywords "languages" "c") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Daniel Lee" . "bearlee@alum.mit.edu") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-mode"))]) -(stack-mode . [(20150923 1523) ((haskell-mode (13 14)) (cl-lib (0 5)) (flycheck (0 23))) "A minor mode enabling various features based on stack-ide." tar ((:commit . "f3481e239dde9817152ec00e32bfc3ebf5aaf2cb") (:keywords "haskell" "stack") (:url . "https://github.com/commercialhaskell/stack-ide"))]) -(ssh-tunnels . [(20190622 931) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" tar ((:commit . "d32e2072f50bcbde787196abb5862735837dc8be") (:keywords "tools" "convenience") (:authors ("death ")) (:maintainer "death ") (:url . "http://github.com/death/ssh-tunnels"))]) -(ssh-deploy . [(20190917 530) ((emacs (25))) "Deployment via Tramp, global or per directory." tar ((:commit . "93a0e189a06d49b03627c65fe77652bee9f129d4") (:keywords "tools" "convenience") (:authors ("Christian Johansson" . "christian@cvj.se")) (:maintainer "Christian Johansson" . "christian@cvj.se") (:url . "https://github.com/cjohansson/emacs-ssh-deploy"))]) -(ssh-config-mode . [(20191102 951) nil "Mode for fontification of ~/.ssh/config" tar ((:commit . "41567507479c8cba0e3d6b140faccf826017f7aa") (:keywords "ssh" "config" "emacs") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Harley Gorrell" . "harley@panix.com") (:url . "https://github.com/jhgorrell/ssh-config-mode-el"))]) -(ssh-agency . [(20191009 156) ((emacs (24 4)) (dash (2 10 0))) "manage ssh-agent from Emacs" single ((:commit . "89ea87dbfa0aa2fe644f7215aa3628c3008852c5") (:authors ("Noam Postavsky" . "npostavs@user.sourceforge.net")) (:maintainer "Noam Postavsky" . "npostavs@user.sourceforge.net") (:url . "https://github.com/magit/ssh-agency"))]) -(ssh . [(20120904 2042) nil "Support for remote logins using ssh." single ((:commit . "c17cf5b43df8ac4662a0580f85898e1f078df0d1") (:keywords "unix" "comm") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) -(ssass-mode . [(20190521 249) ((emacs (24 3))) "Edit Sass without a Turing Machine" single ((:commit . "c2c610abd85fecd171466bf5a9a4943bd62ffda5") (:keywords "languages" "sass") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ssass-mode"))]) -(srv . [(20180715 1959) ((emacs (24 3))) "perform SRV DNS requests" single ((:commit . "714387d5a5cf34d8d8cd96bdb1f9cb8ded823ff7") (:keywords "comm") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:url . "https://github.com/legoscia/srv.el"))]) -(srefactor . [(20180703 1810) ((emacs (24 4))) "A refactoring tool based on Semantic parser framework" tar ((:commit . "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5") (:keywords "c" "languages" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/semantic-refactor"))]) -(srcery-theme . [(20191123 1753) ((emacs (24))) "Dark color theme." single ((:commit . "bbd9b9239fc1a05f1aa1b7e7810166b4aa463ccc") (:keywords "faces") (:authors ("Daniel Berg")) (:maintainer "Daniel Berg") (:url . "https://github.com/srcery-colors/srcery-emacs"))]) -(sr-speedbar . [(20161025 831) nil "Same frame speedbar" single ((:commit . "77a83fb50f763a465c021eca7343243f465b4a47") (:keywords "speedbar" "sr-speedbar.el") (:authors ("Sebastian Rose" . "sebastian_rose@gmx.de")) (:maintainer "Sebastian Rose" . "sebastian_rose@gmx.de") (:url . "http://www.emacswiki.org/emacs/download/sr-speedbar.el"))]) -(sqlup-mode . [(20170610 1537) nil "Upcase SQL words for you" single ((:commit . "3f9df9c88d6a7f9b1ae907e401cad8d3d7d63bbf") (:keywords "sql" "tools" "redis" "upcase") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "https://github.com/trevoke/sqlup-mode.el"))]) -(sqlite . [(20180708 1711) nil "use sqlite via elisp" single ((:commit . "dad42b8bbca4994be1871343dd18fd6528ee5797") (:authors ("Christian Giménez")) (:maintainer "Christian Giménez"))]) -(sqlformat . [(20190420 2256) ((emacs (24)) (reformatter (0 3))) "Reformat SQL using sqlformat or pgformatter" single ((:commit . "f7f46be6f06b83642c312151f3b5276f8830d9d7") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/sqlformat"))]) -(sql-sqlline . [(20191028 939) ((emacs (24 4))) "Adds SQLLine support to SQLi mode" single ((:commit . "990c79b7ebbf8ecb1e1161c9a942973efd8e2833") (:keywords "languages") (:authors ("Matteo Redaelli" . "matteo.redaelli@gmail.com")) (:maintainer "Matteo Redaelli" . "matteo.redaelli@gmail.com") (:url . "https://gitlab.com/matteo.redaelli/sql-sqlline"))]) -(sql-presto . [(20190113 1742) nil "No description available." single ((:commit . "bcda455e300a1af75c7bb805882329bc844703b2"))]) -(sql-impala . [(20181218 410) nil "comint support for Cloudera Impala" single ((:commit . "466e7c0c789ec3e5e8a276c8f6754f91bb584c3e") (:keywords "sql" "impala") (:authors ("Jason Terk" . "jason@goterkyourself.com")) (:maintainer "Jason Terk" . "jason@goterkyourself.com") (:url . "https://github.com/jterk/sql-impala"))]) -(sql-clickhouse . [(20180302 1555) ((emacs (24))) "support ClickHouse as SQL interpreter" single ((:commit . "2edccd94145c55a040a3a87193793f06cf01f64f") (:authors ("Robert Schwarz" . "mail@rschwarz.net")) (:maintainer "Robert Schwarz" . "mail@rschwarz.net") (:url . "https://github.com/leethargo/sql-clickhouse"))]) -(spu . [(20161214 324) ((emacs (24 4)) (signal (1 0)) (timp (1 2 0))) "Silently upgrade package in the background" tar ((:commit . "41eec86b595816e3852e8ad1a8e07e51a27fd065") (:keywords "convenience" "package") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/spu"))]) -(sprunge . [(20160301 243) ((request (0 2 0)) (cl-lib (0 5))) "Upload pastes to sprunge.us" single ((:commit . "0fd386b8b29c4175022a04ad70ea5643185b6726") (:keywords "tools") (:authors ("Tom Jakubowski")) (:maintainer "Tom Jakubowski"))]) -(sproto-mode . [(20151115 1805) nil "Major mode for editing sproto." single ((:commit . "0583a88273204dccd884b7edaa3590cefd31e7f7") (:keywords "sproto") (:authors ("m2q1n9")) (:maintainer "m2q1n9"))]) -(sprintly-mode . [(20121006 534) ((furl (0 0 2))) "Major mode for dealing with sprint.ly" single ((:commit . "6695892bae5860b5268bf3ae62be990ee9b63c11") (:authors ("Justin Lilly" . "justin@justinlilly.com")) (:maintainer "Justin Lilly" . "justin@justinlilly.com") (:url . "https://github.com/sprintly/sprintly-mode"))]) -(springboard . [(20170106 755) ((helm (1 6 9))) "Temporarily change default-directory for one command" single ((:commit . "687d1e5898a880878995dc9bffe93b4598366203") (:keywords "helm") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) -(spray . [(20160304 2220) nil "a speed reading mode" single ((:commit . "00638bc916227f2f961013543d10e85a43a32e29") (:keywords "convenience") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:url . "https://github.com/ian-kelling/spray"))]) -(spotlight . [(20150929 755) ((emacs (24 1)) (swiper (0 6 0)) (counsel (0 6 0))) "search files with Mac OS X spotlight" single ((:commit . "ab902900f22e7d1ea2dd8169441d2da7155aaa68") (:keywords "search" "external") (:authors ("Ben Maughan" . "benmaughan@gmail.com")) (:maintainer "Ben Maughan" . "benmaughan@gmail.com") (:url . "http://www.pragmaticemacs.com"))]) -(spotify . [(20181030 810) ((cl-lib (0 5))) "Control the spotify application from emacs" single ((:commit . "29577cf1188161f98b8358c149aaf47b2c137902") (:keywords "convenience") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/spotify-el"))]) -(splitter . [(20170809 2208) nil "Manage window splits" single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))]) -(splitjoin . [(20150505 1432) ((cl-lib (0 5))) "Transition between multiline and single-line code" single ((:commit . "e2945ee269e6e90f0243d6f2a33e067bb0a2873c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-splitjoin"))]) -(spiral . [(20180223 1140) ((emacs (25 1)) (a (0 1 0 -3 4)) (avy (0 4 0)) (clojure-mode (5 6 0)) (highlight (0)) (treepy (1 0 0))) "Clojure IDE based on UNREPL" tar ((:commit . "907b9792467139a942ba7b07ca0276b90770baf9") (:keywords "languages" "clojure") (:authors ("Daniel Barreto" . "daniel@barreto.tech")) (:maintainer "Daniel Barreto" . "daniel@barreto.tech") (:url . "https://github.com/Unrepl/spiral"))]) -(spice-mode . [(20190608 1033) ((emacs (24 3))) "Major mode for SPICE" single ((:commit . "e5e0644f03f9696f56dd69e2b6979da7f30ed600") (:keywords "spice" "spice2g6" "spice3" "eldo" "hspice" "layla" "mondriaan" "fasthenry" "cdl" "spectre compatibility" "netlist editing") (:authors ("Geert A. M. Van der Plas" . "geert_vanderplas@email.com") ("Emmanuel Rouat" . "emmanuel.rouat@wanadoo.fr") ("Carlin J. Vieri, MIT AI Lab" . "cvieri@ai.mit.edu")) (:maintainer "Geert A. M. Van der Plas" . "geert_vanderplas@email.com") (:url . "http://spice-mode.4t.com/"))]) -(sphinx-mode . [(20180620 915) ((f (0 20 0)) (dash (2 14 1))) "Minor mode providing sphinx support." tar ((:commit . "b5ac514e213459dcc57184086f10b5b6be3cecd8"))]) -(sphinx-frontend . [(20161025 758) nil "Launch build process for rst documents via sphinx." single ((:commit . "0cbb03361c245382d3e679dded30c4fc1713c252") (:keywords "compile" "sphinx" "restructuredtext") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/sphinx-frontend"))]) -(sphinx-doc . [(20160116 1117) ((s (1 9 0)) (cl-lib (0 5)) (dash (2 10 0))) "Sphinx friendly docstrings for Python functions" single ((:commit . "f39da2e6cae55d5d7c7ce887e69755b7529bcd67") (:keywords "sphinx" "python") (:authors ("Vineet Naik" . "naikvin@gmail.com")) (:maintainer "Vineet Naik" . "naikvin@gmail.com") (:url . "https://github.com/naiquevin/sphinx-doc.el"))]) -(speeddating . [(20180319 723) ((emacs (25))) "Increase date and time at point" single ((:commit . "df69db0560f19636a66a74f3d88c793bbb18b21e") (:keywords "date" "time") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/emacs-speeddating"))]) -(speed-type . [(20190526 953) ((emacs (24 3)) (cl-lib (0 3))) "Practice touch and speed typing" single ((:commit . "c98f9ebd4abf96db967f9c0dff9ccfa4b7f4035b") (:keywords "games") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:url . "https://github.com/parkouss/speed-type"))]) -(speechd-el . [(20190821 1129) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "1d4086a64ba554bb8c7d648c8d0e6c176277f6f3"))]) -(speech-tagger . [(20170728 1829) ((cl-lib (0 5))) "tag parts of speech using coreNLP" tar ((:commit . "61955b40d4e8b09e66a3e8033e82893f81657c06") (:keywords "speech" "tag" "nlp" "language" "corenlp" "parsing" "natural") (:authors ("Danny McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Danny McClanahan" . "danieldmcclanahan@gmail.com") (:url . "https://github.com/cosmicexplorer/speech-tagger"))]) -(sparql-mode . [(20180320 1802) ((cl-lib (0 5)) (emacs (24 3))) "Edit and interactively evaluate SPARQL queries." tar ((:commit . "a00bb622c54086ac1ee96c265bf7fbef12c68089") (:authors ("Craig Andera ")) (:maintainer "Bjarte Johansen ") (:url . "https://github.com/ljos/sparql-mode"))]) -(sparkline . [(20150101 1319) ((cl-lib (0 3))) "Make sparkline images from a list of numbers" single ((:commit . "a2b5d817d272d6363b67ed8f8cc75499a19fa8d2") (:keywords "extensions") (:authors ("Willem Rein Oudshoorn" . "woudshoo@xs4all.nl")) (:maintainer "Willem Rein Oudshoorn" . "woudshoo@xs4all.nl"))]) -(spark . [(20160415 201) ((emacs (24 3))) "sparkline generation" single ((:commit . "0bf148c3ede3b31d56fd75f347cdd0b0eae60025") (:keywords "lisp" "data") (:authors ("Alvin Francis Dumalus")) (:maintainer "Alvin Francis Dumalus") (:url . "https://github.com/alvinfrancis/spark"))]) -(spaces . [(20170809 2208) nil "Create and switch between named window configurations." single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))]) -(spacemacs-theme . [(20191107 1747) nil "Color theme with a dark and light versions" tar ((:commit . "02c36aac44e0352d25741ab2abc988246e91b64f") (:keywords "color" "theme") (:url . "https://github.com/nashamri/spacemacs-theme"))]) -(spaceline-all-the-icons . [(20190325 1602) ((emacs (24 4)) (all-the-icons (2 6 0)) (spaceline (2 0 0)) (memoize (1 0 1))) "A Spaceline theme using All The Icons" tar ((:commit . "5afd48c10f1bd42d9b9648c5e64596b72f3e9042") (:keywords "convenience" "lisp" "tools") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:url . "https://github.com/domtronn/spaceline-all-the-icons.el"))]) -(spaceline . [(20181223 2024) ((emacs (24 4)) (cl-lib (0 5)) (powerline (2 3)) (dash (2 11 0)) (s (1 10 0))) "Modeline configuration library for powerline" tar ((:commit . "ae45a819ea7ae52febb4d7d82170af44dff10f19") (:keywords "mode-line" "powerline" "spacemacs") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/spaceline"))]) -(spacegray-theme . [(20150719 1931) ((emacs (24 1))) "A Hyperminimal UI Theme" single ((:commit . "9826265c2bceb2ebc1c5e16a45021da0253ace97") (:keywords "themes") (:authors ("Bruce Williams" . "brwcodes@gmail.com")) (:maintainer "Bruce Williams" . "brwcodes@gmail.com") (:url . "http://github.com/bruce/emacs-spacegray-theme"))]) -(spacebar . [(20190719 334) ((eyebrowse (0 7 7)) (emacs (25 4 0))) "Workspaces Bar" single ((:commit . "2b2cd0e786877273103f048e62a06b0027deca2d") (:keywords "convenience") (:authors ("Matthias Margush" . "matthias.margush@gmail.com")) (:maintainer "Matthias Margush" . "matthias.margush@gmail.com") (:url . "https://github.com/matthias-margush/spacebar"))]) -(sourcetrail . [(20170410 2137) ((emacs (24 4))) "Communication with Sourcetrail" single ((:commit . "b8d5557aa565ae979622312576db20515f65f977") (:keywords "external" "tool") (:authors ("Andreas Stallinger" . "astallinger@sourcetrail.com")) (:maintainer "Andreas Stallinger" . "astallinger@sourcetrail.com"))]) -(sourcerer-theme . [(20161014 1625) nil "A version of sourcerer by xero" single ((:commit . "c7f8e665d53bb48fb72f95f706710d53d24bd407") (:keywords "themes") (:authors ("Bryan Gilbert" . "gilbertw1@gmail.com")) (:maintainer "Bryan Gilbert" . "gilbertw1@gmail.com") (:url . "http://github.com/gilbertw1/sourcerer-emacs"))]) -(sourcemap . [(20161216 540) ((emacs (24 3))) "Sourcemap parser" single ((:commit . "64c89d296186f48d9135fb8aad501de19f64bceb") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sourcemap"))]) -(sourcekit . [(20180101 834) ((emacs (24 3)) (dash (2 12 1)) (dash-functional (1 2 0)) (request (0 2 0))) "Library to interact with sourcekittendaemon" single ((:commit . "abf9bc5a0102eb666d3aa6d6bf22f6efcc852781") (:keywords "tools" "processes") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/company-sourcekit"))]) -(soundklaus . [(20160314 1231) ((dash (2 12 1)) (emacs (24)) (emms (4 0)) (s (1 11 0)) (pkg-info (0 4)) (cl-lib (0 5)) (request (0 2 0))) "Play music on SoundCloud with Emacs via EMMS" tar ((:commit . "09ec030843482594beae2664b8fe1e0ad1e66472") (:keywords "soundcloud" "music" "emms") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:url . "https://github.com/r0man/soundklaus.el"))]) -(soundcloud . [(20150502 326) ((emms (20131016)) (json (1 2)) (deferred (0 3 1)) (string-utils (0 3 2)) (request (20140316 417)) (request-deferred (20130526 1015))) "a SoundCloud client for Emacs" single ((:commit . "f998d4276ea90258909c698f6a5a51fccb667c08") (:keywords "soundcloud" "music" "audio") (:authors ("Travis Thieman" . "travis.thieman@gmail.com")) (:maintainer "Travis Thieman" . "travis.thieman@gmail.com"))]) -(sound-wav . [(20181126 1726) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "49a9f10334b914cf6429e49b5449e0711a3aa251") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))]) -(sotlisp . [(20190211 2026) ((emacs (24 1))) "Write lisp at the speed of thought." single ((:commit . "ed2356a325c7a4a88ec1bd31381c8666e8997e97") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))]) -(sotclojure . [(20170922 8) ((emacs (24 1)) (clojure-mode (4 0 0)) (cider (0 8)) (sotlisp (1 3))) "Write clojure at the speed of thought." tar ((:commit . "a480c887b53cb007b7b099c5ffcab89b9e59d7bc") (:keywords "convenience" "clojure") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-clojure"))]) -(sos . [(20141215 403) ((org (7))) "StackOverflow Search" single ((:commit . "1573adca912b88b5010d99a25c83a5b2313bd39c") (:keywords "tools" "search" "questions") (:authors ("Rudolf Olah")) (:maintainer "Rudolf Olah") (:url . "https://github.com/omouse/emacs-sos"))]) -(sort-words . [(20160929 1335) nil "Sort words in a selected region" single ((:commit . "7b6e108f80237363faf7ec28b2c58dec270b8601") (:keywords "tools") (:authors ("\"Aleksandar Simic\"" . "asimic@gmail.com")) (:maintainer "\"Aleksandar Simic\"" . "asimic@gmail.com") (:url . "http://github.org/dotemacs/sort-words.el"))]) -(soothe-theme . [(20141027 1441) ((emacs (24 1))) "a dark colorful theme for Emacs24." single ((:commit . "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-soothe-theme"))]) -(sonic-pi . [(20171205 1205) ((cl-lib (0 5)) (osc (0 1)) (dash (2 2 0)) (emacs (24)) (highlight (0))) "A Emacs client for SonicPi" tar ((:commit . "3cf101b3b299735ed91658c7791ea4f04164e076") (:keywords "sonicpi" "ruby") (:authors ("Joseph Wilk" . "joe@josephwilk.net")) (:maintainer "Joseph Wilk" . "joe@josephwilk.net") (:url . "http://www.github.com/repl-electric/sonic-pi.el"))]) -(solidity-mode . [(20190302 909) nil "Major mode for ethereum's solidity language" tar ((:commit . "47f15b2663a6cf92ae6ebf655841a9509ad79017") (:keywords "languages" "solidity") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))]) -(solidity-flycheck . [(20181117 1518) ((flycheck (32 -4)) (solidity-mode (0 1 9))) "Flycheck integration for solidity emacs mode" single ((:commit . "47f15b2663a6cf92ae6ebf655841a9509ad79017") (:keywords "languages" "solidity" "flycheck") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))]) -(solarized-theme . [(20191127 1514) ((emacs (24 1)) (dash (2 16))) "The Solarized color theme" tar ((:commit . "a11ff00bd49d2ce69702fc0c213dabc5e49b0976") (:keywords "convenience" "themes" "solarized") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/solarized-emacs"))]) -(solaire-mode . [(20190721 1046) ((emacs (24 4)) (cl-lib (0 5))) "make certain buffers grossly incandescent" single ((:commit . "794245665c3374af74880cbc7b16b4da02ad0411") (:keywords "dim" "bright" "window" "buffer" "faces") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-solaire-mode"))]) -(soft-stone-theme . [(20140614 835) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "fb475514cfb02cf30ce358a61c48e46614344d48") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-stone-theme"))]) -(soft-morning-theme . [(20150918 2041) nil "Emacs24 theme with a light background." single ((:commit . "c0f9c70c97ef2be2a093cf839c4bfe27740a111c") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-morning-theme"))]) -(soft-charcoal-theme . [(20140420 1643) nil "Dark charcoal theme with soft colors" single ((:commit . "5607ab977fae6638e78b1495e02da8955c9ba19f") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-charcoal-theme"))]) -(socyl . [(20170212 642) ((s (1 11 0)) (dash (2 12 0)) (pkg-info (0 5 0)) (cl-lib (0 5))) "Frontend for several search tools" tar ((:commit . "1ef2da42f66f3ab31a34131e51648f352416f0ba") (:keywords "ripgrep" "sift" "ack" "pt" "ag" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/socyl"))]) -(soar-mode . [(20190503 1843) nil "A major mode for the Soar language" single ((:commit . "13b6fca62ea6574d230516fddf359a61f6558ecd") (:keywords "languages" "soar") (:url . "https://github.com/adeschamps/soar-mode"))]) -(snoopy . [(20171008 2004) ((emacs (24)) (cl-lib (0 6))) "minor mode for number row unshifted character insertion" single ((:commit . "ec4123bdebfe0bb7bf4feaac2dc02b59caffe386") (:keywords "lisp") (:authors ("António Nuno Monteiro" . "anmonteiro@gmail.com")) (:maintainer "António Nuno Monteiro" . "anmonteiro@gmail.com"))]) -(snippet . [(20130210 2315) nil "Insert snippets of text into a buffer" single ((:commit . "11d00dd803874b93836f2010b08bd2c97b0f3c63") (:authors ("Pete Kazmier")) (:maintainer "Pete Kazmier"))]) -(snazzy-theme . [(20170823 1832) ((emacs (24)) (base16-theme (2 1))) "An elegant syntax theme with bright colors" single ((:commit . "57a1763b49b4a776084c16bc70c219246fa5b412") (:keywords "faces" "theme" "color" "snazzy") (:url . "https://github.com/weijiangan/emacs-snazzy/"))]) -(snapshot-timemachine-rsnapshot . [(20170324 1213) ((snapshot-timemachine (20160222 132)) (seq (2 19))) "rsnapshot backend for snapshot-timemachine" single ((:commit . "72b0b700d80f1a0442e62bbbb6a0c8c59182f97f") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))]) -(snapshot-timemachine . [(20161221 929) ((emacs (24 4))) "Step through (Btrfs, ZFS, ...) snapshots of files" single ((:commit . "99efcebab309b11ed512a8dc62555d3834df5efb") (:authors ("Thomas Winant" . "dewinant@gmail.com")) (:maintainer "Thomas Winant" . "dewinant@gmail.com") (:url . "https://github.com/mrBliss/snapshot-timemachine"))]) -(snakemake-mode . [(20190912 308) ((emacs (24 5)) (cl-lib (0 5)) (magit-popup (2 4 0))) "Major mode for editing Snakemake files" tar ((:commit . "239b0c812b6963877d64c7051128353f2b9bcb55") (:keywords "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/snakemake-mode"))]) -(smyx-theme . [(20141127 828) nil "smyx Color Theme" single ((:commit . "6263f6b401bbabaed388c8efcfc0be2e58c51401") (:keywords "color" "theme" "smyx") (:authors ("Uriel G Maldonado" . "uriel781@gmail.com")) (:maintainer "Uriel G Maldonado" . "uriel781@gmail.com"))]) -(smtpmail-multi . [(20160218 2349) nil "Use different smtp servers for sending mail" single ((:commit . "83fa9d7a02e000be95cb282c8b48446646896ea1") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/smtpmail-multi"))]) -(smotitah . [(20150218 1030) nil "Modular emacs configuration framework" tar ((:commit . "f9ab562128a5460549d016913533778e8c94bcf3"))]) -(smooth-scrolling . [(20161002 1949) nil "Make emacs scroll smoothly" single ((:commit . "2462c13640aa4c75ab3ddad443fedc29acf68f84") (:keywords "convenience") (:authors ("Adam Spiers" . "emacs-ss@adamspiers.org") ("Jeremy Bondeson" . "jbondeson@gmail.com") ("Ryan C. Thompson" . "rct+github@thompsonclan.org")) (:maintainer "Adam Spiers" . "emacs-ss@adamspiers.org") (:url . "http://github.com/aspiers/smooth-scrolling/"))]) -(smooth-scroll . [(20130322 414) nil "Minor mode for smooth scrolling and in-place scrolling." single ((:commit . "02320f28abb5cae28b3a18f6b9ce93129bdbfc45") (:keywords "convenience" "emulations" "frames") (:authors ("K-talo Miyazaki ")) (:maintainer "K-talo Miyazaki ") (:url . "http://www.emacswiki.org/emacs/download/smooth-scroll.el"))]) -(smmry . [(20161024 901) nil "SMMRY client" single ((:commit . "986a1b0aec8ab1ef17dbfb7886f47e5558cf738a") (:keywords "api" "smmry") (:authors ("james sangho nah" . "microamp@protonmail.com")) (:maintainer "james sangho nah" . "microamp@protonmail.com") (:url . "https://github.com/microamp/smmry.el"))]) -(sml-modeline . [(20170614 2111) nil "Show position in a scrollbar like way in mode-line" single ((:commit . "d2f9f70174c4cf68c67eb3bb8088235735e34d9a") (:authors ("Lennart Borgman (lennart O borgman A gmail O com)")) (:maintainer "Lennart Borgman (lennart O borgman A gmail O com)") (:url . "http://bazaar.launchpad.net/~nxhtml/nxhtml/main/annotate/head%3A/util/sml-modeline.el"))]) -(smiles-mode . [(20160717 1120) nil "Major mode for SMILES." single ((:commit . "fbb381758adcb000a0c304be1b797f985f00e2de") (:keywords "smiles") (:authors (nil . "John Kitchin [jkitchin@andrew.cmu.edu]")) (:maintainer nil . "John Kitchin [jkitchin@andrew.cmu.edu]"))]) -(smex . [(20151212 2209) ((emacs (24))) "M-x interface with Ido-style fuzzy matching." single ((:commit . "55aaebe3d793c2c990b39a302eb26c184281c42c") (:keywords "convenience" "usability") (:authors ("Cornelius Mika" . "cornelius.mika@gmail.com")) (:maintainer "Cornelius Mika" . "cornelius.mika@gmail.com") (:url . "http://github.com/nonsequitur/smex/"))]) -(smeargle . [(20161212 2358) ((emacs (24 3))) "Highlighting region by last updated time" single ((:commit . "0665b1ff5109731898bc4a0ca6d939933b804777") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-smeargle"))]) -(smblog . [(20190920 1823) ((emacs (24 3))) "samba log viewer" single ((:commit . "fe866afbe19f804f80c37e077192576e4b0aad1a") (:authors ("Aurélien Aptel" . "aaptel@suse.com")) (:maintainer "Aurélien Aptel" . "aaptel@suse.com") (:url . "http://github.com/aaptel/smblog-mode"))]) -(smbc . [(20171229 1808) nil "View SMBC from Emacs" single ((:commit . "10538e3d575ba6ef3c94d555af2744b42dfd36c7") (:keywords "smbc" "webcomic") (:authors ("Saksham Sharma" . "saksham0808@gmail.com")) (:maintainer "Saksham Sharma" . "saksham0808@gmail.com") (:url . "https://github.com/sakshamsharma/emacs-smbc"))]) -(smarty-mode . [(20100703 1158) nil "major mode for editing smarty templates" single ((:commit . "3dfdfe1571f5e9ef55a29c51e5a80046d4cb7568") (:keywords "smarty" "php" "languages" "templates") (:maintainer "Benj Carson") (:url . "none yet"))]) -(smartscan . [(20170211 2033) nil "Jumps between other symbols found at point" single ((:commit . "234e077145710a174c20742de792b97ed2f965f6") (:keywords "extensions") (:authors ("Mickey Petersen" . "mickey@masteringemacs.org")) (:maintainer "Mickey Petersen" . "mickey@masteringemacs.org"))]) -(smartrep . [(20150509 230) nil "Support sequential operation which omitted prefix keys." single ((:commit . "f0ff5a6d7b8603603598ae3045c98b011e58d86e") (:keywords "convenience") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/smartrep.el"))]) -(smartparens . [(20191015 1754) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "9738360eb2afb58b4c21815f9d5c793b8125f540"))]) -(smart-window . [(20160717 130) ((cl-lib (0 5))) "vim-like window controlling plugin" single ((:commit . "5996461b7cbc5ab4509ac48537916eb29a8e4c16") (:keywords "window") (:authors ("Felix Chern" . "idryman@gmail.com")) (:maintainer "Felix Chern" . "idryman@gmail.com") (:url . "https://github.com/dryman/smart-window.el"))]) -(smart-tabs-mode . [(20160629 1452) nil "Intelligently indent with tabs, align with spaces!" single ((:commit . "9cc2594b82b03e7d68645a4878f9359f8b8c34c5") (:keywords "languages") (:authors ("John Croisant" . "jacius@gmail.com") ("Alan Pearce" . "alan@alanpearce.co.uk") ("Daniel Dehennin" . "daniel.dehennin@baby-gnu.org") ("Matt Renaud" . "mrenaud92@gmail.com")) (:maintainer "Joel C. Salomon" . "joelcsalomon@gmail.com") (:url . "http://www.emacswiki.org/emacs/SmartTabs"))]) -(smart-tab . [(20190916 137) nil "Intelligent tab completion and indentation." single ((:commit . "0f6963ce4de403fa43f3db68b31ce059f6251c3a") (:keywords "extensions") (:authors ("John SJ Anderson" . "genehack@genehack.org") ("Sebastien Rocca Serra" . "sroccaserra@gmail.com") ("Daniel Hackney" . "dan@haxney.org")) (:maintainer "John SJ Anderson" . "genehack@genehack.org") (:url . "http://github.com/genehack/smart-tab/tree/master"))]) -(smart-shift . [(20150203 725) nil "Smart shift text left/right." single ((:commit . "a26ab2b240137e62ec4bce1698ed9c5f7b6d13ae") (:keywords "convenience" "tools") (:authors ("Bin Huang" . "huangbin88@foxmail.com")) (:maintainer "Bin Huang" . "huangbin88@foxmail.com") (:url . "https://github.com/hbin/smart-shift"))]) -(smart-semicolon . [(20171008 133) ((emacs (25))) "Insert semicolon smartly" single ((:commit . "bcea2aa37befa40abf8b24a2d2314904e6df43b3") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/smart-semicolon"))]) -(smart-region . [(20150903 1403) ((emacs (24 4)) (expand-region (0 10 0)) (multiple-cursors (1 3 0)) (cl-lib (0 5))) "Smartly select region, rectangle, multi cursors" single ((:commit . "5a8017fd8e8dc3483865951c4942cab3f96f69f6") (:keywords "marking" "region") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:url . "https://github.com/uk-ar/smart-region"))]) -(smart-newline . [(20131208 340) nil "Provide smart newline for one keybind." single ((:commit . "0553a9e4be7188352de1a28f2eddfd28e7436f94") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai"))]) -(smart-mode-line-powerline-theme . [(20160706 38) ((emacs (24 3)) (powerline (2 2)) (smart-mode-line (2 5))) "smart-mode-line theme that mimics the powerline appearance." tar ((:commit . "999be065b195f2eddb4e1b629f99038d832d44b7") (:keywords "mode-line" "faces" "themes") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/smart-mode-line"))]) -(smart-mode-line-atom-one-dark-theme . [(20181220 1756) ((emacs (24 3)) (smart-mode-line (2 10))) "Atom-one-dark theme for smart-mode-line" single ((:commit . "79261aeafa89664039201e3d3f405bc8b0a6aa8d") (:keywords "mode-line" "themes" "faces") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:url . "https://github.com/daviderestivo/smart-mode-line-atom-one-dark-theme"))]) -(smart-mode-line . [(20190527 1156) ((emacs (24 3)) (rich-minority (0 1 1))) "A color coded smart mode-line." tar ((:commit . "999be065b195f2eddb4e1b629f99038d832d44b7") (:keywords "mode-line" "faces" "themes") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "http://github.com/Malabarba/smart-mode-line"))]) -(smart-mark . [(20150912 210) nil "Restore point after C-g when mark" single ((:commit . "04b522a23e3aae8381c6a976fc978532fcb2e7d0") (:keywords "mark" "restore") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))]) -(smart-jump . [(20190925 1518) ((emacs (25 1)) (dumb-jump (0 5 1))) "Smart go to definition." tar ((:commit . "07800ddd508cf620e6360e4a1f5bb25f8eab3ab1") (:keywords "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/smart-jump"))]) -(smart-indent-rigidly . [(20141206 15) nil "Smart rigid indenting" single ((:commit . "323d1fe4d0b81e598249aad01bc44adb180ece0e") (:keywords "indenting" "coffee-mode" "haml-mode" "sass-mode") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/smart-indent-rigidly"))]) -(smart-hungry-delete . [(20170412 1343) ((emacs (24 3))) "smart hungry deletion of whitespace" single ((:commit . "7c1d56a92481594e14d40b5fdf6c48657a0108a0") (:keywords "convenience") (:authors ("Hauke Rehfeld" . "emacs@haukerehfeld.de")) (:maintainer "Hauke Rehfeld" . "emacs@haukerehfeld.de") (:url . "https://github.com/hrehfeld/emacs-smart-hungry-delete"))]) -(smart-forward . [(20140430 713) ((expand-region (0 8 0))) "Semantic navigation" single ((:commit . "7b6dbfdbd4b646376a567c70e1a161545431b72b") (:keywords "navigation") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(smart-dash . [(20110131 316) nil "Smart-Dash minor mode" single ((:commit . "f8f23121ecb1b4b153e3561065cd0846d6722638") (:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))]) -(smart-cursor-color . [(20141124 1719) nil "Change cursor color dynamically" single ((:commit . "1d190f49ca77734b55ac58f1b6276e42ada967b0") (:keywords "cursor" "color" "face") (:authors ("7696122")) (:maintainer "7696122") (:url . "https://github.com/7696122/smart-cursor-color/"))]) -(smart-compile . [(20190522 1125) nil "an interface to `compile'" single ((:commit . "366a4cdab1ad20105910bc24c4f3e4f8734e4eae") (:keywords "tools" "unix") (:authors ("Seiji Zenitani" . "zenitani@mac.com")) (:maintainer "Seiji Zenitani" . "zenitani@mac.com"))]) -(smart-comment . [(20160322 1839) nil "smarter commenting" single ((:commit . "17ddbd83205818763e6d68aa7a1aa9aaf414cbd4") (:keywords "lisp") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io"))]) -(smart-backspace . [(20171014 526) nil "intellj like backspace" single ((:commit . "a10ec44ff325ec8c4c98b1a6e44e89e60a9aa4ac") (:authors ("Takeshi Tsukamoto" . "t.t.itm.0403@gmail.com")) (:maintainer "Takeshi Tsukamoto" . "t.t.itm.0403@gmail.com") (:url . "https://github.com/itome/smart-backspace"))]) -(sly-repl-ansi-color . [(20171020 1516) ((sly (0)) (cl-lib (0 5))) "Add ANSI colors support to the sly mrepl." single ((:commit . "b9cd52d1cf927bf7e08582d46ab0bcf1d4fb5048") (:keywords "sly") (:authors ("Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") ("Max Mikhanosha")) (:maintainer "Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") (:url . "https://github.com/PuercoPop/sly-repl-ansi-color"))]) -(sly-quicklisp . [(20191012 2124) ((sly (1 0 0 -2 2))) "Quicklisp support for SLY" tar ((:commit . "01ebe3976a244309f2e277c09206831135a0b66c") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-quicklisp"))]) -(sly-named-readtables . [(20191013 2138) ((sly (1 0 0 -2 2))) "Support named readtables in Common Lisp files" tar ((:commit . "a5a42674ccffa97ccd5e4e9742beaf3ea719931f") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-named-readtables"))]) -(sly-macrostep . [(20191013 2138) ((sly (1 0 0 -2 2)) (macrostep (0 9))) "fancy macro-expansion via macrostep.el" tar ((:commit . "be2d24545092d164be1a91031d8881afd29c9ec0") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-macrostep"))]) -(sly-hello-world . [(20191013 2137) ((sly (1 0 0 -2 2))) "A template SLY contrib" tar ((:commit . "ae8fe0a0ebcce50425a1d411c027db06ddec39ce") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-hello-world"))]) -(sly-asdf . [(20191021 718) ((emacs (24 3)) (sly (1 0 0 -2 2))) "ASDF system support for SLY" tar ((:commit . "69123fcebe63bb4d6e40e3dcb187299622401b74") (:keywords "languages" "lisp" "sly" "asdf") (:maintainer "Matt George" . "mmge93@gmail.com") (:url . "https://github.com/mmgeorge/sly-asdf"))]) -(sly . [(20191130 1703) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "f0df1d99ac035f1a4d1e94bd09c3c6eec737c52d") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))]) -(slstats . [(20170823 849) ((cl-lib (0 5)) (emacs (24))) "Acquire and display stats about Second Life" single ((:commit . "e9696066abf3f2b7b818a57c062530dfd9377033") (:keywords "games") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/slstats.el"))]) -(slow-keys . [(20180831 459) ((emacs (24 1))) "Slow keys mode to avoid RSI" single ((:commit . "b93ad77f9fc1d14e080d7d64864fc9cb222248b6") (:keywords "convenience") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:url . "https://github.com/manuel-uberti/slow-keys"))]) -(slovak-holidays . [(20150418 855) nil "Adds a list of slovak holidays to Emacs calendar" single ((:commit . "effb16dfcd14797bf7448f5113085479db339c02") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) -(slirm . [(20160201 1425) ((emacs (24 4))) "Systematic Literature Review Mode for Emacs." single ((:commit . "9adfbe1fc67580e7d0d90f7e927a25d63a797464") (:authors ("Florian Biermann" . "fbie@itu.dk")) (:maintainer "Florian Biermann" . "fbie@itu.dk") (:url . "http://github.com/fbie/slirm"))]) -(slime-volleyball . [(20190701 1624) nil "An SVG Slime Volleyball Game" tar ((:commit . "6c135ad18897c3566d4dadfe847061532600ba2e") (:keywords "games") (:authors ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))]) -(slime-theme . [(20170808 1322) ((emacs (24 0))) "an Emacs 24 theme based on Slime (tmTheme)" single ((:commit . "8e5880ac69e0b6a079103001cc3a90bdb688998f") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(slime-repl-ansi-color . [(20190426 1414) ((emacs (24)) (slime (2 3 1))) "Turn on ANSI colors in REPL output;" single ((:commit . "fdd0c7a75a217abca2ff16ab9281d55f392bd841") (:keywords "lisp") (:authors ("Max Mikhanosha" . "max@openchat.com")) (:maintainer "Augustin Fabre" . "augustin@augfab.fr") (:url . "https://gitlab.com/augfab/slime-repl-ansi-color"))]) -(slime-docker . [(20190430 157) ((emacs (24)) (slime (2 16)) (docker-tramp (0 1)) (cl-lib (0 5))) "Integration of SLIME with Docker containers." tar ((:commit . "151cec4a11965cdc00d231900a50f2c9f455fce2") (:keywords "docker" "lisp" "slime") (:url . "https://github.com/daewok/slime-docker"))]) -(slime-company . [(20190117 1538) ((emacs (24 4)) (slime (2 13)) (company (0 9 0))) "slime completion backend for company mode" single ((:commit . "7290cbad711a62f76c28e5638d1a4d77197a358c") (:keywords "convenience" "lisp" "abbrev") (:authors ("Ole Arndt" . "anwyn@sugarshark.com")) (:maintainer "Ole Arndt" . "anwyn@sugarshark.com"))]) -(slime . [(20191129 1304) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "4122fcabd64551e1ed853f8d277b4d1e785ed49e") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))]) -(slim-mode . [(20170728 1348) nil "Major mode for editing Slim files" single ((:commit . "3636d18ab1c8b316eea71c4732eb44743e2ded87") (:keywords "markup" "language") (:authors ("Nathan Weizenbaum")) (:maintainer "Nathan Weizenbaum") (:url . "http://github.com/slim-template/emacs-slim"))]) -(slideview . [(20150324 2240) ((cl-lib (0 3))) "File slideshow" single ((:commit . "b6d170bda139aedf81b47dc55cbd1a3af512fb4c") (:keywords "files") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-slideview"))]) -(slack . [(20191125 1543) ((websocket (1 8)) (request (0 2 0)) (oauth2 (0 10)) (circe (2 2)) (alert (1 2)) (emojify (0 2))) "Slack client for Emacs" tar ((:commit . "009e48b929ea376696b6a47bf71fab8f77d82126") (:url . "https://github.com/yuya373/emacs-slack"))]) -(sl . [(20161217 1404) ((cl-lib (0 5))) "An Emacs clone of sl(1)" tar ((:commit . "fceb2ae12a3065b2a265b921baca0891c5ea54dc") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/sl.el"))]) -(skype . [(20160711 824) nil "skype UI for emacs users.." tar ((:commit . "8e3b33e620ed355522aa36434ff41e3ced080629") (:keywords "skype" "chat") (:authors ("SAKURAI Masashi" . "m.sakurai@kiwanami.net")) (:maintainer "SAKURAI Masashi" . "m.sakurai@kiwanami.net"))]) -(skewer-reload-stylesheets . [(20160725 1220) ((skewer-mode (1 5 3))) "live-edit CSS, SCSS, Less, and friends." tar ((:commit . "b9cc5635230ac3c0603a6da690c6e632d0a7490a") (:authors ("Nate Eagleson" . "nate@nateeag.com")) (:maintainer "Nate Eagleson" . "nate@nateeag.com"))]) -(skewer-mode . [(20180706 1807) ((simple-httpd (1 4 0)) (js2-mode (20090723)) (emacs (24))) "live browser JavaScript, CSS, and HTML interaction" tar ((:commit . "a381049acc4fa2087615b4b3b26c0865841386bd"))]) -(skewer-less . [(20160828 2021) ((skewer-mode (1 5 3))) "Skewer support for live LESS stylesheet updates" single ((:commit . "8ce9d030e18133319181d5dabe3e905c8ca5fd6b") (:keywords "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) -(skeletor . [(20191129 841) ((s (1 7 0)) (f (0 14 0)) (dash (2 2 0)) (cl-lib (0 3)) (let-alist (1 0 3)) (emacs (24 1))) "Provides project skeletons for Emacs" tar ((:commit . "eb21383a9c9e7cf7ae2bbb85cb6d4f42aa3cb37f") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) -(simplezen . [(20130421 1000) ((s (1 4 0)) (dash (1 1 0))) "A simple subset of zencoding-mode for Emacs." single ((:commit . "119fdf2c6890a0c56045ae72cf4fce0071a81481") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(simplenote2 . [(20190321 933) ((request-deferred (0 2 0)) (uuidgen (20140918)) (unicode-escape (1 1))) "Interact with app.simplenote.com" tar ((:commit . "760ffecda63bd218876b623f46d332e3ef079be6") (:keywords "simplenote") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com"))]) -(simplenote . [(20141118 1440) nil "Interact with simple-note.appspot.com" single ((:commit . "e836fcdb5a6497a9ffd6bceddd19b4bc52189078") (:keywords "simplenote") (:authors ("Konstantinos Efstathiou" . "konstantinos@efstathiou.gr")) (:maintainer "Konstantinos Efstathiou" . "konstantinos@efstathiou.gr"))]) -(simpleclip . [(20181105 1636) nil "Simplified access to the system clipboard" single ((:commit . "2468b08ad829aaf4a90246541978be3974c60ab8") (:keywords "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/simpleclip"))]) -(simple-screen . [(20161009 920) nil "Simple screen configuration manager" single ((:commit . "596e3a451d9af24730ab31a8fe15c91a4264d09d") (:keywords "tools") (:authors ("Tadashi Watanabe" . "wac@umiushi.org")) (:maintainer "Tadashi Watanabe" . "wac@umiushi.org") (:url . "https://github.com/wachikun/simple-screen"))]) -(simple-rtm . [(20160222 1534) ((rtm (0 1)) (dash (2 0 0))) "Interactive Emacs mode for Remember The Milk" single ((:commit . "8c7cd96cf66ef112be5c363e3378e304f8f83999") (:keywords "remember" "the" "milk" "productivity" "todo") (:authors ("Moritz Bunkus" . "morit@bunkus.org")) (:maintainer "Moritz Bunkus" . "morit@bunkus.org"))]) -(simple-paren . [(20190603 1836) ((emacs (24)) (cl-lib (0 5))) "Non-electrical insert paired delimiter, wrap" single ((:commit . "2d3304af173b657176a1284abecdad2861820119") (:keywords "convenience") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:url . "https://github.com/andreas-roehler/simple-paren"))]) -(simple-mpc . [(20180716 129) ((s (1 10 0))) "provides a simple interface to mpc" tar ((:commit . "bee8520e81292b4c7353e45b193f9a13b482f5b2") (:keywords "multimedia" "mpd" "mpc") (:authors ("Joren Van Onder" . "joren.vanonder@gmail.com")) (:maintainer "Joren Van Onder" . "joren.vanonder@gmail.com") (:url . "https://github.com/jorenvo/simple-mpc"))]) -(simple-httpd . [(20191103 1446) ((cl-lib (0 3))) "pure elisp HTTP server" single ((:commit . "22ce66ea43e0eadb9ec1d691a35d9695fc29cee6") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-http-server"))]) -(simple-call-tree . [(20180224 2056) ((emacs (24 3)) (anaphora (1 0 0))) "analyze source code based on font-lock text-properties" single ((:commit . "20059eb5549408def76aeb03d0d20839903dedef") (:keywords "programming") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "http://www.emacswiki.org/emacs/download/simple-call-tree.el"))]) -(simple-bookmarks . [(20190204 1426) ((cl-lib (0 5))) "Bookmark / functioncall manager" tar ((:commit . "54e8d771bcdb0eb235b31c0aa9642171369500e5") (:keywords "bookmark" "functioncall") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/simple-bookmarks"))]) -(simp . [(20180607 254) nil "Simple project definition, chiefly for file finding, and grepping" tar ((:commit . "d4d4b8547055347828bedccbeffdb4fd2d5a5d34") (:keywords "project" "grep" "find") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/simp"))]) -(silkworm-theme . [(20191005 1903) ((emacs (24))) "Light theme with pleasant, low contrast colors." single ((:commit . "6cb44e3bfb095588aa3bdf8d0d45b583521f9e2c") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) -(signature . [(20140730 1949) nil "Signature Survey" tar ((:commit . "c47df2e1189a84505f9224aa78e87b6c65d13d37") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) -(signal . [(20160816 1438) ((emacs (24)) (cl-lib (0 5))) "Advanced hook" single ((:commit . "aa58327e2297df921d72a0370468b48663efd438") (:keywords "internal" "lisp" "processes" "tools") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/signal"))]) -(sift . [(20190521 823) nil "Front-end for sift, a fast and powerful grep alternative" single ((:commit . "33b2c9ff964fe53bb55b37429faaa4e903bead7a") (:keywords "sift" "ack" "pt" "ag" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/sift.el"))]) -(side-notes . [(20191128 2229) ((emacs (24 5))) "Easy access to a directory notes file" single ((:commit . "974a439c7446e705020bbb085cebb7330f27f884") (:keywords "convenience") (:authors ("Paul W. Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul W. Rankin" . "hello@paulwrankin.com") (:url . "https://github.com/rnkn/side-notes"))]) -(sicp . [(20180823 1222) nil "Structure and Interpretation of Computer Programs in info format" tar ((:commit . "33acfa10a058aa65b6b22084a5b86a82410d794e") (:authors ("Hal Abelson") ("Jerry Sussman") ("Julie Sussman")) (:maintainer "Hal Abelson") (:url . "https://mitpress.mit.edu/sicp"))]) -(sibilant-mode . [(20151119 2145) nil "Support for the Sibilant programming language" single ((:commit . "bc1b5d8cd597918bafc9b2880ee49024740e54ab") (:keywords "languages") (:authors ("Jacob Rothstein" . "hi@jbr.me")) (:maintainer "Jacob Rothstein" . "hi@jbr.me") (:url . "http://sibilantjs.info"))]) -(shx . [(20191027 2130) ((emacs (24 4))) "Extras for the comint-mode shell" single ((:commit . "298f96e68068d6891d20e6188e918ab55ac56b30") (:keywords "processes" "tools" "comint" "shell" "repl") (:url . "https://github.com/riscy/shx-for-emacs"))]) -(shut-up . [(20180628 1830) ((cl-lib (0 3)) (emacs (24))) "Shut up would you!" single ((:commit . "081d6b01e3ba0e60326558e545c4019219e046ce") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/shut-up.el"))]) -(shroud . [(20190623 126) ((emacs (25)) (epg (1 0 0)) (s (1 6 0)) (bui (1 2 0)) (dash (2 15 0)) (dash-functional (2 15 0))) "Shroud secrets" tar ((:commit . "a2f3b4ffdd227338d7e14bdd6085d73daf6d191b") (:keywords "tools" "password") (:authors ("Amar Singh" . "nly@disroot.org")) (:maintainer "Amar Singh" . "nly@disroot.org") (:url . "https://github.com/o-nly/emacs-shroud"))]) -(shrink-whitespace . [(20181003 321) nil "Whitespace removal DWIM key" single ((:commit . "0407b89c142bd17e65edb666f35e2c6755bd0867") (:keywords "convenience") (:authors ("Jean-Christophe Petkovich" . "jcpetkovich@gmail.com")) (:maintainer "Jean-Christophe Petkovich" . "jcpetkovich@gmail.com") (:url . "https://gitlab.com/jcpetkovich/shrink-whitespace.el"))]) -(shrink-path . [(20190208 1335) ((emacs (24)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0))) "fish-style path" single ((:commit . "c14882c8599aec79a6e8ef2d06454254bb3e1e41") (:authors ("Benjamin Andresen")) (:maintainer "Benjamin Andresen") (:url . "https://gitlab.com/bennya/shrink-path.el"))]) -(shr-tag-pre-highlight . [(20171113 914) ((emacs (25 1)) (language-detection (0 1 0))) "Syntax highlighting code block in HTML" single ((:commit . "6182f43a36b0f82ba6edcf6e423b5f69a46a814e") (:keywords "html") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/shr-tag-pre-highlight.el"))]) -(shpec-mode . [(20150530 922) nil "Minor mode for shpec specification" single ((:commit . "146adc8281d0f115df39a3a3f982ac59ab61b754") (:keywords "languages" "tools") (:authors ("AdrieanKhisbe" . "adriean.khisbe@live.fr")) (:maintainer "AdrieanKhisbe" . "adriean.khisbe@live.fr") (:url . "http://github.com/shpec/shpec-mode"))]) -(showtip . [(20090830 1040) nil "Show tip at cursor" single ((:commit . "930da302809a4257e8d69425455b29e1cc91949b") (:keywords "help") (:authors ("Ye Wenbin" . "wenbinye@gmail.com")) (:maintainer "Ye Wenbin" . "wenbinye@gmail.com"))]) -(show-marks . [(20130805 1449) ((fm (1 0))) "Navigate and visualize the mark-ring" single ((:commit . "97609566582e65eed0d0a854efa5c312f209115d") (:keywords "convenience") (:authors ("Greg Rowe" . "emacs@therowes.net")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/mark"))]) -(show-eol . [(20190924 621) ((emacs (24 4))) "Show end of line symbol in buffer." single ((:commit . "097a2a79e5bd7c297bcdc231559813056cd584ac") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/show-eol"))]) -(show-css . [(20160210 1408) ((doom (1 3)) (s (1 10 0))) "Show the css of the html attribute the cursor is on" tar ((:commit . "771daeddd4df7a7c10f66419a837145649bab63b") (:keywords "hypermedia") (:authors ("Sheldon McGrandle" . "developer@rednemesis.com")) (:maintainer "Sheldon McGrandle" . "developer@rednemesis.com") (:url . "https://github.com/smmcg/showcss-mode"))]) -(shoulda . [(20140616 1833) ((cl-lib (0 5))) "Shoulda test support for ruby" single ((:commit . "fbe8eb8efc6cfcca1713283a290882cfcdc8725e") (:keywords "ruby" "tests" "shoulda") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com"))]) -(shm . [(20180327 57) nil "Structured Haskell Mode" tar ((:commit . "7f9df73f45d107017c18ce4835bbc190dfe6782e") (:keywords "development" "haskell" "structured") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com"))]) -(shimbun . [(20190930 730) nil "interfacing with web newspapers" tar ((:commit . "20976387f5f43db537b05561a359e9f43bbfed27") (:keywords "news") (:authors ("TSUCHIYA Masatoshi" . "tsuchiya@namazu.org") ("Akihiro Arisawa " . "ari@mbf.sphere.ne.jp") ("Yuuichi Teranishi " . "teranisi@gohome.org") ("Katsumi Yamaoka " . "yamaoka@jpl.org")) (:maintainer "TSUCHIYA Masatoshi" . "tsuchiya@namazu.org"))]) -(shift-text . [(20130831 1655) ((cl-lib (1 0)) (es-lib (0 3))) "Move the region in 4 directions, in a way similar to Eclipse's" single ((:commit . "1be9cbf994000022172ceb746fe1d597f57ea8ba") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/shift-text"))]) -(shift-number . [(20170301 1459) nil "Increase/decrease the number at point" single ((:commit . "cd099a5582fc996b800ac7607f6c38a004ce9740") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/shift-number.el"))]) -(shen-elisp . [(20180915 2028) ((emacs (24 4))) "Shen implementation in Elisp" tar ((:commit . "73b74c8d6e3a2ea34b667d177d9f130765bfe501") (:keywords "shen" "elisp") (:url . "http://github.com/deech/shen-elisp"))]) -(shelltest-mode . [(20180501 141) nil "Major mode for shelltestrunner" single ((:commit . "5fea8c9394380e822971a171905b6b5ab9be812d") (:keywords "languages") (:authors ("Dustin Fechner" . "dfe@rtrn.io")) (:maintainer "Dustin Fechner" . "dfe@rtrn.io") (:url . "https://github.com/rtrn/shelltest-mode"))]) -(shelldoc . [(20151115 325) ((cl-lib (0 3)) (s (1 9 0))) "shell command editing support with man page." single ((:commit . "5df2264eb60e45066f3633df4f34834751667346") (:keywords "applications") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-shelldoc"))]) -(shell-toggle . [(20150226 1411) nil "Toggle to and from the shell buffer" single ((:commit . "0d01bd9a780fdb7fe6609c552523f4498649a3b9") (:keywords "processes") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Matthieu Moy") ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Mikael Sjödin" . "mic@docs.uu.se") (:url . "https://github.com/knu/shell-toggle.el"))]) -(shell-switcher . [(20161029 552) ((emacs (24))) "Provide fast switching between shell buffers." tar ((:commit . "28a7f753dd7addd2933510526f52620cb5a22048"))]) -(shell-split-string . [(20151224 1008) nil "Split strings using shell-like syntax" single ((:commit . "19f6f999c33cc66a4c91bacdcc3697c25d97bf5a") (:keywords "utility" "library" "shell" "string") (:authors ("10sr <8.slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/shell-split-string-el"))]) -(shell-pop . [(20170304 1416) ((emacs (24)) (cl-lib (0 5))) "helps you to use shell easily on Emacs. Only one key action to work." single ((:commit . "4a3a9d093ad1add792bba764c601aa28de302b34") (:keywords "shell" "terminal" "tools") (:authors ("Kazuo YAGI" . "kazuo.yagi@gmail.com")) (:maintainer "Kazuo YAGI" . "kazuo.yagi@gmail.com") (:url . "http://github.com/kyagi/shell-pop-el"))]) -(shell-history . [(20100505 839) nil "integration with shell history" single ((:commit . "ee371a81f2d2bf5a308344078329ca1e9b5ed38c") (:keywords "processes" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/shell-history.el"))]) -(shell-here . [(20191011 1959) nil "Open a shell relative to the working directory" single ((:commit . "88b80deb1337a97b403b20fc467fa2d579b3bfd5") (:keywords "unix" "tools" "processes") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) -(shell-current-directory . [(20140101 2354) nil "create new shell based on buffer directory" single ((:commit . "bf843771bf9a4aa05e054ade799eb8862f3be89a") (:keywords "shell" "comint") (:authors ("Daniel Polani")) (:maintainer "Daniel Polani"))]) -(shell-command . [(20090830 1040) nil "enables tab-completion for `shell-command'" single ((:commit . "7e22125f746ce9ffbe9b0282d62f4b4bbbe672bd") (:keywords "shell") (:authors ("TSUCHIYA Masatoshi" . "tsuchiya@namazu.org")) (:maintainer "TSUCHIYA Masatoshi" . "tsuchiya@namazu.org"))]) -(shampoo . [(20131230 1019) nil "A remote Smalltalk development mode" tar ((:commit . "bc193c39636c30182159c5c91c37a9a4cb50fedf"))]) -(shakespeare-mode . [(20180704 2138) nil "A major mode for editing Shakespearean templates." single ((:commit . "c442eeea9d585e1b1fbb8813e33d47feec348a57") (:keywords "shakespeare" "hamlet" "lucius" "julius" "mode") (:authors ("Cody Reichert")) (:maintainer "Cody Reichert") (:url . "http://github.com/CodyReichert/shakespeare-mode"))]) -(shadowenv . [(20190903 1907) ((emacs (24 3))) "Shadowenv integration." single ((:commit . "f3cbe25c82f99367ac009d67a2400eb6d56547ff") (:keywords "shadowenv" "tools") (:authors ("Dante Catalfamo" . "dante.catalfamo@shopify.com")) (:maintainer "Dante Catalfamo" . "dante.catalfamo@shopify.com") (:url . "https://github.com/Shopify/shadowenv.el"))]) -(shader-mode . [(20180518 1157) ((emacs (24))) "Major mode for shader" single ((:commit . "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c") (:authors ("midnightSuyama" . "midnightSuyama@gmail.com")) (:maintainer "midnightSuyama" . "midnightSuyama@gmail.com") (:url . "https://github.com/midnightSuyama/shader-mode"))]) -(shadchen . [(20141102 1839) nil "pattern matching for elisp" single ((:commit . "35f2b9c304eec990c16efbd557198289dc7cbb1f") (:authors ("Vincent Toups")) (:maintainer "Vincent Toups"))]) -(shackle . [(20191020 1249) ((cl-lib (0 5))) "Enforce rules for popups" single ((:commit . "7ccbe513852a1d1700b698547efca14b8940319d") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/shackle"))]) -(sexy-monochrome-theme . [(20180526 808) nil "A sexy dark Emacs >= 24 theme for your sexy code" single ((:commit . "036bc238e48dd21aae1c34e6971d376582d8281b") (:keywords "themes") (:authors ("Volodymyr Yevtushenko" . "voloyev@vivaldi.net")) (:maintainer "Volodymyr Yevtushenko" . "voloyev@vivaldi.net") (:url . "https://github.com/voloyev/sexy-monochrome-theme"))]) -(sexp-move . [(20150915 1730) nil "Improved S-Expression Movement" single ((:commit . "117f7a91ab7c25e438413753e916570122011ce7") (:keywords "sexp") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:url . "https://gitlab.com/elzair/sexp-move"))]) -(seti-theme . [(20190201 1848) nil "A dark colored theme, inspired by Seti Atom Theme" single ((:commit . "9d76db0b91d4f574dd96ac80fad41da35bffa109") (:keywords "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/seti-theme"))]) -(session . [(20120511 0) nil "use variables, registers and buffer places across sessions" single ((:commit . "19ea0806873daac3539a4b956e15655e99e3dd6c") (:keywords "session" "session management" "desktop" "data" "tools") (:authors ("Christoph Wedler" . "wedler@users.sourceforge.net")) (:maintainer "Christoph Wedler" . "wedler@users.sourceforge.net") (:url . "http://emacs-session.sourceforge.net/"))]) -(sesman . [(20190909 1754) ((emacs (25))) "Generic Session Manager" tar ((:commit . "edee869c209c016e5f0c5cbb8abb9f3ccd2d1e05") (:keywords "process") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/sesman"))]) -(services . [(20170802 1130) ((cl-lib (0 5))) "Services database access functions." single ((:commit . "04c7986041a33dfa0b0ae57c7d6fbd600548c596") (:keywords "convenience" "net" "services") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/services.el"))]) -(serverspec . [(20150623 1155) ((dash (2 6 0)) (s (1 9 0)) (f (0 16 2)) (helm (1 6 1))) "Serverspec minor mode" tar ((:commit . "b6dfe82af9869438de5e5d860ced196641f372c0") (:authors ("k1LoW (Kenichirou Oyama), ")) (:maintainer "k1LoW (Kenichirou Oyama), ") (:url . "http://101000lab.org"))]) -(servant . [(20140216 1219) ((s (1 8 0)) (dash (2 2 0)) (f (0 11 0)) (ansi (0 3 0)) (commander (0 5 0)) (epl (0 2)) (shut-up (0 2 1)) (web-server (0 0 1))) "ELPA server written in Emacs Lisp" tar ((:commit . "4d2aa8250b54b28e6e7ee4cd5ebd98a33db2c134") (:keywords "elpa" "server") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com") ("Sebastian Wiesner" . "lunaryorn@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/servant.el"))]) -(sequential-command . [(20170926 40) nil "Many commands into one command" tar ((:commit . "a48cbcbe273b33edd3ae56e68f44b4100fa3a48a") (:keywords "convenience" "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el"))]) -(sequences . [(20170818 1252) ((emacs (24))) "Ports of some Clojure sequence functions." single ((:commit . "564ebbd93b0beea4e75acfbf824350e90b5d5738") (:keywords "convenience") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com"))]) -(seoul256-theme . [(20180505 757) ((emacs (24 3))) "Low-contrast color scheme based on Seoul Colors." single ((:commit . "d28a9de73a5ffb1a1c9492db75a5c1efe5e9815f") (:keywords "theme") (:authors ("Anand Iyer" . "anand.ucb@gmail.com")) (:maintainer "Anand Iyer" . "anand.ucb@gmail.com") (:url . "http://github.com/anandpiyer/seoul256-emacs"))]) -(sentence-navigation . [(20180408 1619) ((ample-regexps (0 1)) (cl-lib (0 5)) (emacs (24 4))) "Commands to navigate one-spaced sentences." single ((:commit . "7c5d2edeaed01196aec25031782e89adeaa089f0") (:keywords "sentence" "evil") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/emacs-sentence-navigation"))]) -(sensitive . [(20170818 1251) ((emacs (24)) (sequences (0 1 0))) "A dead simple way to load sensitive information" single ((:commit . "69dd6125a41d8b55f4b6ba61daa4d1aa1f716fa8") (:keywords "convenience") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com"))]) -(sendto . [(20160425 1250) ((emacs (24 4))) "send the region content to a function" single ((:commit . "076b81d7a53f75b0a59b0ef3448f35570567054c") (:keywords "convenience" "region") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/sendto.el"))]) -(seml-mode . [(20191123 1851) ((emacs (25)) (simple-httpd (1 5)) (htmlize (1 5)) (web-mode (16 0))) "major-mode for SEML, S-Expression Markup Language, file" single ((:commit . "1f8bda7e5a4a36212f968b462cfc31ce53c6db85") (:keywords "lisp" "html") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/seml-mode"))]) -(semi . [(20190708 1302) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "16228dc2d147d6ba8762c10fb25c54a3757ee9b0"))]) -(semaphore-promise . [(20190607 2115) ((emacs (26)) (semaphore (1)) (promise (1))) "semaphore integration with promise" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:keywords "processes" "unix") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:url . "http://github.com/webnf/semaphore.el"))]) -(semaphore . [(20190607 1949) ((emacs (26))) "Semaphore based on condition variables" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:keywords "processes" "unix") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:url . "http://github.com/webnf/semaphore.el"))]) -(selectric-mode . [(20170216 1111) nil "IBM Selectric mode for Emacs" tar ((:commit . "aed70015b29074b52a5d0c49b88b7a501d276dda") (:keywords "multimedia" "convenience" "typewriter" "selectric") (:authors ("Ricardo Bánffy" . "rbanffy@gmail.com")) (:maintainer "Ricardo Banffy" . "rbanffy@gmail.com") (:url . "https://github.com/rbanffy/selectric-mode"))]) -(selected . [(20170222 834) nil "Keymap for when region is active" single ((:commit . "03edaeac90bc6000d263f03be3d889b4685e1bf7") (:keywords "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/selected.el"))]) -(select-themes . [(20160221 106) nil "Color theme selection with completing-read" single ((:commit . "236f54287519a3ea6dd7b3992d053e4f4ff5d0fe") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-select-themes"))]) -(sekka . [(20170803 1247) ((cl-lib (0 3)) (concurrent (0 3 1)) (popup (0 5 2))) "A client for Sekka IME server" single ((:commit . "61840b57d9ae32bf8e297b175942590a1319c7e7") (:keywords "ime" "skk" "japanese") (:authors ("Kiyoka Nishiyama" . "kiyoka@sumibi.org")) (:maintainer "Kiyoka Nishiyama" . "kiyoka@sumibi.org") (:url . "https://github.com/kiyoka/sekka"))]) -(seethru . [(20150218 1829) ((shadchen (1 4))) "Easily change Emacs' transparency" single ((:commit . "d87e231f99313bea75b1e69e48c0f32968c82060") (:keywords "lisp" "tools" "alpha" "transparency") (:authors ("Benaiah Mischenko" . "benaiah@mischenko.com")) (:maintainer "Benaiah Mischenko" . "benaiah@mischenko.com") (:url . "http://github.com/benaiah/seethru"))]) -(seeing-is-believing . [(20170214 1320) nil "minor mode for running the seeing-is-believing ruby gem" single ((:commit . "fbbe246c0fda87bb26227bb826eebadb418a220f") (:authors ("John Cinnamond")) (:maintainer "John Cinnamond"))]) -(see-mode . [(20180511 41) ((emacs (24 4)) (language-detection (0 1 0))) "Edit string in a separate buffer" single ((:commit . "b6e72ea90105b03816c334be9e43bb41dcc79abf") (:keywords "convenience") (:authors ("Marcelo Muñoz" . "ma.munoz.araya@gmail.com")) (:maintainer "Marcelo Muñoz" . "ma.munoz.araya@gmail.com") (:url . "https://github.com/marcelino-m/see-mode"))]) -(secretaria . [(20191128 250) ((emacs (24 4)) (alert (1 2)) (s (1 12)) (f (0 20 0)) (org (9))) "A personal assistant based on org-mode" single ((:commit . "03986130a2ada1fa952d45e83536729f20230fcf") (:keywords "org" "convenience") (:authors ("Jorge Araya Navarro" . "jorge@esavara.cr")) (:maintainer "Jorge Araya Navarro" . "jorge@esavara.cr") (:url . "https://gitlab.com/shackra/secretaria"))]) -(seclusion-mode . [(20121118 2353) nil "Edit in seclusion. A Dark Room mode." single ((:commit . "9634e76c52bfb7200ff0f9f01404f743429e9ef0") (:authors (nil . "Daniel Leslie dan@ironoxide.ca")) (:maintainer nil . "Daniel Leslie dan@ironoxide.ca") (:url . "http://github.com/dleslie/seclusion-mode"))]) -(searchq . [(20150829 1211) ((emacs (24 3))) "Framework of queued search tasks using GREP, ACK, AG and more." tar ((:commit . "dd510d55ad66a82c6ef022cfe7c4a73ad5365f82") (:authors ("boyw165")) (:maintainer "boyw165"))]) -(search-web . [(20150312 1103) nil "Post web search queries using `browse-url'." single ((:commit . "c4ae86ac1acfc572b81f3d78764bd9a54034c331") (:authors ("Tomoya Otake" . "tomoya.ton@gmail.com")) (:maintainer "Tomoya Otake" . "tomoya.ton@gmail.com"))]) -(sdlang-mode . [(20161201 711) ((emacs (24 3))) "Major mode for Simple Declarative Language files." single ((:commit . "d42a6eedefeb44919fbacf58d302b6df18f05bbc") (:keywords "languages") (:authors ("Vladimir Panteleev")) (:maintainer "Vladimir Panteleev") (:url . "https://github.com/CyberShadow/sdlang-mode"))]) -(sdcv . [(20190610 732) ((emacs (24 3)) (popup (0 5 3)) (showtip (0 1)) (pos-tip (0 4 6)) (cl-lib (0 3))) "Interface for sdcv (StartDict console version)." single ((:commit . "943ae3e90cc9a0a88a37cc710acd7424fd4defc4") (:keywords "startdict" "sdcv") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:url . "http://www.emacswiki.org/emacs/download/sdcv.el"))]) -(scss-mode . [(20180123 1708) nil "Major mode for editing SCSS files" single ((:commit . "cf58dbec5394280503eb5502938f3b5445d1b53d") (:keywords "scss" "css" "mode") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:url . "https://github.com/antonj/scss-mode"))]) -(scrooge . [(20180630 1022) ((emacs (24)) (cl-lib (0 5)) (dash (2 13 0)) (thrift (0 9 3))) "Major mode for Twitter Scrooge files" single ((:commit . "0a8c58e9e6708abe4ef7e415bc1e0472318bb1b0") (:keywords "scrooge" "thrift") (:authors ("Daniel McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Daniel McClanahan" . "danieldmcclanahan@gmail.com"))]) -(scrollkeeper . [(20190109 629) ((emacs (25 1))) "Custom scrolling commands with visual guidelines" single ((:commit . "3c4ac6b6b44686d31c260ee0b19daaee59bdccd6") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/scrollkeeper.el"))]) -(scroll-on-drag . [(20190826 8) ((emacs (26 2))) "Interactive scrolling." single ((:commit . "271b4aa6b38c2550119a36efac2b92cf1233e6e3") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://github.com/ideasman42/emacs-scroll-on-drag"))]) -(scribble-mode . [(20190912 200) ((emacs (24))) "Major mode for editing Scribble documents" single ((:commit . "5c3ea3cc9bbad585476eee41ea76dc056c2012bb") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/scribble-mode"))]) -(scratches . [(20151006 416) ((dash (2 11 0)) (f (0 17 0))) "Multiple scratches in any language" single ((:commit . "9441afe6396ca38f08029123fab5d87429cbf315") (:keywords "scratch") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))]) -(scratch-pop . [(20170510 1458) ((popwin (0 7 0 -3))) "Generate, popup (& optionally backup) scratch buffer(s)." single ((:commit . "7f4172c792b10bd38898dd8963cf0ade91921869") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(scratch-palette . [(20150225 842) ((popwin (0 7 0 -3))) "make scratch buffer for each files" single ((:commit . "f6803b448079f4a81cc699cec7442ef543cd5818") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(scratch-message . [(20170107 1336) nil "Changing message in your scratch buffer" single ((:commit . "3ecc7f5e3b8a597ebd1492fd426d3720a7f34302") (:keywords "util" "scratch") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:url . "https://github.com/thisirs/scratch-message.git"))]) -(scratch-log . [(20141115 743) nil "Utility for *scratch* buffer." single ((:commit . "1168f7f16d36ca0f4ddf2bb98881f8db62cc5dc0") (:authors ("kmori" . "morihenotegami@gmail.com")) (:maintainer "kmori" . "morihenotegami@gmail.com"))]) -(scratch-ext . [(20140104 516) nil "Extensions for *scratch*" single ((:commit . "388c53cddd0466b451264894667ed64a6947ad67") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "https://github.com/kyanagi/scratch-ext-el"))]) -(scratch . [(20190314 614) ((emacs (25 1))) "Mode-specific scratch buffers" single ((:commit . "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca") (:keywords "convenience" "tools" "files") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:url . "https://github.com/ieure/scratch-el"))]) -(scpaste . [(20190228 2151) ((htmlize (1 39))) "Paste to the web via scp." single ((:commit . "568faaa70fa0413e2d165ad232cd4c6ec2815197") (:keywords "convenience" "hypermedia") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/scpaste"))]) -(scp . [(20171204 251) ((emacs (25 1)) (cl-lib (0 5))) "Use the SCP command to transfer files with the remote server" single ((:commit . "447305db246d9c9240678dd9c734ed920300463a") (:keywords "convenience" "scp") (:authors ("zg" . "13853850881@163.com")) (:maintainer "zg" . "13853850881@163.com") (:url . "https://github.com/tszg/emacs-scp"))]) -(sclang-snippets . [(20130513 751) ((yasnippet (0 8 0))) "Snippets for the SuperCollider Emacs mode" tar ((:commit . "c840a416b96f83bdd70491e3d1fbe2f1ae8b3f58") (:keywords "snippets") (:authors ("ptrv" . "mail@petervasil.net")) (:maintainer "ptrv" . "mail@petervasil.net"))]) -(sclang-extensions . [(20160509 338) ((auto-complete (1 4 0)) (s (1 3 1)) (dash (1 2 0)) (emacs (24 1))) "Extensions for the SuperCollider Emacs mode." tar ((:commit . "e9cc79732f16fdb582129303110c163dcc0d6da0") (:keywords "sclang" "supercollider" "languages" "tools") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) -(scion . [(20130315 1255) nil "Haskell Minor Mode for Interacting with the Scion Library" single ((:commit . "99b4589175665687181a932cd836850205625f71") (:url . "https://code.google.com/p/scion-lib/"))]) -(scihub . [(20190801 920) ((emacs (25))) "Sci-Hub integration" single ((:commit . "a32e8f47961d606c1315a972f2dab4d3a61945af") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/scihub.el"))]) -(schrute . [(20170521 1840) ((emacs (24 3))) "Help you remember there is a better way to do something." single ((:commit . "59faa6c4232ae183cea93237301acad8c0763997") (:keywords "convenience") (:authors ("Jorge Araya Navarro" . "elcorreo@deshackra.com")) (:maintainer "Jorge Araya Navarro" . "elcorreo@deshackra.com") (:url . "https://bitbucket.org/shackra/dwight-k.-schrute"))]) -(scheme-here . [(20141028 718) nil "cmuscheme extension for multiple inferior processes" single ((:commit . "430ba017cc530865218de23a8f7985095a58343f") (:keywords "scheme") (:authors ("Dimitris Vyzovitis" . "vyzo@media.mit.edu")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com") (:url . "https://github.com/kaihaosw/scheme-here"))]) -(scheme-complete . [(20181029 1255) nil "Smart auto completion for Scheme in Emacs" single ((:commit . "b86ee41d48664839181498313f4f3dc2fef17d6f") (:authors ("Alex Shinn")) (:maintainer "Alex Shinn"))]) -(scf-mode . [(20151122 248) nil "shorten file-names in compilation type buffers" single ((:commit . "dbfcdcd89034f208d65e181af58e0d73ad09f8b2") (:keywords "compilation") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/scf-mode"))]) -(scalariform . [(20190114 215) ((s (1 12 0)) (f (0 20 0))) "Format Scala code with scalariform." single ((:commit . "478a15ccb4f825aba73262bccd3e61ce7017f64b") (:keywords "processes" "scala" "scalariform") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:url . "https://github.com/zwild/scalariform"))]) -(scala-mode . [(20190929 1522) nil "Major mode for editing Scala" tar ((:commit . "44772cbf1e1ade52bc5066555ff0aed68569aaec") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-scala-mode"))]) -(scad-preview . [(20160206 1336) ((scad-mode (91 0))) "Preview SCAD models in real-time within Emacs" single ((:commit . "fee011589671cc8f1296cb6aa81553e5bb699819") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(scad-mode . [(20190413 1246) nil "A major mode for editing OpenSCAD code" single ((:commit . "f72dddadfa3770039337f102931ca1672f618ea9") (:keywords "languages") (:authors ("Len Trigg, Łukasz Stelmach")) (:maintainer "Len Trigg" . "lenbok@gmail.com") (:url . "https://raw.github.com/openscad/openscad/master/contrib/scad-mode.el"))]) -(sbt-mode . [(20191128 745) ((emacs (24 4))) "Interactive support for sbt projects" tar ((:commit . "43cbb61bd5d9e8e8be191d9cecfba7a9e175d90b") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-sbt-mode"))]) -(sayid . [(20190919 654) ((cider (0 21 0))) "sayid nREPL middleware client" single ((:commit . "277404a6bb0a979e195df5886fc143bb1d1f1e8c") (:authors ("Bill Piel" . "bill@billpiel.com")) (:maintainer "Bill Piel" . "bill@billpiel.com") (:url . "https://github.com/clojure-emacs/sayid"))]) -(say-what-im-doing . [(20160706 1931) nil "dictate what you're doing with text to speech" single ((:commit . "5b2ce6783b02805bcac1107a149bfba3852cd9d5") (:keywords "text to speech" "dumb" "funny") (:authors ("Benaiah Mischenko")) (:maintainer "Benaiah Mischenko") (:url . "http://github.com/benaiah/say-what-im-doing"))]) -(savekill . [(20140418 229) nil "Save kill ring to disk" single ((:commit . "67fc94e3d8fe8ce3ca16f90518f6a46479b63e34") (:keywords "tools") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/savekill.el"))]) -(save-visited-files . [(20190927 2153) nil "save opened files across sessions" single ((:commit . "0b61c9bd16947bd99ccd61208bd481325e8c5cba") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/save-visited-files"))]) -(save-load-path . [(20140206 1214) nil "save load-path and reuse it to test" single ((:commit . "6cb763a37e2b8af505bff2bcd11fd49c9ea04d66") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/save-load-path.el"))]) -(sauron . [(20181216 1200) nil "Track (erc/org/dbus/...) events and react to them." tar ((:commit . "e20eb21c93492a7c9e89579409ae5a07f77aa9fd"))]) -(sass-mode . [(20190502 53) ((haml-mode (3 0 15)) (cl-lib (0 5))) "Major mode for editing Sass files" single ((:commit . "247a0d4b509f10b28e4687cd8763492bca03599b") (:keywords "markup" "language" "css") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "http://github.com/nex3/haml/tree/master"))]) -(sane-term . [(20181130 101) ((emacs (24 1))) "Multi Term is crazy. This is not." single ((:commit . "46352169bd6d2a86ca9c2052cd05ecd16fc7657b") (:authors ("Adam Patterson" . "adam@adamrt.com")) (:maintainer "Adam Patterson" . "adam@adamrt.com") (:url . "http://github.com/adamrt/sane-term"))]) -(salt-mode . [(20181225 1157) ((emacs (24 4)) (yaml-mode (0 0 12)) (mmm-mode (0 5 4)) (mmm-jinja2 (0 1))) "Major mode for Salt States" single ((:commit . "5ed02dabe0c5c58f51959a48b559f7fc5425ea2c") (:keywords "languages") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Glynn Forrest" . "me@glynnforrest.com") (:url . "https://github.com/glynnforrest/salt-mode"))]) -(salesforce-utils . [(20160814 154) ((cl-lib (0 5))) "simple utilities for Salesforce" single ((:commit . "73328baf0fb94ac0d0de645a8f6d42e5ae27f773") (:authors ("Sean McAfee")) (:maintainer "Sean McAfee") (:url . "https://github.com/grimnebulin/emacs-salesforce"))]) -(sailfish-scratchbox . [(20171202 1332) nil "Sailfish OS scratchbox inside the emacs." single ((:commit . "bb5ed0f0b0cd72f2eb1af065b7587ec81866b089") (:keywords "sb2" "mb2" "building" "scratchbox" "sailfish") (:authors ("V. V. Polevoy" . "fx@thefx.co")) (:maintainer "V. V. Polevoy" . "fx@thefx.co") (:url . "https://github.com/vityafx/sailfish-scratchbox.el"))]) -(sage-shell-mode . [(20191103 1040) ((cl-lib (0 6 1)) (emacs (24 4)) (let-alist (1 0 5)) (deferred (0 5 1))) "A front-end for Sage Math" tar ((:commit . "8ff9888fd84a96816512403a1b5ded93b4d4278b") (:keywords "sage" "math") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/sagemath/sage-shell-mode"))]) -(sackspace . [(20130719 956) nil "A better backspace" single ((:commit . "fd0480eaaf6d3d11fd30ac5feb2da2f4f7572708") (:keywords "delete" "convenience") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Michael Markert" . "markert.michael@googlemail.com") (:url . "http://github.com/cofi/sackspace.el"))]) -(s3ed . [(20180204 1349) ((emacs (24 4)) (seq (0)) (dash (0))) "Tramp-like access to s3" tar ((:commit . "13503cb057bed29cb00a14dffe4472b5cb7748ad") (:keywords "s3" "tools") (:authors ("Matt Usifer" . "mattusifer@gmail.com")) (:maintainer "Matt Usifer" . "mattusifer@gmail.com") (:url . "https://github.com/mattusifer/s3ed"))]) -(s12cpuv2-mode . [(20171013 2051) ((emacs (24 3))) "Major-mode for S12CPUV2 assembly" single ((:commit . "b17d4cf848dec1e20e66458e5c7ff77a2c051a8c") (:keywords "s12cpuv2" "assembly" "languages") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "https://github.com/AdamNiederer/s12cpuv2-mode"))]) -(s-buffer . [(20130605 2124) ((s (1 6 0)) (noflet (0 0 3))) "s operations for buffers" single ((:commit . "f95d234282377f00a2c3a9846681080cb95bb1df") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-s-buffer"))]) -(s . [(20180406 808) nil "The long lost Emacs string manipulation library." single ((:commit . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e") (:keywords "strings") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(ryo-modal . [(20191017 1323) ((emacs (25 1))) "Roll your own modal mode" single ((:commit . "3a54312eea7023a86ca3f8eb3c03c872554bff2f") (:keywords "convenience" "modal" "keys") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/ryo-modal"))]) -(rvm . [(20150402 1442) nil "Emacs integration for rvm" single ((:commit . "134497bc460990c71ab8fa75431156e62c17da2d") (:keywords "ruby" "rvm") (:authors ("Yves Senn" . "yves.senn@gmx.ch")) (:maintainer "Yves Senn" . "yves.senn@gmx.ch") (:url . "http://www.emacswiki.org/emacs/RvmEl"))]) -(rustic . [(20191104 1755) ((emacs (26 1)) (xterm-color (1 6)) (dash (2 13 0)) (s (1 10 0)) (f (0 18 2)) (projectile (0 14 0)) (markdown-mode (2 3)) (spinner (1 7 3)) (let-alist (1 0 4)) (seq (2 3)) (ht (2 0))) "Rust development environment" tar ((:commit . "5eca42eeb6be13ef6f71bd68955bba173d01f3d6") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla"))]) -(rust-playground . [(20180807 1158) ((emacs (24 3))) "Local Rust playground for short code snippets." single ((:commit . "092c8b11d62dea23953a004744833092bac85fe1") (:keywords "tools" "rust") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:url . "https://github.com/grafov/rust-playground"))]) -(rust-mode . [(20191123 1632) ((emacs (24 0))) "A major emacs mode for editing Rust source code" single ((:commit . "4c8754b249f96455facf81fd5d5b2d06d0cd9b79") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/rust-lang/rust-mode"))]) -(rust-auto-use . [(20181125 637) nil "Utility to automatically insert Rust use statements" single ((:commit . "d924505ecd954625dcb2d56dfba97111dc6a17fa") (:keywords "languages") (:authors ("Rotem Yaari" . "rotemy@MBP.local")) (:maintainer "Rotem Yaari" . "rotemy@MBP.local"))]) -(russian-holidays . [(20170109 2140) nil "Russian holidays for the calendar" single ((:commit . "b285a30f29d85c48e3ea4eb93972d34a090c167b") (:authors ("Alexander I.Grafov" . "siberian@laika.name")) (:maintainer "Alexander I.Grafov" . "siberian@laika.name") (:url . "https://github.com/grafov/russian-holidays"))]) -(runtests . [(20150807 831) nil "Run unit tests from Emacs" single ((:commit . "ed90249f24cc48290018df48b9b9b7172440be3e") (:keywords "test") (:authors ("Sune Simonsen" . "sune@we-knowhow.dk")) (:maintainer "Sune Simonsen" . "sune@we-knowhow.dk") (:url . "https://github.com/sunesimonsen/emacs-runtests"))]) -(runner . [(20160524 743) nil "Improved \"open with\" suggestions for dired" single ((:commit . "a211d57ddc600410d07a8b534920ba905b093d87") (:keywords "shell command" "dired" "file extension" "open with") (:authors ("Thamer Mahmoud" . "thamer.mahmoud@gmail.com")) (:maintainer "Thamer Mahmoud" . "thamer.mahmoud@gmail.com") (:url . "https://github.com/thamer/runner"))]) -(run-stuff . [(20180209 748) ((emacs (24 4))) "context based command execution" single ((:commit . "ed42a7bc9a197ccf1ca87f9937bf98f0a9ed3f92") (:keywords "files" "lisp" "files" "convenience" "hypermedia") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://github.com/ideasman42/emacs-run-stuff"))]) -(rum-mode . [(20180127 22) ((emacs (24))) "Major mode for Rum programming language" single ((:commit . "b69a3866e0299cae8c9c805d644e69b2c17b64de") (:keywords "rum" "languages" "lisp") (:url . "https://github.com/rumlang/rum-mode"))]) -(rufo . [(20170718 1416) ((emacs (24 3))) "use rufo to automatically format ruby files" single ((:commit . "020b02ed6e9ab49e79d2ddf63e4ee2684c1728f4") (:authors ("Daniel Ma" . "danielhgma@gmail.com")) (:maintainer "Daniel Ma" . "danielhgma@gmail.com") (:url . "https://github.com/danielma/rufo.el"))]) -(ruby-tools . [(20151209 1615) nil "Collection of handy functions for ruby-mode." tar ((:commit . "6b97066b58a4f82eb2ecea6434a0a7e981aa4c18"))]) -(ruby-test-mode . [(20190412 909) ((ruby-mode (1 0)) (pcre2el (1 8))) "Minor mode for Behaviour and Test Driven" single ((:commit . "e805a81c3ea787f3c82dbb252c21d747be20bc7a") (:keywords "ruby" "unit" "test" "rspec" "tools") (:authors ("Roman Scherer" . "roman.scherer@gmx.de") ("Caspar Florian Ebeling" . "florian.ebeling@gmail.com")) (:maintainer "Roman Scherer" . "roman.scherer@burningswell.com") (:url . "https://github.com/ruby-test-mode/ruby-test-mode"))]) -(ruby-refactor . [(20160214 1650) ((ruby-mode (1 2))) "A minor mode which presents various Ruby refactoring helpers." single ((:commit . "e6b7125878a08518bffec6942df0c606f748e9ee") (:keywords "refactor" "ruby") (:url . "https://github.com/ajvargo/ruby-refactor"))]) -(ruby-interpolation . [(20131112 1652) nil "Ruby string interpolation helpers" single ((:commit . "1978e337601222cedf00e117bf4b5cac15d1f203") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/ruby-interpolation.el"))]) -(ruby-hash-syntax . [(20190109 2227) nil "Toggle ruby hash syntax between => and 1.9+ styles" single ((:commit . "577ab383c142e3a0697ce73480158a8b489038da") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ruby-hash-syntax"))]) -(ruby-factory . [(20160102 721) ((inflections (1 1))) "Minor mode for Ruby test object generation libraries" tar ((:commit . "2bb7ccc2fccb5257376a989aa395bc7b9eb1d55d") (:keywords "ruby" "rails" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/ruby-factory-mode"))]) -(ruby-extra-highlight . [(20171106 1933) nil "Highlight Ruby parameters." single ((:commit . "83942d18eae361998d24c1c523b308eea821f048") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/ruby-extra-highlight"))]) -(ruby-end . [(20141215 1223) nil "Automatic insertion of end blocks for Ruby" single ((:commit . "a136f75abb6d5577ce40d61dfeb778c2e9bb09c0") (:keywords "speed" "convenience" "ruby") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ruby-end"))]) -(ruby-electric . [(20170810 1130) nil "Minor mode for electrically editing ruby code" single ((:commit . "3553448a780a1ea5c3b0e9becd820d4762876593") (:keywords "languages" "ruby") (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/ruby-electric.el"))]) -(ruby-compilation . [(20150709 640) ((inf-ruby (2 2 1))) "run a ruby process in a compilation buffer" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:keywords "test" "convenience") (:authors ("Eric Schulte")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/eschulte/rinari"))]) -(ruby-additional . [(20181221 1159) ((emacs (24 3)) (ruby-mode (1 2))) "ruby-mode extensions yet to be merged into Emacs" tar ((:commit . "75bccbb384e6907df47ab69acdccb4536806c890") (:keywords "ruby" "languages") (:url . "https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/"))]) -(rubocopfmt . [(20181009 1703) ((cl-lib (0 5))) "Minor-mode to format Ruby code with RuboCop on save" single ((:commit . "fc96145719a65b2551339d087ddd95b72e14646f") (:keywords "convenience" "wp" "edit" "ruby" "rubocop") (:authors ("Jim Myhrberg")) (:maintainer "Jim Myhrberg") (:url . "https://github.com/jimeh/rubocopfmt.el"))]) -(rubocop . [(20190326 1424) ((emacs (24))) "An Emacs interface for RuboCop" single ((:commit . "03bf15558a6eb65e4f74000cab29412efd46660e") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/rubocop-emacs"))]) -(rubik . [(20180222 2014) ((cl-lib (1 0)) (emacs (25 3))) "Rubik's Cube" single ((:commit . "c8dab1726463dbc9042a0b00186e4a8df02eb868") (:keywords "games") (:authors ("Ivan 'Kurvivor' Truskov" . "trus19@gmail.com")) (:maintainer "Ivan 'Kurvivor' Truskov" . "trus19@gmail.com") (:url . "https://github.com/Kurvivor19/rubik-mode"))]) -(rtm . [(20180329 1508) ((cl-lib (1 0))) "An elisp implementation of the Remember The Milk API" single ((:commit . "3e3d09387cb84801343ecca8fb02e82f213e7bbe") (:keywords "remember" "the" "milk" "productivity" "todo") (:authors ("Friedrich Delgado Friedrichs" . "frie...@nomaden.org")) (:maintainer "Friedrich Delgado Friedrichs" . "frie...@nomaden.org") (:url . "https://github.com/pmiddend/emacs-rtm"))]) -(rtags . [(20191125 915) nil "A front-end for rtags" single ((:commit . "ca131c1d76225d516078635ec1cbb32e498d3d3a") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) -(rspec-mode . [(20190912 856) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "66ea7cc9699d6edc6115daa024818adbd85efc20") (:keywords "rspec" "ruby") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:url . "http://github.com/pezra/rspec-mode"))]) -(rsense . [(20100511 405) nil "RSense client for Emacs" single ((:commit . "8b5ee58318747ca1dde84ee41d48c4f50175cf35") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "tomo@cx4a.org")) (:maintainer "Tomohiro Matsuyama" . "tomo@cx4a.org"))]) -(rpn-calc . [(20181121 1154) ((popup (0 4))) "quick RPN calculator for hackers" single ((:commit . "27279f89c80eb3f28ff9f981eff06502056943e2") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/rpn-calc"))]) -(rpm-spec-mode . [(20160710 1136) nil "RPM spec file editing commands for Emacs/XEmacs" single ((:commit . "c1c38050c48ea330c7cea632b8785d66daeefb2b") (:keywords "unix" "languages") (:authors ("Stig Bjørlykke," . "stig@bjorlykke.org")) (:maintainer "Stig Bjørlykke," . "stig@bjorlykke.org"))]) -(roy-mode . [(20121208 1158) nil "Roy major mode" single ((:commit . "0416f561edbc6b4a29fced8be84d2527a9613d65") (:keywords "extensions") (:authors ("Georgii Leontiev")) (:maintainer "Georgii Leontiev") (:url . "https://github.com/folone/roy-mode"))]) -(rotate . [(20160909 836) nil "Rotate the layout of emacs" single ((:commit . "091b5ac4fc310773253efb317e3dbe8e46959ba6") (:keywords "window" "layout") (:authors ("daichi.hirata ")) (:maintainer "daichi.hirata ") (:url . "https://github.com/daichirata/emacs-rotate"))]) -(ros . [(20191109 1939) ((emacs (24 4))) "Package to interact with and write code for ROS systems" tar ((:commit . "46ce6b5c16d24ebd80da39cf48f207cf12f1a5d0") (:authors ("Max Beutelspacher" . "max.beutelspacher@mailbox.org")) (:maintainer "Max Beutelspacher" . "max.beutelspacher@mailbox.org") (:url . "https://github.com/DerBeutlin/ros.el"))]) -(rope-read-mode . [(20191104 2208) ((emacs (24))) "Rearrange lines to read text smoothly" single ((:commit . "95ee549845c9b33c3652d64214488b9655026526") (:keywords "reading" "convenience" "chill") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://github.com/marcowahl/rope-read-mode"))]) -(roguel-ike . [(20160120 302) ((popup (0 5 0))) "A coffee-break roguelike" tar ((:commit . "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))]) -(robots-txt-mode . [(20190812 1858) nil "Major mode for editing robots.txt" single ((:commit . "8bf67285a25a6756607354d184e36583f2847e7d") (:keywords "languages" "comm" "web") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/robots-txt-mode"))]) -(robe . [(20190521 58) ((inf-ruby (2 5 1)) (emacs (24 4))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "8190cb7c7beb8385dd3abf6ea357f33d8981ae8a") (:keywords "ruby" "convenience" "rails") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:url . "https://github.com/dgutov/robe"))]) -(rmsbolt . [(20191128 1657) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "840d7f7a1e0ad10fde53ca437cdd8415b42d31f2") (:keywords "compilation" "tools") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/rmsbolt"))]) -(rjsx-mode . [(20190614 2215) ((emacs (24 4)) (js2-mode (20170504))) "Real support for JSX" single ((:commit . "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5") (:keywords "languages") (:authors ("Felipe Ochoa" . "felipe@fov.space")) (:maintainer "Felipe Ochoa" . "felipe@fov.space") (:url . "https://github.com/felipeochoa/rjsx-mode/"))]) -(riscv-mode . [(20170804 1521) ((emacs (24 4))) "Major-mode for RISC V assembly" single ((:commit . "99febf97d1fa9441e8dada94fe30c2aa439c9749") (:keywords "riscv" "assembly") (:authors ("Adam Niederer ")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/riscv-mode"))]) -(ripgrep . [(20190215 841) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "40e871dcc4519a70981e9f28acea304692a60978") (:keywords "ripgrep" "ack" "pt" "ag" "sift" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/ripgrep.el"))]) -(rings . [(20160531 2027) nil "Buffer rings. Like tabs, but better." single ((:commit . "3590b222eb80652cbd27866f066bd3571d86edfc") (:keywords "utilities" "productivity") (:authors ("Konrad Scorciapino")) (:maintainer "Konrad Scorciapino") (:url . "http://github.com/konr/rings"))]) -(rinari . [(20150709 640) ((ruby-mode (1 0)) (inf-ruby (2 2 5)) (ruby-compilation (0 16)) (jump (2 0))) "Rinari Is Not A Rails IDE" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:keywords "ruby" "rails" "project" "convenience" "web") (:authors ("Phil Hagelberg, Eric Schulte, Steve Purcell")) (:maintainer "Phil Hagelberg, Eric Schulte, Steve Purcell") (:url . "https://github.com/eschulte/rinari"))]) -(rimero-theme . [(20180901 1348) ((emacs (24))) "Theme with a dark background suitable for UI and terminal usage." single ((:commit . "a2e706c2b34f749019979a133f08a2d94a1104b3") (:keywords "faces" "theme" "dark" "light colors") (:authors ("Yves Zoundi" . "yveszoundi@users.sf.net")) (:maintainer "Yves Zoundi" . "yveszoundi@users.sf.net") (:url . "https://github.com/yveszoundi/emacs-rimero-theme"))]) -(rigid-tabs . [(20170903 1559) ((emacs (24 3))) "Fix TAB alignment in diff buffers" single ((:commit . "eba84ceaba2e57e76ad2dfbb7a7154238a25d956") (:keywords "diff" "whitespace" "version control" "magit") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/rigid-tabs.el"))]) -(right-click-context . [(20190528 1832) ((emacs (24 3)) (cl-lib (0 5)) (popup (0 5)) (ordinal (0 0 1))) "Right Click Context menu" single ((:commit . "4b1a2cd2b3eaea2393d3696a36da8f42e386c23d") (:keywords "mouse" "menu" "rightclick") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))]) -(rich-minority . [(20190419 1136) ((cl-lib (0 5))) "Clean-up and Beautify the list of minor-modes." single ((:commit . "a03e693f6f9232cf75363aaaf1cb041f21675c19") (:keywords "mode-line" "faces") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/rich-minority"))]) -(rib-mode . [(20170726 1448) ((emacs (24))) "RenderMan® Interface Bytestream (RIB) Major Mode" single ((:commit . "97470158784c3c212e22e2c20b8471ee65ba59af") (:authors ("Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com")) (:maintainer "Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com") (:url . "https://github.com/blezek/rib-mode"))]) -(rhtml-mode . [(20130422 1311) nil "major mode for editing RHTML files" tar ((:commit . "a6d71b38a3db867ccf82999c99805db1a3a33c33"))]) -(rg . [(20191127 1848) ((cl-lib (0 5)) (emacs (25 1)) (s (1 10 0)) (transient (0 1 0)) (wgrep (2 1 10))) "A search tool based on ripgrep." tar ((:commit . "aea2a87f1aa9d19835c628db4065b4e3c16b2b42") (:keywords "matching" "tools") (:authors ("David Landell" . "david.landell@sunnyhill.email") ("Roland McGrath" . "roland@gnu.org")) (:maintainer "David Landell" . "david.landell@sunnyhill.email") (:url . "https://github.com/dajva/rg.el"))]) -(rfc-mode . [(20190525 1910) ((emacs (25 1)) (helm (3 2))) "RFC document browser and viewer" single ((:commit . "e7d9e2f4cb9ff302231efe57af6fdc201e5b48f0") (:authors ("Nicolas Martyanoff" . "khaelin@gmail.com")) (:maintainer "Nicolas Martyanoff" . "khaelin@gmail.com") (:url . "https://github.com/galdor/rfc-mode"))]) -(reykjavik-theme . [(20180823 1544) ((emacs (24))) "Theme with a dark background." single ((:commit . "2cd0043ae6d046f812a95bb26398ea23141beccc") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) -(review-mode . [(20190728 1435) nil "major mode for ReVIEW" single ((:commit . "3066beb9f3b7ef64da870b829bec8fe73e84b07c") (:authors ("Kenshi Muto" . "kmuto@debian.org")) (:maintainer "Kenshi Muto" . "kmuto@debian.org") (:url . "https://github.com/kmuto/review-el"))]) -(reverse-theme . [(20141205 145) nil "Reverse theme for Emacs" single ((:commit . "8319d0d5342890a3530ffa4daafdb7c35feda1ca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-reverse-theme"))]) -(reverse-im . [(20191113 1509) ((emacs (25 1))) "Reverse mapping for keyboard layouts other than english." single ((:commit . "a04ce1236dd6bfaa0c520162e6c5a1017c099030") (:keywords "input" "method") (:url . "https://github.com/a13/reverse-im.el"))]) -(reveal-in-osx-finder . [(20150802 1657) nil "Reveal file associated with buffer in OS X Finder" single ((:commit . "5710e5936e47139a610ec9a06899f72e77ddc7bc") (:keywords "os x" "finder") (:authors ("Kazuki YOSHIDA")) (:maintainer "Kazuki YOSHIDA") (:url . "https://github.com/kaz-yos/reveal-in-osx-finder"))]) -(restclient-test . [(20180106 2046) ((emacs (24 4)) (restclient (0))) "Run tests with restclient.el" single ((:commit . "4518561bc9661fedacb6fb352e9677207f45c418") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/restclient-test.el"))]) -(restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "e8ca809ace13549a1ddffb4e4aaa5d5fce750f3d") (:keywords "http" "helm") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) -(restclient . [(20191009 1208) nil "An interactive HTTP client for Emacs" single ((:commit . "e8ca809ace13549a1ddffb4e4aaa5d5fce750f3d") (:keywords "http") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) -(restart-emacs . [(20180601 1031) nil "Restart emacs from within emacs" single ((:commit . "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9") (:keywords "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/restart-emacs"))]) -(resize-window . [(20180918 538) ((emacs (24)) (cl-lib (0 5))) "easily resize windows" single ((:commit . "72018aa4d2401b60120588199d4cedd0dc1fbcfb") (:keywords "window" "resize") (:authors ("Dan Sutton " . "danielsutton01@gmail.com")) (:maintainer "Dan Sutton " . "danielsutton01@gmail.com") (:url . "https://github.com/dpsutton/resize-mode"))]) -(requirejs-mode . [(20130215 2104) nil "Improved AMD module management" single ((:commit . "bbb0c09f8eb2d6a33c17319be8137f68bb16bc92") (:keywords "javascript" "amd" "requirejs") (:authors ("Marc-Olivier Ricard" . "marco.ricard@gmail.com")) (:maintainer "Marc-Olivier Ricard" . "marco.ricard@gmail.com"))]) -(requirejs . [(20151204 719) ((js2-mode (20150713)) (popup (0 5 3)) (s (1 9 0)) (cl-lib (0 5)) (yasnippet (20151011 1823))) "Requirejs import manipulation and source traversal." tar ((:commit . "4ea2a5fcbc76e4cbb6a7461e6f05f019b75865b1") (:keywords "javascript" "requirejs") (:authors ("Joe Heyming" . "joeheyming@gmail.com")) (:maintainer "Joe Heyming" . "joeheyming@gmail.com") (:url . "https://github.com/joeheyming/requirejs-emacs"))]) -(request-deferred . [(20181129 317) ((deferred (0 3 1)) (request (0 2 0))) "Wrap request.el by deferred" single ((:commit . "7eff9e7cc2809f41be4d6b9f732e2b06adb42628") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) -(request . [(20191127 1554) ((emacs (24 4))) "Compatible layer for URL request in Emacs" single ((:commit . "7eff9e7cc2809f41be4d6b9f732e2b06adb42628") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) -(req-package . [(20180122 500) ((use-package (1 0)) (dash (2 7 0)) (log4e (0 2 0)) (ht (0))) "A use-package wrapper for package runtime dependencies management" tar ((:commit . "0c0ac7451149dac6bfda2adfe959d1df1c273de6") (:keywords "dotemacs" "startup" "speed" "config" "package") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:url . "https://github.com/edvorg/req-package"))]) -(repo . [(20190326 1644) ((emacs (24 3))) "Running repo from Emacs" single ((:commit . "c53c06169dec4e556982fb06ca780ca4708dc436") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/repo-el"))]) -(replace-with-inflections . [(20180831 635) ((cl-lib (0 5)) (string-inflection (1 0 10)) (inflections (1 1))) "Inflection aware `query-replace'" single ((:commit . "d9201e047856492f282da65459b28aba25998dbb") (:keywords "matching") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/replace-with-inflections.el"))]) -(replace-symbol . [(20160518 12) nil "Rename symbols in expressions or buffers" single ((:commit . "baf949e528aee1881f455f9c84e67718bedcb3f6") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/replace-symbol-el"))]) -(replace-pairs . [(20160207 1251) ((emacs (24 4))) "Query-replace pairs of things" single ((:commit . "acfb254dddffcee4250092fab9394ef2b42ffbc0") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/replace-pairs"))]) -(replace-from-region . [(20170227 2316) nil "Replace commands whose query is from region" single ((:commit . "dc9318b9b2822da7b00ecc34d1dc965c8f96c9bb") (:keywords "replace" "search" "region") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/emacs/download/replace-from-region.el"))]) -(repl-toggle . [(20190430 713) ((fullframe (0 0 5))) "Switch to/from repl buffer for current major-mode" single ((:commit . "a36caac7649fbffbe30f7b06541c9efd723563fc") (:keywords "repl" "buffers" "toggle") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) -(repeater . [(20180418 1212) ((emacs (24 4))) "Repeat recent repeated commands" single ((:commit . "854b874542b186b2408cbc58ad0591fe8eb70b6c") (:keywords "convenience") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/repeater"))]) -(repeatable-motion . [(20170620 1848) ((emacs (24))) "Make repeatable versions of motions" tar ((:commit . "f29effdc4121c2dc7e3fec9b3a62debce29cda9d") (:keywords "motion" "repeatable") (:authors ("William Hatch" . "willghatch@gmail.com")) (:maintainer "William Hatch" . "willghatch@gmail.com") (:url . "https://github.com/willghatch/emacs-repeatable-motion"))]) -(renpy . [(20190419 1749) nil "silly walks for Renpy" single ((:commit . "943e1af71d23128ff100d41d178ccffe28f97944") (:keywords "languages") (:authors ("PyTom" . "pytom@bishoujo.us")) (:maintainer "Dave Love" . "fx@gnu.org") (:url . "https://github.com/billywade/renpy-mode"))]) -(remember-last-theme . [(20170619 2133) ((emacs (24 4))) "Remember the last used theme between sessions." single ((:commit . "0973f1aa6b96355fa376fffe8b45733b6e963c51") (:keywords "convenience" "faces") (:authors ("Anler Hernández Peral" . "inbox+emacs@anler.me")) (:maintainer "Anler Hernández Peral" . "inbox+emacs@anler.me") (:url . "https://github.com/anler/remember-last-theme"))]) -(remark-mode . [(20191103 1825) ((emacs (25 1)) (markdown-mode (2 0))) "Major mode for the remark slideshow tool" tar ((:commit . "e80a1b78304045dec3eceffb6c8cbaf2b6c7b57a") (:keywords "remark" "slideshow" "markdown" "hot reload") (:authors ("@torgeir")) (:maintainer "@torgeir"))]) -(relax . [(20131029 2134) ((json (1 2))) "For browsing and interacting with CouchDB" single ((:commit . "6e33892623ab87833082262321dc8e1977209626") (:keywords "database" "http") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "http://github.com/technomancy/relax.el"))]) -(relative-buffers . [(20191004 1205) ((cl-lib (0 5)) (dash (2 6 0)) (s (1 9 0)) (f (0 16 2))) "Emacs buffers naming convention" single ((:commit . "6064cd0b3cbd42c4a46c70fc396f05be71f42bd6") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/relative-buffers"))]) -(related . [(20190327 1024) ((cl-lib (0 5))) "Switch back and forth between similarly named buffers." single ((:commit . "546c7e811b290470288b617f2c27106bd83ccd33") (:keywords "file" "buffer" "switch" "selection" "matching" "convenience") (:authors ("Julien Montmartin")) (:maintainer "Julien Montmartin") (:url . "https://github.com/julien-montmartin/related"))]) -(register-channel . [(20180926 2349) nil "Jump around fast using registers" single ((:commit . "9272923757402d177a0b2deab1d9c3c74601c48e") (:keywords "convenience") (:authors ("Yang Zhao" . "YangZhao11@users.noreply.github.com")) (:maintainer "Yang Zhao" . "YangZhao11@users.noreply.github.com"))]) -(region-state . [(20181205 1746) nil "Show the number of chars/lines or rows/columns in the region" single ((:commit . "8c636b655eef45e0015684699737d31e15450000") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/region-state.el"))]) -(region-occurrences-highlighter . [(20190905 730) ((emacs (24))) "Mark occurrences of current region (selection)." single ((:commit . "ee86d6a79342c6e4b3cfad5ec73cb0a40e18ae3d") (:keywords "convenience") (:authors ("Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com")) (:maintainer "Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com") (:url . "https://github.com/alvarogonzalezsotillo/region-occurrences-highlighter"))]) -(region-convert . [(20181221 528) nil "Convert string in region by Lisp function" single ((:commit . "a50a0828a989fc1788a32946249a3758793156b3") (:keywords "region" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))]) -(region-bindings-mode . [(20140407 2214) nil "Enable custom bindings when mark is active." single ((:commit . "3fa5dbdbd7c000bebff6d9d14a4be326ec24b6fc") (:keywords "convenience") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:url . "https://github.com/fgallina/region-bindings-mode"))]) -(regex-tool . [(20170104 1918) nil "A regular expression evaluation tool for programmers" single ((:commit . "0b4a0111143c88ef94bec56624cb2e00c1a054e6") (:keywords "regex" "languages" "programming" "development") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "http://www.newartisans.com/"))]) -(regex-dsl . [(20100124 1028) nil "lisp syntax for regexps" single ((:commit . "ac89ab8b7691a165ef3007cb84417125cfc0632e") (:authors ("Aliaksey Kandratsenka" . "alk@tut.by")) (:maintainer "Aliaksey Kandratsenka" . "alk@tut.by"))]) -(reformatter . [(20191103 357) ((emacs (24 3))) "Define commands which run reformatters on the current buffer" single ((:commit . "6c5e7f64c5ac1178dff5ca28d9809c08398fb3e6") (:keywords "convenience" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/reformatter.el"))]) -(refine . [(20180315 2228) ((emacs (24 3)) (s (1 11 0)) (dash (2 12 0)) (list-utils (0 4 4)) (loop (1 2))) "interactive value editing" single ((:commit . "0a99439a0b4ed6f79b9a240ea1270140a9e328bc") (:keywords "convenience") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(redtt . [(20181121 21) ((emacs (25 3))) "Major mode for editing redtt proofs" single ((:commit . "0904065857c4388c18d1eacca89769e566d36a9f") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:url . "http://github.com/RedPRL/redtt"))]) -(redtick . [(20180424 2136) ((emacs (24 4))) "Smallest pomodoro timer (1 char)" tar ((:commit . "94b4cd43ac20c64dcac96edac2c1a3b9fcc59bb9") (:keywords "calendar") (:authors ("F. Febles")) (:maintainer "F. Febles") (:url . "http://github.com/ferfebles/redtick"))]) -(redshank . [(20180730 407) ((paredit (21))) "Common Lisp Editing Extensions" tar ((:commit . "d059c5841044aa163664f8bf87c1d981bf0a04fe") (:keywords "languages" "lisp") (:authors ("Michael Weber" . "michaelw@foldr.org")) (:maintainer "Michael Weber" . "michaelw@foldr.org"))]) -(redprl . [(20180418 1434) ((emacs (24 3))) "Major mode for editing RedPRL proofs and interacting with RedPRL" single ((:commit . "c72190de76f7ed1cfbe1d2046c96e99ac5022b0c") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com"))]) -(redpen-paragraph . [(20160625 1050) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "RedPen interface." single ((:commit . "770ffb34b04bfa0ea8484fa1506e96c530168e13") (:keywords "document" "proofreading" "help") (:authors ("karronoli")) (:maintainer "karronoli") (:url . "https://github.com/karronoli/redpen-paragraph.el"))]) -(redis . [(20150531 1948) ((emacs (24)) (cl-lib (0 5))) "Redis integration" single ((:commit . "2c33f3397bc14e7a8192867b55920492d4eead8c") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/redis.el"))]) -(recursive-narrow . [(20190306 1521) nil "narrow-to-region that operates recursively" single ((:commit . "5e3e2067d5a148d7e64e64e0355d3b6860e4c259") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/recursive-narrow"))]) -(rectangle-utils . [(20190411 1757) ((emacs (24)) (cl-lib (0 5))) "Some useful rectangle functions." single ((:commit . "46f7e73340fee40c1ab9a4e766a08ae3fce83ebe") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/rectangle-utils"))]) -(rect+ . [(20150621 44) nil "Extensions to rect.el" single ((:commit . "299b742faa0bc4448e0d5fe9cb98ab1eb93b8dcc") (:keywords "extensions" "data" "tools") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-rectplus"))]) -(recover-buffers . [(20171009 437) nil "revisit all buffers from an auto-save file" tar ((:commit . "81a5cb53099955ebc2a411a44cba5a394ee3f2d1") (:authors ("era eriksson ")) (:maintainer "era eriksson "))]) -(recompile-on-save . [(20151126 1446) ((dash (1 1 0)) (cl-lib (0 5))) "Trigger recompilation on file save." single ((:commit . "92e11446869d878803d4f3dec5d2101380c12bb2") (:keywords "convenience" "files" "processes" "tools") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "https://github.com/maio/recompile-on-save.el"))]) -(recently . [(20190317 1234) ((cl-lib (0 5)) (emacs (24))) "Track recently opened files to visit them again" single ((:commit . "7b5d1128becb387d759a3a95f6afb9ef54be792a") (:keywords "utility" "files") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:url . "https://github.com/10sr/recently-el"))]) -(recentf-remove-sudo-tramp-prefix . [(20180205 556) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "6cb762efbd0aa323f96c687b6bebc9bf00a3ceb3") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))]) -(recentf-ext . [(20170926 35) nil "Recentf extensions" single ((:commit . "450de5f8544ed6414e88d4924d7daa5caa55b7fe") (:keywords "convenience" "files") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/recentf-ext.el"))]) -(rebox2 . [(20121113 1300) nil "Handling of comment boxes in various styles." single ((:commit . "00634eca420cc48657b81e40e599ff8548083985") (:authors ("François Pinard") ("Le Wang")) (:maintainer "Le Wang (lewang.emacs!!!gmayo.com remove exclamations, correct host, hint: google mail)") (:url . "https://github.com/lewang/rebox2"))]) -(rebecca-theme . [(20180324 821) ((emacs (24))) "Rebecca Purple Theme" single ((:commit . "9ac0c71c2858b76dc5499f62c7c7fb7f9e8f16bc") (:keywords "theme" "dark") (:authors ("vic" . "vborja@apache.org")) (:maintainer "vic" . "vborja@apache.org") (:url . "https://github.com/vic/rebecca-theme"))]) -(reazon . [(20180921 1437) ((emacs (26))) "miniKanren for Emacs" tar ((:commit . "020be6467a83957adcbdcb192b61f2c76a94079b") (:keywords "languages" "extensions" "lisp") (:authors ("Nick Drozd" . "nicholasdrozd@gmail.com")) (:maintainer "Nick Drozd" . "nicholasdrozd@gmail.com") (:url . "https://github.com/nickdrozd/reazon"))]) -(reason-mode . [(20190710 1037) ((emacs (24 3))) "A major mode for editing ReasonML" tar ((:commit . "5e6205cfede8c10c6821dfd9f9757a9d8035ec04") (:keywords "languages" "ocaml") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/reasonml-editor/reason-mode"))]) -(reaper . [(20190920 2209) ((emacs (24 3))) "Interact with Harvest time tracking app" single ((:commit . "1c58c96380b8dc31002bbc87100c3faecfa01f1b") (:keywords "tools") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk") (:url . "https://github.com/xendk/reaper"))]) -(realgud-trepan-ni . [(20190912 1418) ((load-relative (1 2)) (realgud (1 5 0)) (emacs (25))) "Realgud front-end to trepan-ni" tar ((:commit . "6e9cac5e8097018aadf41c88de541168036cc227") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-trepan-ni"))]) -(realgud-rdb2 . [(20190520 1146) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end for interacting with Ruby debugger2" tar ((:commit . "3594aa74f7afda3c3251bb2af7fe0e8ec6d621ae") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-ruby-debugger2"))]) -(realgud-pry . [(20190520 1139) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to the Ruby pry debugger" tar ((:commit . "fe04c0e1e1ce33361d12ad6f9bcf493f3fe228e0") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-pry"))]) -(realgud-old-debuggers . [(20190520 1150) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to older lesser-used debuggers" tar ((:commit . "0fad38283e885c452160232e01adf3f6ae51983b") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-old-debuggers"))]) -(realgud-node-inspect . [(20190523 1251) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to newer \"node inspect\"" tar ((:commit . "c3ed48cf3bc2b28f9fd23bcf60ea13a3cf019fc8") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-node-inspect"))]) -(realgud-node-debug . [(20190525 1634) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (25))) "Realgud front-end to older \"node debug\"" tar ((:commit . "72e786359ce9dace1796b0d81a00e9340e9c90ad") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-node-debug"))]) -(realgud-lldb . [(20190912 1335) ((load-relative (1 3 1)) (realgud (1 5 0)) (emacs (25))) "Realgud front-end to lldb" tar ((:commit . "47cb0178fdde50a9d9151ab45806b41007cd758a") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-lldb"))]) -(realgud-jdb . [(20191125 1700) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to Java's jdb debugger\"" tar ((:commit . "99b7f08e0fcec9e33dde8dbbe60e42cfec08bc17") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-jdb"))]) -(realgud-ipdb . [(20191115 1116) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to ipdb" tar ((:commit . "347090928d7866a9909208c5bbe2cb8fa7b55cd7") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/realgud-ipdb"))]) -(realgud-byebug . [(20190520 1140) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to the Ruby byebug debugger" tar ((:commit . "f8f20b92c6b13f75cc9797921c0e28d3def48b1c") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-byebug"))]) -(realgud . [(20191123 1341) ((load-relative (1 3 1)) (loc-changes (1 2)) (test-simple (1 3 0)) (emacs (25))) "A modular front-end for interacting with external debuggers" tar ((:commit . "2cca776d28c4d6ebef033758ef01f2af2e9b3b96") (:keywords "debugger" "gdb" "python" "perl" "go" "bash" "zsh" "bashdb" "zshdb" "remake" "trepan" "perldb" "pdb") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud/"))]) -(real-auto-save . [(20190224 1446) nil "Automatically save your all your buffers/files at regular intervals." single ((:commit . "824ad04121493723b08838c8b96559947dca7ed9") (:authors ("Chaoji Li ") ("Anand Reddy Pandikunta ")) (:maintainer "Chaoji Li "))]) -(readline-complete . [(20150708 1437) nil "offers completions in shell mode" single ((:commit . "30c020c37b2741160cc37e656e13c85d826a0ebf") (:authors ("Christopher Monsanto" . "chris@monsan.to")) (:maintainer "Christopher Monsanto" . "chris@monsan.to"))]) -(readability . [(20140716 27) ((oauth (1 4)) (ov (1 0)) (emacs (24 3))) "Read articles from Readability in Emacs" single ((:commit . "6c220ab8e0ca63946574ed892add5c8fd14002ce") (:keywords "readability" "oauth") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-readability"))]) -(read-aloud . [(20160923 500) ((emacs (24 4))) "A simple interface to TTS engines" single ((:commit . "c662366226abfb07204ab442b4f853ed85438d8a") (:keywords "multimedia") (:authors ("Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com")) (:maintainer "Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com") (:url . "https://github.com/gromnitsky/read-aloud.el"))]) -(react-snippets . [(20181002 1046) ((yasnippet (0 7 0))) "Yasnippets for React" tar ((:commit . "87ccb640d265fe799583ab55605b84d113223694"))]) -(rdxmk . [(20170630 134) nil "A small set of tools for redox developments" tar ((:commit . "e78749fb29738365ffa4d863ffabeb969ebb0bcf") (:keywords "redox" "convenience" "tools") (:authors ("Jacob Salzberg" . "jsalzbergedu@yahoo.com")) (:maintainer "Jacob Salzberg" . "jsalzbergedu@yahoo.com") (:url . "https://github.com/jsalzbergedu/rdxmk"))]) -(rdp . [(20120929 154) nil "Recursive Descent Parser library" single ((:commit . "b620192afada04aec33b38cc130fef0765f41ca9") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/rdp"))]) -(rdf-prefix . [(20190511 1212) nil "Prefix lookup for RDF" single ((:commit . "6daf675d96aa4a0bc78adc93560b791a77651b22") (:keywords "convenience" "abbrev") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/rdf-prefix"))]) -(rcirc-styles . [(20160207 250) ((cl-lib (0 5))) "support mIRC-style color and attribute codes" single ((:commit . "f313bf6a7470bed314b27c7a40558cb787d7bc67"))]) -(rcirc-notify . [(20150219 2204) nil "libnotify popups" single ((:commit . "841a7b5a6cdb0c11a812df924d2c6a7d364fd455") (:keywords "lisp" "rcirc" "irc" "notify" "growl") (:authors ("Will Farrington, Alex Schroeder , Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) -(rcirc-groups . [(20170731 2101) nil "an emacs buffer in rcirc-groups major mode" single ((:commit . "b68ece9d219b909244d4e3c0d8bf6a746d6fead7") (:keywords "comm" "convenience") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "http://tapoueh.org/emacs/rcirc-groups.html"))]) -(rcirc-alertify . [(20140407 119) ((alert (20140406 1353))) "Cross platform notifications for rcirc" single ((:commit . "ea5cafc55893f375eccbe013d12dbaa94bf6e259") (:keywords "comm" "convenience") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org"))]) -(rcirc-alert . [(20141127 1047) nil "Configurable alert messages on top of RCIRC" tar ((:commit . "0adf8ff9c47023fec578f678424be62b0f49057f") (:keywords "lisp" "rcirc" "irc" "alert" "awesome") (:maintainer "Cayetano Santos"))]) -(rc-mode . [(20160913 1918) nil "Major mode for the Plan9 rc shell" single ((:commit . "fe2e0570bf9c19a292e16b18fd4b0a256df5d93f") (:keywords "rc" "plan9" "shell") (:authors ("Jordan Brown")) (:maintainer "Jordan Brown") (:url . "https://github.com/mrhmouse/rc-mode.el"))]) -(rbtagger . [(20191115 1858) ((emacs (25 1))) "Ruby tagging tools" tar ((:commit . "e46137e36a3bdba8dd4d27017b194a8524c7375b") (:keywords "languages" "tools") (:authors ("Thiago Araújo" . "thiagoaraujos@gmail.com")) (:maintainer "Thiago Araújo" . "thiagoaraujos@gmail.com") (:url . "https://www.github.com/thiagoa/rbtagger"))]) -(rbt . [(20170202 2302) ((popup (0 5 3)) (magit (20160128 1201))) "Integrate reviewboard with emacs." single ((:commit . "32bfba9062a014e375451cf4203c29535b5efc1e") (:keywords "reviewboard" "rbt") (:authors ("Joe Heyming" . "joeheyming@gmail.com")) (:maintainer "Joe Heyming" . "joeheyming@gmail.com"))]) -(rbenv . [(20141120 749) nil "Emacs integration for rbenv" single ((:commit . "2ea1a5bdc1266caef1dd77700f2c8f42429b03f1") (:keywords "ruby" "rbenv") (:authors ("Yves Senn" . "yves.senn@gmail.com")) (:maintainer "Yves Senn" . "yves.senn@gmail.com") (:url . "https://github.com/senny/rbenv.el"))]) -(rats . [(20170818 1013) ((s (1 10 0)) (go-mode (1 3 1)) (cl-lib (0 5))) "Rapid testing suite for Go" single ((:commit . "a6d55aebcc54f669c6c6ffedf84364c4097903cc") (:keywords "go") (:authors ("Antoine Kalmbach" . "ane@iki.fi")) (:maintainer "Antoine Kalmbach" . "ane@iki.fi"))]) -(rase . [(20120928 2045) nil "Run At Sun Event daemon" single ((:commit . "59b5f7e8102570b65040e8d55781c7ea28de7338") (:keywords "solar" "sunrise" "sunset" "midday" "midnight") (:authors ("Andrey Kotlarski" . "m00naticus@gmail.com")) (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/rase/"))]) -(ranger . [(20190412 624) ((emacs (24 4))) "Make dired more like ranger" single ((:commit . "c3f349e52f5c50926dc0f285c97676934f50bc18") (:keywords "files" "convenience" "dired") (:authors ("Rich Alesi ")) (:maintainer "Rich Alesi ") (:url . "https://github.com/ralesi/ranger"))]) -(random-splash-image . [(20151003 130) nil "Randomly sets splash image to *GNU Emacs* buffer on startup." single ((:commit . "53a39ebfd8ac6be066a652a508a717870f94218a") (:keywords "games") (:authors ("kakakaya ")) (:maintainer "kakakaya ") (:url . "https://github.com/kakakaya/random-splash-image"))]) -(rand-theme . [(20151219 2335) ((cl-lib (0 5))) "Random Emacs theme at start-up!" single ((:commit . "65a00e5c5150f857aa96803b68f50bc8da0215b7") (:authors ("Daniel Gopar")) (:maintainer "Daniel Gopar") (:url . "https://github.com/gopar/rand-theme"))]) -(rally-mode . [(20161114 354) ((popwin (1 0 0))) "a mode to interact with the Rally Software web site." single ((:commit . "0f5e09a6abe2de7613f174b4f54863df93343134") (:keywords "rally" "ca" "agile") (:authors ("Sean LeBlanc" . "seanleblanc@gmail.com")) (:maintainer "Sean LeBlanc" . "seanleblanc@gmail.com") (:url . "https://pragcraft.wordpress.com/"))]) -(rake . [(20180212 1008) ((f (0 13 0)) (dash (1 5 0)) (cl-lib (0 5))) "Run rake commands" single ((:commit . "9c204334b03b4e899fadae6e59c20cf105404128") (:keywords "rake" "ruby") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:url . "https://github.com/asok/rake.el"))]) -(rainbow-identifiers . [(20141102 1526) ((emacs (24))) "Highlight identifiers according to their names" single ((:commit . "19fbfded1baa98d12335f26f6d7b20e5ae44ce2e") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/rainbow-identifiers"))]) -(rainbow-delimiters . [(20191018 1233) nil "Highlight brackets according to their depth" single ((:commit . "5125f4e47604ad36c3eb4706310fcafac729ca8c") (:keywords "faces" "convenience" "lisp" "tools") (:authors ("Jeremy Rayman" . "opensource@jeremyrayman.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/rainbow-delimiters"))]) -(rainbow-blocks . [(20171025 1438) nil "Block syntax highlighting for lisp code" single ((:commit . "dd435d7bb34ff6f162a5f315df308b90b7e9f842") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/rainbow-blocks"))]) -(railscasts-theme . [(20150219 1525) nil "Railscasts color theme for GNU Emacs." single ((:commit . "1340c3f6c2717761cab95617cf8dcbd962b1095b") (:keywords "railscasts" "color" "theme") (:authors ("Oleg Shaldybin")) (:maintainer "Oleg Shaldybin") (:url . "https://github.com/mikenichols/railscasts-theme"))]) -(railscasts-reloaded-theme . [(20190308 759) nil "Railscasts Reloaded color theme" single ((:commit . "c6a1cf13a164f22b026b0959527c3b98c2b1aa49") (:authors ("George Thomas" . "iamgeorgethomas@gmail.com")) (:maintainer "George Thomas" . "iamgeorgethomas@gmail.com") (:url . "https://github.com/thegeorgeous/railscasts-reloaded-theme"))]) -(rails-log-mode . [(20140408 425) nil "Major mode for viewing Rails log files" single ((:commit . "ff440003ad7d47cb0ac3300f2a632f4cfd36a446") (:keywords "rails" "log") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com"))]) -(racket-mode . [(20191123 1604) ((emacs (24 3)) (faceup (0 0 2))) "Major mode for Racket language." tar ((:commit . "914c73ecd1166c9bc4fa227bb7051c87ade0030b") (:authors ("Greg Hendershott")) (:maintainer "Greg Hendershott") (:url . "https://www.racket-mode.com/"))]) -(racer . [(20191001 2344) ((emacs (25 1)) (rust-mode (0 2 0)) (dash (2 13 0)) (s (1 10 0)) (f (0 18 2)) (pos-tip (0 4 6))) "code completion, goto-definition and docs browsing for Rust via racer" single ((:commit . "a0bdf778f01e8c4b8a92591447257422ac0b455b") (:keywords "abbrev" "convenience" "matching" "rust" "tools") (:authors ("Phil Dawes")) (:maintainer "Phil Dawes") (:url . "https://github.com/racer-rust/emacs-racer"))]) -(r-autoyas . [(20140101 1510) ((ess (0)) (yasnippet (0 8 0))) "Provides automatically created yasnippets for R function argument lists." tar ((:commit . "b4020ee7f5f895e0065b8b26da8a49c51432d530") (:keywords "r" "yasnippet") (:authors ("Sven Hartenstein & Matthew Fidler")) (:maintainer "Matthew Fidler") (:url . "https://github.com/mlf176f2/r-autoyas.el"))]) -(quiz . [(20190525 1206) ((cl-lib (0 5)) (emacs (25))) "Multiple choice quiz game" single ((:commit . "570bf53926d89282cdb9653bd5aa8fe968f92bbd") (:keywords "games" "trivia" "quiz") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/quiz.el"))]) -(quilt . [(20190828 506) ((emacs (26 0))) "Minor mode for working with files in quilt" single ((:commit . "b56a1f1acc46cdf8655710e4c8f24f5f31f22c6a") (:keywords "extensions") (:authors ("Matt Mackall" . "mpm@selenic.com")) (:maintainer "Jan Stranik" . "jan@stranik.org") (:url . "https://github.com/jstranik/emacs-quilt"))]) -(quiet . [(20160508 1256) nil "disconnect from the online world for a while" single ((:commit . "6f20309f99e26fcae2601d1544b342f044e54baf") (:keywords "quiet" "distraction" "network" "detachment" "offline") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/quiet"))]) -(quickrun . [(20170223 115) ((emacs (24 3))) "Run commands quickly" single ((:commit . "55bbe5d54b80206ea5a60bf2f58eb6368b2c8201") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))]) -(quickref . [(20170817 1232) ((dash (1 0 3)) (s (1 0 0))) "Display relevant notes-to-self in the echo area" single ((:commit . "f368c8b8219bb90498c5ab84e26f00eedaa234cf") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/quickref.el"))]) -(quick-shell-keybind . [(20171023 613) ((emacs (24))) "Interactively bind a key to shell commands" single ((:commit . "5f4541a5a5554d108bf16b5fd1713e962161ca1b") (:keywords "maint" "convenience" "processes") (:authors ("eyeinsky" . "eyeinsky9@gmail.com")) (:maintainer "eyeinsky" . "eyeinsky9@gmail.com") (:url . "https://github.com/eyeinsky/quick-shell-keybind"))]) -(quick-preview . [(20150829 439) nil "quick preview using GNOME sushi, gloobus or quick look" single ((:commit . "29c884c6ab385ef67d9aa656ebb7c94cabeb5c35") (:keywords "files" "hypermedia") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/quick-preview.el"))]) -(quick-peek . [(20190208 1515) ((emacs (24 3))) "Inline quick-peek windows" single ((:commit . "fd8a6c81422932539d221f39f18c90f2811f2dd9") (:keywords "tools" "help" "doc" "convenience") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com"))]) -(quick-buffer-switch . [(20151007 2208) nil "Quick switch to file or dir buffers." single ((:commit . "d5fdd67b4c9f04b7a7122da2215e4ae076a03b1b") (:keywords "emacs" "configuration") (:authors ("Sebastien Gross ")) (:maintainer "Sebastien Gross "))]) -(quelpa-use-package . [(20190210 1838) ((emacs (24 3)) (quelpa (0)) (use-package (2))) "quelpa handler for use-package" single ((:commit . "6f3cc87caa6cb8795079c5cab3c6665970859098") (:keywords "package" "management" "elpa" "use-package") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa-use-package"))]) -(quelpa . [(20191123 1419) ((emacs (24 3))) "Emacs Lisp packages built directly from source" tar ((:commit . "b31d8b87c628bb264990a58be0ac9dbae4a0a8cc") (:keywords "package" "management" "build" "source" "elpa") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa"))]) -(quasi-monochrome-theme . [(20181213 827) nil "Quasi Monochrome theme" tar ((:commit . "68060dbbc0bbfe4924387392874186c5a29bb434") (:keywords "color" "theme" "monochrome"))]) -(quack . [(20181106 1301) nil "enhanced support for editing and running Scheme code" single ((:commit . "2146805ce2b5a9b155d73929986f11e713787e26"))]) -(qt-pro-mode . [(20170604 1841) ((emacs (24))) "Qt Pro/Pri major mode" single ((:commit . "7a2da323de834294b413cbbb3c92f42f54913643") (:keywords "extensions") (:authors ("Todd Neal" . "tolchz@gmail.com")) (:maintainer "Todd Neal" . "tolchz@gmail.com"))]) -(qml-mode . [(20161016 31) nil "Major mode for editing QT Declarative (QML) code." single ((:commit . "6c5f33ba88ae010bf201a80ee8095e20a724558c") (:keywords "qml" "qt" "qt declarative") (:authors ("Yen-Chin Lee" . "coldnew.tw@gmail.com")) (:maintainer "Yen-Chin Lee" . "coldnew.tw@gmail.com") (:url . "https://github.com/coldnew/qml-mode"))]) -(ql . [(20180418 2020) ((emacs (24))) "Control Quod Libet" single ((:commit . "d976414ba6aa576ad524b5ee5bfa620efd072258") (:keywords "multimedia") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:url . "https://github.com/ieure/ql-el"))]) -(qiita . [(20140118 844) ((helm (1 5 9)) (markdown-mode (2 0))) "Qiita API Library for emacs" single ((:commit . "93c697b97d540fd1601a13a3d9889fb939b19878") (:keywords "qiita") (:authors ("Wataru MIYAGUNI (gonngo _at_ gmail.com)")) (:maintainer "Wataru MIYAGUNI (gonngo _at_ gmail.com)") (:url . "https://github.com/gongo/qiita-el"))]) -(q-mode . [(20181216 1747) ((emacs (24))) "A q editing mode" single ((:commit . "7a13fb68a0ad3d843c8cdc188cf0adb9723f42f7") (:keywords "faces" "files" "q") (:url . "https://github.com/psaris/q-mode"))]) -(pyvenv . [(20191006 1304) nil "Python virtual environment interface" single ((:commit . "103d2f158ef2a760741682e18741e44107c68f3f") (:keywords "python" "virtualenv" "tools") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Jorgen Schaefer" . "contact@jorgenschaefer.de") (:url . "http://github.com/jorgenschaefer/pyvenv"))]) -(pythonic . [(20191021 811) ((emacs (25 1)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "ba9af8ce302579a2b2097b867a35a9fc0bc4bceb") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))]) -(python-x . [(20190611 1303) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "b1f8eaccee210d7c0580dba6dc9bd361fcf3765d") (:keywords "python" "eval" "folding") (:url . "https://github.com/wavexx/python-x.el") (:author . "Yuri D'Elia "))]) -(python-test . [(20181018 29) ((emacs (25 1))) "Python testing integration" single ((:commit . "f899975b133539e19ba822e4b0bfd1a28572967e") (:keywords "convenience" "tools" "processes") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/python-test.el"))]) -(python-switch-quotes . [(20161228 809) ((emacs (24 3))) "cycle between ' and \" quotes in python strings" single ((:commit . "93f1e9b40e061a6cea480139e8b1362b6404abd0") (:keywords "python" "tools" "convenience") (:authors ("Vladimir Lagunov" . "lagunov.vladimir@gmail.com")) (:maintainer "Vladimir Lagunov" . "lagunov.vladimir@gmail.com") (:url . "https://github.com/werehuman/python-switch-quotes"))]) -(python-pytest . [(20180725 1146) ((emacs (24 4)) (dash (2 12 0)) (dash-functional (2 12 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0))) "helpers to run pytest" single ((:commit . "09ad688df207ee9b02c990d3897a9e2841931d97") (:keywords "pytest" "test" "python" "languages" "processes" "tools") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-python-pytest"))]) -(python-mode . [(20191201 1223) nil "Python major mode" tar ((:commit . "29c160fbc23d56354caeb6b5644a2afc7559e2d8"))]) -(python-info . [(20151228 1852) nil "Python info manual for Emacs" tar ((:commit . "306f15441b54b25757cdfd3b327b84024ea21ed7"))]) -(python-environment . [(20150310 853) ((deferred (0 3 1))) "virtualenv API for Emacs Lisp" tar ((:commit . "401006584e32864a10c69d29f14414828909362e") (:keywords "applications" "tools") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki "))]) -(python-docstring . [(20190716 921) nil "Smart Python docstring formatting" tar ((:commit . "0d2f783f5a868ded8a37aa5881f8952aa36b053f"))]) -(python-django . [(20150822 404) nil "A Jazzy package for managing Django projects" single ((:commit . "fc54ad74f0309670359b939f64d0f1fff68aeac4") (:keywords "languages") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "FSF") (:url . "https://github.com/fgallina/python-django.el"))]) -(python-cell . [(20190217 1823) nil "Support for MATLAB-like cells in python mode" single ((:commit . "665725446b194dbaaff9645dd880524368dd710a") (:keywords "python" "matlab" "cell") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com"))]) -(python-black . [(20190817 1754) ((emacs (25)) (dash (2 16 0)) (reformatter (0 3))) "Reformat Python using python-black" single ((:commit . "706d317f0874d7c5b5a3d844698bcfb8b1fe253e") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-python-black"))]) -(pytest-pdb-break . [(20191016 530) ((emacs (25))) "A pytest PDB launcher" tar ((:commit . "eb206b1b288a60bbaace10c16c440c11401b6a99") (:keywords "languages" "tools") (:authors ("Jane Soko" . "poppyschmo@protonmail.com")) (:maintainer "Jane Soko" . "poppyschmo@protonmail.com") (:url . "https://github.com/poppyschmo/pytest-pdb-break"))]) -(pytest . [(20181005 1524) ((s (1 9 0))) "Easy Python test running in Emacs" single ((:commit . "1bfa7549001e61ecd59cd6eae7c6656a924d1ba4") (:keywords "pytest" "python" "testing") (:url . "https://github.com/ionrock/pytest-el"))]) -(pyramid . [(20181212 1204) ((emacs (25 2)) (pythonic (0 1 1)) (tablist (0 70))) "Minor mode for working with pyramid projects" tar ((:commit . "05697e881a8b57c4f183344c42ae36662b180663") (:keywords "python" "pyramid" "pylons" "convenience" "tools" "processes") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/pyramid.el"))]) -(pynt . [(20180710 726) ((emacs (24 4)) (ein (0 13 1)) (epc (0 1 1)) (deferred (0 5 1))) "Generate and scroll EIN buffers from python code" single ((:commit . "86cf9ce78d34f92bfd0764c9cbb75427ebd429e6") (:keywords "convenience") (:authors ("Edward Banner" . "edward.banner@gmail.com")) (:maintainer "Edward Banner" . "edward.banner@gmail.com") (:url . "https://github.com/ebanner/pynt"))]) -(pylint . [(20170402 1255) nil "minor mode for running `pylint'" single ((:commit . "04e72bc0f91c7085bfb2922bdf9afffde1286dff") (:keywords "languages" "python") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) -(pyimpsort . [(20160130 453) ((emacs (24 3))) "Sort python imports." tar ((:commit . "d5c61d70896b642646dfd3c809c06174ae086c1a") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/pyimpsort.el"))]) -(pyimport . [(20180308 1752) ((dash (2 8 0)) (s (1 9 0)) (shut-up (0 3 2))) "Manage Python imports!" single ((:commit . "a6f63cf7ed93f0c0f7c207e6595813966f8852b9") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(pyim-wbdict . [(20190201 2300) ((pyim (1 0))) "Some wubi dicts for pyim" tar ((:commit . "9799b689643052078f53d69342a82315251490f4") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim-wbdict"))]) -(pyim-cangjie5dict . [(20170730 246) ((pyim (1 0))) "Some cangjie5 dicts for pyim" tar ((:commit . "c8618590780b818db1a67a29bc47c5d25903517a") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Yuanchen Xie" . "yuanchen.gm@gmail.com")) (:maintainer "Yuanchen Xie" . "yuanchen.gm@gmail.com") (:url . "https://github.com/erstern/pyim-cangjie5dict"))]) -(pyim-basedict . [(20190719 1252) nil "The default pinyin dict of pyim" tar ((:commit . "d499104189a9462cb80f8efd9713e4064dc7093d") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim-basedict"))]) -(pyim . [(20191118 33) ((emacs (24 4)) (popup (0 1)) (async (1 6)) (xr (1 13)) (pyim-basedict (0 1))) "A Chinese input method support quanpin, shuangpin, wubi and cangjie." tar ((:commit . "e2a20779e1ff94aabcc3a2d599643c84514d930d"))]) -(pygen . [(20161121 506) ((elpy (1 12 0)) (python-mode (6 2 2)) (dash (2 13 0))) "Python code generation using Elpy and Python-mode." single ((:commit . "9019ff44ba49d7295b1476530feab91fdadb084b") (:keywords "python" "code generation") (:authors ("Jack Crawley ")) (:maintainer "Jack Crawley ") (:url . "https://github.com/JackCrawley/pygen/"))]) -(pyfmt . [(20150521 2056) nil "Emacs interface to pyfmt" single ((:commit . "cb92be2cf0804cc53142dc5edb36f8e0ef5cec32") (:keywords "tools") (:authors ("Alexandre Héaumé" . "aheaume@gmail.com")) (:maintainer "Alexandre Héaumé" . "aheaume@gmail.com") (:url . "https://github.com/aheaume/pyfmt.el"))]) -(pyenv-mode-auto . [(20180620 1252) ((pyenv-mode (0 1 0)) (s (1 11 0)) (f (0 17 0))) "Automatically activates pyenv version if .python-version file exists." single ((:commit . "347b94cd5ad22e33cc41be661c102d4548767858") (:keywords "python" "pyenv") (:authors ("Sviatoslav Bulbakha" . "mail@ssbb.me")) (:maintainer "Sviatoslav Bulbakha" . "mail@ssbb.me") (:url . "https://github.com/ssbb/pyenv-mode-auto"))]) -(pyenv-mode . [(20170801 2348) ((pythonic (0 1 0))) "Integrate pyenv with python-mode" single ((:commit . "aec6f2aa289f6aed974f053c081143758dd142fb") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pyenv-mode"))]) -(pydoc-info . [(20110301 834) nil "Better Python support for info-lookup-symbol." tar ((:commit . "151d877c8fb8e418a573b1e879b1263c18e22776"))]) -(pydoc . [(20181025 51) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "abb948e27efaf2452f339c62cd99a1c69930bbfe") (:keywords "pydoc" "python") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:url . "https://github.com/statmobile/pydoc"))]) -(pycoverage . [(20190607 2004) ((emacs (24 3))) "Support for coverage stats on Python 2.X and 3" tar ((:commit . "01bd47171eefcab2e19d7cffd9a2dd3bd9bd6812") (:keywords "project" "convenience") (:authors ("matt harrison")) (:maintainer "matt harrison") (:url . "https://github.com/mattharrison/pycoverage.el"))]) -(pycarddavel . [(20150831 1216) ((helm (1 7 0)) (emacs (24 0))) "Integrate pycarddav" single ((:commit . "a6d81ee4eb8309cd82f6082aeca68c5a015702a3") (:keywords "helm" "pyccarddav" "carddav" "message" "mu4e" "contacts") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me"))]) -(py-yapf . [(20160925 1122) nil "Use yapf to beautify a Python buffer" single ((:commit . "a878304202ad827a1f3de3dce1badd9ca8731146") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "https://github.com/paetzke/py-yapf.el"))]) -(py-test . [(20151117 622) ((dash (2 9 0)) (f (0 17)) (emacs (24 4))) "A test runner for Python code." single ((:commit . "3b2a0bdaacb54df6f2bee8317423e5c0d159d5cf") (:keywords "python" "testing" "py.test") (:authors ("Bogdan Paul Popa" . "popa.bogdanp@gmail.com")) (:maintainer "Bogdan Paul Popa" . "popa.bogdanp@gmail.com") (:url . "https://github.com/Bogdanp/py-test.el"))]) -(py-smart-operator . [(20170531 1209) ((s (1 9 0))) "smart-operator for python-mode" single ((:commit . "0c8a66faca4b35158d0b5885472cb75286039167") (:keywords "python" "convenience" "smart-operator") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) -(py-isort . [(20160925 1018) nil "Use isort to sort the imports in a Python buffer" single ((:commit . "e67306f459c47c53a65604e4eea88a3914596560") (:authors ("Friedrich Paetzke" . "paetzke@fastmail.fm")) (:maintainer "Friedrich Paetzke" . "paetzke@fastmail.fm") (:url . "http://paetzke.me/project/py-isort.el"))]) -(py-import-check . [(20130802 1111) nil "Finds the unused python imports using importchecker" single ((:commit . "9787f87745a4234cd9bed711860b707902bc8ae4") (:keywords "python" "import" "check") (:authors ("Sibi" . "sibi@psibi.in")) (:maintainer "Sibi" . "sibi@psibi.in") (:url . "https://github.com/psibi/emacs-py-import-check"))]) -(py-gnitset . [(20170821 1732) nil "Run your Python tests any way you'd like" single ((:commit . "1e993cc29cbc31e06fe1e335dec198e21972fa55") (:authors ("Brandon W Maister" . "quodlibetor@gmail.com")) (:maintainer "Brandon W Maister" . "quodlibetor@gmail.com") (:url . "https://www.github.com/quodlibetor/py-gnitset"))]) -(py-autopep8 . [(20160925 1052) nil "Use autopep8 to beautify a Python buffer" single ((:commit . "68e12d8788c91c7ec53a68acf1d23adb2ffa4788") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "http://paetzke.me/project/py-autopep8.el"))]) -(px . [(20170317 2330) nil "preview inline latex in any mode" single ((:commit . "0c52f7933eab3ca1642ab0df151db9950430c9e2") (:authors ("Aurélien Aptel" . "aurelien.aptel@gmail.com")) (:maintainer "Aurélien Aptel" . "aurelien.aptel@gmail.com") (:url . "http://github.com/aaptel/preview-latex"))]) -(pushover . [(20170818 2103) ((cl-lib (0 5))) "Pushover API Access" single ((:commit . "bbe3ac8df3c532a72da4552615af960b8a577588") (:keywords "notifications") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:url . "http://github.com/swflint/pushover.el"))]) -(pushbullet . [(20140809 1232) ((grapnel (0 5 2)) (json (1 2))) "Emacs client for the PushBullet Android app" single ((:commit . "73c59a0f1dc04875b3e5a2c8afbc26c32128e445") (:keywords "convenience") (:authors ("Abhishek L" . "abhishek.lekshmanan@gmail.com")) (:maintainer "Abhishek L" . "abhishek.lekshmanan@gmail.com") (:url . "http://www.github.com/theanalyst/revolver"))]) -(purty-mode . [(20131004 2259) nil "Safely pretty-print greek letters, mathematical symbols, or anything else." single ((:commit . "8eef77317a3bab07ade212353a50fbd3f20f365a") (:authors ("James Atwood" . "jatwood@cs.umass.edu")) (:maintainer "James Atwood" . "jatwood@cs.umass.edu"))]) -(purple-haze-theme . [(20141015 229) ((emacs (24 0))) "an overtly purple color theme for Emacs24." single ((:commit . "3e245cbef7cd09e6b3ee124963e372a04e9a6485") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-purple-haze-theme"))]) -(purp-theme . [(20190629 1829) nil "No description available." tar ((:commit . "f821a7c30452d970ccb0ee08b68d56603860e31d"))]) -(purescript-mode . [(20190522 2230) ((emacs (24)) (cl-lib (0 6))) "A PureScript editing mode" tar ((:commit . "8db1d0243c03da31adac4d7c5287407a4df6aff2"))]) -(puppet-mode . [(20180813 1947) ((emacs (24 1)) (pkg-info (0 4))) "Major mode for Puppet manifests" single ((:commit . "7dee1b5a5debac6e56f9107492a413b6c0edb94d") (:keywords "languages") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com") ("Russ Allbery" . "rra@stanford.edu")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/voxpupuli/puppet-mode"))]) -(punpun-theme . [(20190928 1413) nil "A bleak theme" tar ((:commit . "2f78125609277b2478abdebd8f9d5ee10a823b65"))]) -(pungi . [(20150222 1246) ((jedi (0 2 0 -3 2)) (pyvenv (1 5))) "Integrates jedi with virtualenv and buildout python environments" single ((:commit . "a2d4d439ea371be0b064a12248288903b8a521a0") (:keywords "convenience") (:authors ("Matthew Russell" . "matthew.russell@horizon5.org")) (:maintainer "Matthew Russell" . "matthew.russell@horizon5.org"))]) -(punctuality-logger . [(20141120 2031) nil "Punctuality logger for Emacs" single ((:commit . "e09e5dd37bc92289fa2f7dc44aed51a7b5e04bb0") (:keywords "reminder" "calendar") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:url . "https://gitlab.com/elzair/punctuality-logger"))]) -(pulseaudio-control . [(20190828 1136) nil "Use `pactl' to manage PulseAudio volumes." single ((:commit . "1b844a9b21d549bfe767990b4c611de3bc4e2241") (:keywords "multimedia" "hardware" "sound" "pulseaudio") (:authors ("Alexis" . "flexibeast@gmail.com") ("Ellington Santos" . "ellingtonsantos@gmail.com") ("Sergey Trofimov" . "sarg@sarg.org.ru")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/pulseaudio-control"))]) -(pug-mode . [(20180513 2126) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for jade/pug template files" single ((:commit . "685fd3414d89736bf232f5d1a6bed9e0353b98fe") (:keywords "markup" "language" "jade" "pug") (:authors ("Nathan Weizenbaum")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-pug-mode"))]) -(pubmed . [(20190502 2121) ((emacs (25 1)) (deferred (0 5 1)) (esxml (0 3 4)) (s (1 12 0))) "Interface to PubMed" tar ((:commit . "67fbb6e8834feda85e8301adc5c17d9e38395d6a") (:keywords "pubmed" "hypermedia") (:authors ("Folkert van der Beek" . "folkertvanderbeek@gmail.com")) (:maintainer "Folkert van der Beek" . "folkertvanderbeek@gmail.com") (:url . "https://gitlab.com/fvdbeek/emacs-pubmed"))]) -(pt . [(20161226 1959) nil "A front-end for pt, The Platinum Searcher." single ((:commit . "6d99b2aaded3ece3db19a20f4b8f1d4abe382622") (:keywords "pt" "ack" "ag" "grep" "search") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:url . "https://github.com/bling/pt.el"))]) -(psysh . [(20190709 106) ((emacs (24 3)) (s (1 9 0)) (f (0 17)) (php-runtime (0 2))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "21250984ad8137aa3440ac12e52475ef03f19fcb") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/psysh.el"))]) -(psession . [(20190808 1626) ((emacs (24)) (cl-lib (0 5)) (async (1 9 3))) "Persistent save of elisp objects." single ((:commit . "3e97267c92b164584e06a6c70ee7491714c7c12c") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/psession"))]) -(psci . [(20191025 830) ((emacs (24 4)) (purescript-mode (13 10)) (dash (2 9 0))) "Major mode for purescript repl psci" tar ((:commit . "95fb5d14033add8fe9c8c6b4379758beb88af1d0") (:keywords "languages" "purescript" "psci" "repl") (:authors ("Antoine R. Dumont ")) (:maintainer "Antoine R. Dumont ") (:url . "https://github.com/purescript-emacs/emacs-psci"))]) -(psc-ide . [(20190326 2110) ((emacs (25)) (dash (2 13 0)) (dash-functional (1 2 0)) (company (0 8 7)) (s (1 10 0)) (flycheck (0 24)) (let-alist (1 0 4)) (seq (1 11))) "Minor mode for PureScript's psc-ide tool." tar ((:commit . "a10cc85565f330ee277698b27f3f715fef2e1ce2") (:keywords "languages") (:authors ("Erik Post" . "erik@shinsetsu.nl") ("Dmitry Bushenko" . "d.bushenko@gmail.com") ("Christoph Hegemann") ("Brian Sermons")) (:maintainer "Erik Post" . "erik@shinsetsu.nl") (:url . "https://github.com/epost/psc-ide-emacs"))]) -(proxy-mode . [(20190130 8) ((emacs (25))) "A minor mode to toggle proxy." single ((:commit . "a6c55e97dbe4ec4df9dc21d234cabe806dce3a29") (:keywords "comm" "proxy") (:url . "https://github.com/stardiviner/proxy-mode"))]) -(protocols . [(20170802 1132) ((cl-lib (0 5))) "Protocol database access functions." single ((:commit . "d0f7c4acb05465f1a0d4be54363bbd2802647e77") (:keywords "convenience" "net" "protocols") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/protocols.el"))]) -(protobuf-mode . [(20170526 1650) nil "major mode for editing protocol buffers." single ((:commit . "e6c5a3b57d20384775950c4f85310e82a4f7a69b") (:keywords "google" "protobuf" "languages") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com"))]) -(prosjekt . [(20151127 1416) ((dash (2 8 0))) "a software project tool for emacs" tar ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/prosjekt"))]) -(proportional . [(20190806 1901) ((emacs (25 1))) "use a proportional font everywhere" single ((:commit . "f600b7ed2ab19a3072adad3f47048a5bbdb82703") (:keywords "faces") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/proportional"))]) -(propfont-mixed . [(20150113 2211) ((emacs (24)) (cl-lib (0 5))) "Use proportional fonts with space-based indentation." single ((:commit . "0b461ef4754a469610dba71874a34b6da42176bf") (:keywords "faces") (:authors ("Kirill Ignatiev ")) (:maintainer "Kirill Ignatiev ") (:url . "https://github.com/ikirill/propfont-mixed"))]) -(prop-menu . [(20150728 1118) ((emacs (24 3)) (cl-lib (0 5))) "Create and display a context menu based on text and overlay properties" single ((:commit . "50b102c1c0935fd3e0c465feed7f27d66b21cdf3") (:keywords "convenience") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:url . "https://github.com/david-christiansen/prop-menu-el"))]) -(proof-general . [(20191007 1041) ((emacs (24 3))) "A generic front-end for proof assistants (interactive theorem provers)" tar ((:commit . "15ccaec24ce935de366cae08b906c130379758ce"))]) -(prompts . [(20160916 1041) ((dash (2 13 0))) "utilities for working with text prompts." single ((:commit . "1cd5e732ff2a86b47836eb7252e5b59cd4b6ab26") (:keywords "input" "minibuffer") (:authors ("Ben Moon" . "guiltydolphin@gmail.com")) (:maintainer "Ben Moon" . "guiltydolphin@gmail.com") (:url . "https://github.com/guiltydolphin/prompts.el"))]) -(prompt-text . [(20190408 310) nil "Configure your minibuffer prompt" single ((:commit . "0a75ecd5058c9a006e02d1ecd3f1c84194881abd") (:keywords "utility" "minibuffer") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/prompt-text-el"))]) -(promise . [(20191122 729) ((emacs (26 1)) (async (1 9))) "Promises/A+" tar ((:commit . "bbcf82851427d374bf1f9e7701dce6f18c814d8e") (:keywords "async" "promise" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-promise"))]) -(projmake-mode . [(20161031 1715) ((dash (20150611 922)) (indicators (20130217 1405))) "Project oriented automatic builder and error highlighter, flymake for projects" tar ((:commit . "a897701f7e8f8cc11459ed44eb0e454db2a460c1"))]) -(projekt . [(20150324 848) ((emacs (24))) "some kind of staging for CVS" single ((:commit . "a65e554e5d8b0def08c5d06f3fe34fec40bebd83") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))]) -(projector . [(20190703 1418) ((alert (1 1)) (projectile (0 11 0)) (cl-lib (0 5))) "Lightweight library for managing project-aware shell and command buffers" single ((:commit . "bad51a81fbcae9aabe47dafc2499ba27cd7308be") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/projector.el"))]) -(projectile-variable . [(20170208 1718) ((emacs (24)) (cl-lib (0 5))) "Store project local variables." single ((:commit . "8d348ac70bdd6dc320c13a12941b32b38140e264") (:keywords "project" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/projectile-variable"))]) -(projectile-trailblazer . [(20170928 1624) ((emacs (24 4)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2))) "Minor mode for Rails projects using trailblazer" single ((:commit . "a37a4f7b7f727d98e4c74c0256e059e84263553d") (:keywords "rails" "projectile" "trailblazer" "languages") (:authors ("Michael Dahl" . "michael.dahl84@gmail.com")) (:maintainer "Michael Dahl" . "michael.dahl84@gmail.com") (:url . "https://github.com/micdahl/projectile-trailblazer"))]) -(projectile-speedbar . [(20190807 2010) ((projectile (0 11 0)) (sr-speedbar (0))) "projectile integration for speedbar" single ((:commit . "93320e467ee78772065e599a5dba94889a77db22") (:keywords "project" "convenience" "speedbar" "projectile") (:authors ("Anshul Verma" . "anshul.verma86@gmail.com")) (:maintainer "Anshul Verma" . "anshul.verma86@gmail.com") (:url . "https://github.com/anshulverma/projectile-speedbar"))]) -(projectile-sift . [(20160107 1015) ((sift (0 2 0)) (projectile (0 13 0))) "Run a sift with Projectile" single ((:commit . "33b2c9ff964fe53bb55b37429faaa4e903bead7a") (:keywords "sift" "projectile") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/sift.el"))]) -(projectile-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "40e871dcc4519a70981e9f28acea304692a60978") (:keywords "ripgrep" "projectile") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/ripgrep.el"))]) -(projectile-rails . [(20191102 819) ((emacs (24 3)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2))) "Minor mode for Rails projects based on projectile-mode" single ((:commit . "c8906d9fa3ae0b74a74f8ae296162be4ff7ed42e") (:keywords "rails" "projectile") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:url . "https://github.com/asok/projectile-rails"))]) -(projectile-hanami . [(20160505 1311) ((emacs (24 3)) (projectile (0 12 0)) (rake (0 3 2)) (inf-ruby (2 2 6))) "Minor mode for Hanami projects based on projectile" single ((:commit . "c4b8e7d4dfec789ef8493a7c5d4ce0cf7937e579") (:keywords "hanami" "ruby" "projectile") (:authors ("Arjan van der Gaag")) (:maintainer "Arjan van der Gaag") (:url . "https://github.com/avdgaag/projectile-hanami"))]) -(projectile-git-autofetch . [(20191013 1806) ((emacs (25 1)) (projectile (0 14 0)) (alert (1 2))) "automatically fetch git repositories" single ((:commit . "4a3eba7658a52c6e955d5f7085cd3fd62b53b9c6") (:keywords "tools" "vc") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/projectile-git-autofetch"))]) -(projectile-direnv . [(20160306 138) ((emacs (24)) (s (1 11 0)) (dash (2 12 0)) (projectile (0 13 0))) "Set environment variables from .envrc" single ((:commit . "d5d29e5228f840b7a25358a2fd50353ef2dc9b16") (:keywords "convenience") (:authors ("Christian Romney" . "crommney@pointslope.com")) (:maintainer "Christian Romney" . "crommney@pointslope.com") (:url . "https://github.com/christianromney/projectile-direnv"))]) -(projectile-codesearch . [(20180508 1522) ((codesearch (20171122 431)) (projectile (20150405 126))) "Integration of codesearch into projectile" single ((:commit . "f6eb96f034a925444412cfa03e45e0ccbbafe3f2") (:keywords "tools" "development" "search") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-codesearch"))]) -(projectile . [(20191127 1829) ((emacs (25 1)) (pkg-info (0 4))) "Manage and navigate projects in Emacs easily" single ((:commit . "72814edf031a28dc081447e26085261adf89b7c4") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/projectile"))]) -(project-shells . [(20191123 914) ((emacs (24 3)) (seq (2 19))) "Manage the shell buffers of each project" single ((:commit . "5aea9ee0de93f2568afb3f18bb7b43a9715a9a2d") (:keywords "processes" "terminals") (:authors ("\"Huang, Ying\"" . "huang.ying.caritas@gmail.com")) (:maintainer "\"Huang, Ying\"" . "huang.ying.caritas@gmail.com") (:url . "https://github.com/hying-caritas/project-shells"))]) -(project-root . [(20110206 2030) nil "Define a project root and take actions based upon it." single ((:commit . "a49b1be864357683d9489074148b6d667f4ed23b") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) -(project-persist-drawer . [(20151108 1222) ((project-persist (0 3))) "Use a project drawer with project-persist." tar ((:commit . "35bbe132a4fab6a0fec15ce6c0fd2fe6a4aa9626"))]) -(project-persist . [(20180906 1302) nil "A minor mode to allow loading and saving of project settings." tar ((:commit . "26d9435bef44da2a1b0892eba822f9f487b98eec"))]) -(project-explorer . [(20150504 14) ((cl-lib (0 3)) (es-lib (0 3)) (es-windows (0 1)) (emacs (24))) "A project explorer sidebar" single ((:commit . "589a09008706f5f4ef91393dc4306eede0d15ca9") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/project-explorer"))]) -(project-abbrev . [(20190517 521) ((emacs (24 4))) "Customize abbreviation expansion in the project." single ((:commit . "fc4e9f774cae42a6fe135833774daaecf2b3dac0") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/project-abbrev"))]) -(programmer-dvorak . [(20150427 137) nil "Input method for Programmer Dvorak." single ((:commit . "3288a8f058eca4cab390a564babbbcb17cfa0350") (:keywords "dvorak" "programmer-dvorak" "input-method") (:authors ("Chenyun Yang" . "yangchenyun@gmail.com")) (:maintainer "Chenyun Yang" . "yangchenyun@gmail.com") (:url . "https://github.com/yangchenyun/programmer-dvorak"))]) -(prognth . [(20130920 1759) nil "Extend prog1 to arbitrary index" single ((:commit . "2f1ca4d34b1fd581163e1df122c85418137e8e62") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) -(prog-fill . [(20180607 132) ((emacs (25 1)) (cl-lib (0 6 1))) "Smartly format lines to use vertical space." single ((:commit . "3fbf7da6dd826e95c9077d659566ee29814a31d8") (:keywords "ahungry" "convenience" "c" "formatting" "editing") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/prog-fill"))]) -(professional-theme . [(20150315 1100) nil "Emacs port of Vim's professional theme" single ((:commit . "0927d1474049a193f9f366bde5eb1887b9ba20ed") (:keywords "theme" "light" "professional") (:authors ("Juanjo Alvarez" . "juanjo@juanjoalvarez.net")) (:maintainer "Juanjo Alvarez" . "juanjo@juanjoalvarez.net") (:url . "https://github.com/juanjux/emacs-professional-theme"))]) -(prodigy . [(20191126 2058) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (24))) "Manage external services from within Emacs" single ((:commit . "b459244f5eee1882985f2aa36a06b0de04b3a7d3") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))]) -(processing-snippets . [(20140426 1428) ((yasnippet (0 8 0))) "Snippets for processing-mode" tar ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e"))]) -(processing-mode . [(20171022 2302) nil "Major mode for Processing 2.0" single ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e") (:keywords "languages" "snippets") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net") (:url . "https://github.com/ptrv/processing2-emacs"))]) -(proced-narrow . [(20190911 1818) ((seq (2 20)) (emacs (24))) "Live-narrowing of search results for proced." single ((:commit . "0e2a4dfb072eb0369d0020b429e820ae620d325e") (:keywords "processes" "proced") (:authors ("Travis Jeffery" . "tj@travisjeffery.com")) (:maintainer "Travis Jeffery" . "tj@travisjeffery.com") (:url . "https://github.com/travisjeffery/proced-narrow"))]) -(proc-net . [(20130322 12) nil "network process tools" single ((:commit . "10861112a1f3994c8e6374d6c5bb5d734cfeaf73") (:keywords "processes") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-procnet"))]) -(private-diary . [(20151216 1657) ((emacs (24 0))) "maintain a private diary in Emacs" single ((:commit . "0c86fb6150ad8ed14f94def3504f5a68f4147283") (:keywords "diary" "encryption") (:authors ("James P. Ascher" . "jpa4q@virginia.edu")) (:maintainer "James P. Ascher" . "jpa4q@virginia.edu") (:url . "https://github.com/cacology/private-diary"))]) -(private . [(20150122 157) ((aes (0 6))) "take care of your private configuration files." single ((:commit . "9266d01c095895cc3ee9de95bc20511e88353755") (:keywords "private" "configuration" "backup" "recover") (:authors ("Cheung Mou Wai" . "yeannylam@gmail.com")) (:maintainer "Cheung Mou Wai" . "yeannylam@gmail.com") (:url . "https://github.com/cheunghy/private"))]) -(prism . [(20190908 1820) ((emacs (26 1)) (dash (2 14 1))) "Customizable, depth-based syntax coloring" single ((:commit . "49c8b97b286c7403bf239645964416200ea82dd5") (:keywords "faces" "lisp") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/prism.el"))]) -(pretty-symbols . [(20140814 959) nil "Draw tokens as Unicode glyphs." single ((:commit . "582cbe51ecfe1cc0a5b185bc06113c8a661e3956") (:keywords "faces") (:authors ("David Röthlisberger" . "david@rothlis.net")) (:maintainer "David Röthlisberger" . "david@rothlis.net") (:url . "http://github.com/drothlis/pretty-symbols"))]) -(pretty-sha-path . [(20141105 1826) nil "Prettify Guix/Nix store paths" single ((:commit . "a2b43dd9de423a38d67cda2e3bd9412f7d363257") (:keywords "faces" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitorious.org/alezost-emacs/pretty-sha-path"))]) -(pretty-mode . [(20190615 2045) nil "Redisplay parts of the buffer as pretty Unicode symbols." single ((:commit . "5154355e90fdd70d3647257280a89eeb725ef084") (:keywords "pretty" "unicode" "symbols") (:authors ("Arthur Danskin" . "arthurdanskin@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:url . "https://github.com/akatov/pretty-mode"))]) -(pretty-hydra . [(20190930 2105) ((hydra (0 15 0)) (s (1 12 0)) (dash (2 15 0)) (dash-functional (1 2 0)) (emacs (24))) "A macro for creating nice-looking hydras" single ((:commit . "fd362d2be7ed80889715ed8a30a61780a18ce6ea") (:authors ("Jerry Peng" . "pr2jerry@gmail.com")) (:maintainer "Jerry Peng" . "pr2jerry@gmail.com") (:url . "https://github.com/jerrypnz/major-mode-hydra.el"))]) -(prettify-greek . [(20160603 908) nil "Greek letters for prettify-symbols" single ((:commit . "698d07a6ffe85f6fb53f3bfec4f49380c25cfd90") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-prettify-greek"))]) -(prettier-js . [(20180109 726) nil "Minor mode to format JS code on file save" single ((:commit . "e9b73e81d3e1642aec682195f127a42dfb0b5774") (:keywords "convenience" "wp" "edit" "js") (:authors ("James Long and contributors")) (:maintainer "James Long and contributors") (:url . "https://github.com/prettier/prettier-emacs"))]) -(presentation . [(20180427 224) ((emacs (24 4)) (cl-lib (0 5))) "Display large character for presentation" single ((:commit . "f53f67aeab97e8eea6d1f12df5f7ce3b1b03b879") (:keywords "environment" "faces" "frames") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-presentation-mode"))]) -(preseed-generic-mode . [(20180210 500) nil "Debian preseed file major mode" single ((:commit . "3aa8806c4a659064baa01751400c53fbaf847f66") (:authors ("Tong Sun" . "suntong@users.sourceforge.net")) (:maintainer "Tong Sun" . "suntong@users.sourceforge.net") (:url . "https://github.com/suntong/preseed-generic-mode"))]) -(prescient . [(20191025 347) ((emacs (25 1))) "Better sorting and filtering" single ((:commit . "c04cce14351c960098a0c8d4647c0d32e9e45669") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) -(preproc-font-lock . [(20151107 2018) nil "Highlight C-style preprocessor directives." single ((:commit . "565fda9f5fdeb0598986174a07e9fb09f7604397") (:keywords "c" "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/preproc-font-lock"))]) -(prassee-theme . [(20180709 1004) ((emacs (24))) "A high contrast color theme for Emacs." single ((:commit . "81126f69cdbaab836c00ae7a49aaf89d4229fde1") (:keywords "dark" "high-contrast" "faces") (:authors ("Prassee " . "prassee.sathian@gmail.com")) (:maintainer "Prassee " . "prassee.sathian@gmail.com") (:url . "https://github.com/prassee/prassee-emacs-theme"))]) -(ppd-sr-speedbar . [(20151108 1224) ((sr-speedbar (20140914 2339)) (project-persist-drawer (0 0 4))) "Sr Speedbar adaptor for project-persist-drawer." tar ((:commit . "d88d7f63f695824c435dd996405454d1e46d2aa3"))]) -(powerthesaurus . [(20190721 805) ((emacs (24)) (request (0 3 0)) (s (1 12 0)) (jeison (1 0 0))) "Powerthesaurus integration" single ((:commit . "81a262ec0c9294ad377bafc6cc4e6d91b461acb6") (:keywords "convenience" "writing") (:url . "http://github.com/SavchenkoValeriy/emacs-powerthesaurus"))]) -(powershell . [(20190421 2038) ((emacs (24))) "Mode for editing PowerShell scripts" single ((:commit . "87826777bd3ebd53740be99b4546bfc11ccc625d") (:keywords "powershell" "languages") (:authors ("Frédéric Perrin ")) (:maintainer "Frédéric Perrin ") (:url . "http://github.com/jschaf/powershell.el"))]) -(powerline-evil . [(20190603 340) ((evil (1 0 8)) (powerline (2 3))) "Utilities for better Evil support for Powerline" tar ((:commit . "b77e2cf571e9990734f2b30d826f3a362b559fd1") (:keywords "evil" "mode-line" "powerline") (:authors ("Chris Johnson" . "chris@christophermjohnson.net")) (:maintainer "Chris Johnson" . "chris@christophermjohnson.net") (:url . "http://github.com/johnson-christopher/powerline-evil/"))]) -(powerline . [(20190323 213) ((cl-lib (0 2))) "Rewrite of Powerline" tar ((:commit . "6ef4a06c3c583045accbc957b6f449b7c0c57cd8") (:keywords "mode-line") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "http://github.com/milkypostman/powerline/"))]) -(pow . [(20140420 806) ((emacs (24)) (cl-lib (0 5))) "pow (http://pow.cx/) manager for emacs" tar ((:commit . "ea83986b8ca8e27cb996290d6463b111ec0966ce") (:keywords "develop" "web" "pow") (:authors ("yukihiro hara" . "yukihr@gmail.com")) (:maintainer "yukihiro hara" . "yukihr@gmail.com") (:url . "http://github.com/yukihr/emacs-pow"))]) -(pov-mode . [(20161115 743) nil "Major mode for editing POV-Ray scene files." tar ((:commit . "9fc1db3aab7c27155674dd1a87ec62606035d074"))]) -(postcss-sorting . [(20180211 956) ((emacs (24))) "postcss-sorting interface" single ((:commit . "deb0c935d2904c11a965758a9aee5a0e905f21fc") (:authors ("Peiwen Lu" . "hi@peiwen.lu")) (:maintainer "Peiwen Lu" . "hi@peiwen.lu") (:url . "https://github.com/P233/postcss-sorting.el"))]) -(posframe . [(20191108 745) ((emacs (26))) "Pop a posframe (just a frame) at point" single ((:commit . "952089375b1cbe98217f5d5210bfef7b1bfd56f6") (:keywords "convenience" "tooltip") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/posframe"))]) -(pos-tip . [(20191127 1028) nil "Show tooltip at point" single ((:commit . "c9ced6c485788a4556161f8e3b7893d230a49db2") (:keywords "tooltip") (:authors ("S. Irie")) (:maintainer "S. Irie"))]) -(porthole . [(20190721 1428) ((emacs (26)) (elnode (0 9 9 8)) (f (0 19 0)) (json-rpc-server (0 1 2))) "RPC Servers in Emacs" single ((:commit . "0e73b8e527cfc9ecba2fa4f88382f588fb4a300d") (:keywords "comm" "rpc" "http" "json") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:url . "https://github.com/jcaw/porthole"))]) -(portage-navi . [(20141208 1355) ((concurrent (0 3 1)) (ctable (0 1 2))) "portage viewer" single ((:commit . "8016c3e99fe6cef101d479a3d69185796b22ca2f") (:keywords "tools" "gentoo") (:authors ("")) (:maintainer "") (:url . "https://github.com/kiwanami/emacs-portage-navi"))]) -(popwin . [(20150315 1300) nil "Popup Window Manager." single ((:commit . "95dea14c60019d6cccf9a3b33e0dec4e1f22c304") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) -(popup-switcher . [(20190917 1634) ((cl-lib (0 3)) (popup (0 5 3))) "switch to other buffers and files via popup." single ((:commit . "953f599c1fd9d6843ec9380cc0fc3f8248390d24") (:keywords "popup" "switch" "buffers" "functions") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/popup-switcher"))]) -(popup-kill-ring . [(20131020 1854) ((popup (0 4)) (pos-tip (0 4))) "interactively insert item from kill-ring" single ((:commit . "5773dfadc104a906c088a3ec62e8cdd3e01e57fa") (:keywords "popup" "kill-ring" "pos-tip") (:authors ("khiker" . "khiker.mail+elisp@gmail.com")) (:maintainer "khiker" . "khiker.mail+elisp@gmail.com") (:url . "https://github.com/waymondo/popup-kill-ring"))]) -(popup-imenu . [(20170326 1040) ((dash (2 12 1)) (popup (0 5 3)) (flx-ido (0 6 1))) "imenu index popup" single ((:commit . "c5e2e69adbd3a630e4cb750965a1aee8c10c1f09") (:keywords "popup" "imenu") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:url . "https://github.com/ancane/popup-imenu"))]) -(popup-edit-menu . [(20170404 1425) ((emacs (24))) "a popup context edit menu package" single ((:commit . "925600a6e29183841199e866cf55e566a6a1b002") (:keywords "lisp" "pop-up" "context" "edit" "menu") (:authors ("Debugfan Chin" . "debugfanchin@gmail.com")) (:maintainer "Debugfan Chin" . "debugfanchin@gmail.com"))]) -(popup-complete . [(20141109 308) ((popup (0 5 0))) "completion with popup" single ((:commit . "caa655a6d8472e9a4bfa1311126d90d7d1b07fca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-popup-complete"))]) -(popup . [(20160709 1429) ((cl-lib (0 5))) "Visual Popup User Interface" single ((:commit . "80829dd46381754639fb764da11c67235fe63282") (:keywords "lisp") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) -(poporg . [(20170403 751) nil "Pop a comment or string to an empty buffer for text editing" single ((:commit . "2c58d68c81ecca4140bf179f19ed153ec804b65a") (:keywords "outlines" "tools") (:authors ("François Pinard" . "pinard@iro.umontreal.ca") ("Joseph Rabinoff" . "rabinoff@post.harvard.edu")) (:maintainer "Joseph Rabinoff" . "rabinoff@post.harvard.edu") (:url . "https://github.com/QBobWatson/poporg"))]) -(pophint . [(20170918 248) ((log4e (0 2 0)) (yaxception (0 3))) "Provide navigation using pop-up tips, like Firefox's Vimperator Hint Mode" tar ((:commit . "909025c5a871ca4b9ec7aed7f1a27c819a94dba1") (:keywords "popup") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-pophint"))]) -(ponylang-mode . [(20180804 1521) ((dash (2 10 0))) "Major mode for Pony code" single ((:commit . "ea98ba541b4a439accc126f17120c5425f741b67") (:keywords "languages" "programming") (:url . "https://github.com/seantallen/ponylang-mode"))]) -(pony-snippets . [(20160205 411) ((yasnippet (0 8 0))) "Yasnippets for Pony" tar ((:commit . "b921bd943b528f04d4293625b28fd2d4a013a1bf") (:keywords "snippets" "pony") (:url . "https://github.com/seantallen/pony-snippets"))]) -(pony-mode . [(20170807 1522) nil "Minor mode for working with Django Projects" tar ((:commit . "760684d30b6c234d1b88c9a4673a808f36f7f341"))]) -(pomodoro . [(20190201 2152) nil "A timer for the Pomodoro Technique" single ((:commit . "6cd665ceeaca1f70954aa4caef6f085179f94c69") (:authors ("David Kerschner" . "dkerschner@gmail.com")) (:maintainer "David Kerschner" . "dkerschner@gmail.com"))]) -(pomidor . [(20190523 1414) ((emacs (24 3)) (alert (1 2))) "Simple and cool pomodoro timer" tar ((:commit . "590e64d316d9210bd00cb4eb39d2f07ddc16809a") (:keywords "tools" "time" "applications" "pomodoro technique") (:authors ("TatriX" . "tatrics@gmail.com")) (:maintainer "TatriX" . "tatrics@gmail.com") (:url . "https://github.com/TatriX/pomidor"))]) -(polymode . [(20190714 2017) ((emacs (25))) "Extensible framework for multiple major modes" tar ((:commit . "01232ad3800e974938199c9ac07fad57fcec540c") (:keywords "languages" "multi-modes" "processes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vitoshka/polymode"))]) -(poly-wdl . [(20190712 529) ((emacs (25)) (polymode (0 2)) (wdl-mode (20170709))) "Polymode for WDL" single ((:commit . "963faa828d15d49cee5a63f619c3c30e162c2d0f") (:keywords "languages") (:authors ("Jean Monlong" . "jean.monlong@gmail.com")) (:maintainer "Jean Monlong" . "jean.monlong@gmail.com") (:url . "https://github.com/jmonlong/poly-wdl"))]) -(poly-slim . [(20190605 2103) ((emacs (25)) (polymode (0 2)) (slim-mode (1 1))) "Polymodes for slim" single ((:commit . "a4fb8166d110b82eb3f1d0b4fc87045c3308bd7d") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-slim"))]) -(poly-ruby . [(20180905 929) ((emacs (25)) (polymode (0 1 2))) "Provides poly-ruby-mode" single ((:commit . "794ebb926ace23e9c1398da934701951432dcea2") (:keywords "languages") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/poly-ruby.el"))]) -(poly-rst . [(20190605 2103) ((emacs (25)) (polymode (0 2))) "poly-rst-mode polymode" single ((:commit . "1a7d38e1c1d35cf64e4dad408db486a8e1931e61") (:keywords "languages" "multi-modes") (:authors ("Gustaf Waldemarson, Vitalie Spinu")) (:maintainer "Gustaf Waldemarson, Vitalie Spinu") (:url . "https://github.com/polymode/poly-rst"))]) -(poly-org . [(20190605 2103) ((emacs (25)) (polymode (0 2))) "Polymode for org-mode" single ((:commit . "8b0de75b1f9b65c22f7e3fbc205c9408214c8a1f") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-org"))]) -(poly-noweb . [(20190605 2102) ((emacs (25)) (polymode (0 2))) "Polymode for noweb" single ((:commit . "4e65cb22d6bca901021205257f867f868989c665") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-noweb"))]) -(poly-markdown . [(20190916 702) ((emacs (25)) (polymode (0 2)) (markdown-mode (2 3))) "Polymode for markdown-mode" single ((:commit . "a867e5e5689f1e1a5bab5db57c7d39bac2448bcb") (:keywords "emacs") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-markdown"))]) -(poly-erb . [(20190605 2102) ((emacs (25)) (polymode (0 2))) "Polymode for erb" single ((:commit . "304204f415b9e46ee36b64531b7d170540828335") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-erb"))]) -(poly-ansible . [(20181222 1517) ((ansible (0)) (ansible-doc (0 4)) (jinja2-mode (0 2)) (polymode (0 1 5)) (yaml-mode (0 0 13))) "Polymode for Ansible: Jinja2 in YAML" tar ((:commit . "2cb970a0e27b41ae85bc51d24ef36fa2c7b34bbc") (:keywords "languages") (:authors ("Peter Oliver" . "poly-ansible@mavit.org.uk")) (:maintainer "Peter Oliver" . "poly-ansible@mavit.org.uk") (:url . "https://gitlab.com/mavit/poly-ansible/"))]) -(poly-R . [(20190605 2103) ((emacs (25)) (polymode (0 2)) (poly-markdown (0 2)) (poly-noweb (0 2))) "Various polymodes for R language" single ((:commit . "0443c89b4d2bc2ed235a0c017109c2dbd342aa02") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-R"))]) -(pollen-mode . [(20190310 538) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing pollen files" single ((:commit . "819edf830e9519f8ca57e9cef31211e3f444d11a") (:keywords "languages" "pollen" "pollenpub") (:authors ("Junsong Li ")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))]) -(pointback . [(20100210 1552) nil "Restore window points when returning to buffers" single ((:commit . "e3a02c1784d81b5a1d2477338d049af581ed19f8") (:keywords "convenience") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at"))]) -(point-stack . [(20170808 1658) nil "Back and forward navigation through buffer locations" single ((:commit . "76e17311e3a810314c7d31ac46dc55450ff30fa2") (:authors ("Matt Harrison" . "matthewharrison@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Matt Harrison" . "matthewharrison@gmail.com"))]) -(point-pos . [(20170421 1632) nil "Save and restore point positions" single ((:commit . "442bccb40791832cbc2d6f5c8f53be745aea2b73") (:keywords "tools" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/point-pos.el"))]) -(poetry . [(20191022 938) ((transient (0 1 0)) (pyvenv (1 2)) (emacs (25 1))) "Interface to Poetry" single ((:commit . "3f9ac720b423f087797b9e345b575275f2dcd740") (:keywords "python" "tools") (:authors ("Gaby Launay" . "gaby.launay@protonmail.com")) (:maintainer "Gaby Launay" . "gaby.launay@protonmail.com") (:url . "https://github.com/galaunay/poetry.el"))]) -(poet-theme . [(20191103 1948) nil "A theme for prose." tar ((:commit . "c3071c00f2e7f77be6d048d295241e67e46cb3c0") (:authors ("Kunal Bhalla" . "bhalla.kunal@gmail.com")) (:maintainer "Kunal Bhalla" . "bhalla.kunal@gmail.com") (:url . "https://github.com/kunalb/poet/"))]) -(poet-client . [(20190124 654) ((emacs (24 4)) (request (0 3 0))) "Client for po.et network api" single ((:commit . "32382057b3e4b8a02ec5ac3190dbe4b93d058741") (:authors ("W.Yahia")) (:maintainer "W.Yahia") (:url . "https://github.com/wailo/emacs-poet"))]) -(poe-lootfilter-mode . [(20190330 1117) ((emacs (24 3))) "Major mode for editing Path of Exile lootfilters" single ((:commit . "5ef06684cb2b17b090ee1f303c2b789fa71bc106") (:keywords "languages" "games") (:authors ("Jeremiah Dodds" . "jeremiah.dodds@gmail.com")) (:maintainer "Jeremiah Dodds" . "jeremiah.dodds@gmail.com") (:url . "https://github.com/jdodds/poe-lootfilter-mode"))]) -(podcaster . [(20161020 1535) ((cl-lib (0 5))) "Podcast client" single ((:commit . "9854517025deb5d556168a68955fb7b662239f5c") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/podcaster"))]) -(pocket-reader . [(20181219 930) ((emacs (25 1)) (dash (2 13 0)) (kv (0 0 19)) (pocket-lib (0 1)) (s (1 10)) (ov (1 0 6)) (rainbow-identifiers (0 2 2)) (org-web-tools (0 1)) (ht (2 2))) "Client for Pocket reading list" single ((:commit . "86c51c65d97819e11b3df403beea424f30125d30") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-reader.el"))]) -(pocket-mode . [(20171201 1315) ((emacs (24 4)) (pocket-api (0 1))) "Manage your pocket" single ((:commit . "229de7d35b7e5605797591c46aa8200d7efc363c") (:keywords "convenience" "pocket") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))]) -(pocket-lib . [(20190720 1957) ((emacs (25 1)) (request (0 2)) (dash (2 13 0)) (kv (0 0 19)) (s (1 12 0))) "Library for accessing getpocket.com API" single ((:commit . "f794e3e619e1f6cad25bbfd5fe019a7e62820bf4") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-lib.el"))]) -(pocket-api . [(20180403 109) ((emacs (24 4)) (request (0 2))) "another pocket api" single ((:commit . "3eb9430b9db90bc02e736e433eb86389f7655189") (:keywords "convenience" "pocket") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/pocket-api.el"))]) -(po-mode . [(20190511 1542) nil "major mode for GNU gettext PO files" single ((:commit . "1916142f6a817c733d5ec37e3b4fbae3da67e499") (:keywords "i18n" "gettext"))]) -(pmdm . [(20191101 2346) nil "poor man's desktop-mode alternative." single ((:commit . "1f30adce8a23da94b3c2460b7248d5910592d8af") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/pmdm"))]) -(plur . [(20160504 924) ((emacs (24 4))) "Easily search and replace multiple variants of a word" single ((:commit . "5bdd3b9a2f0624414bd596e798644713cd1545f0") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/plur"))]) -(plsense-direx . [(20140520 2008) ((direx (0 1 -3)) (plsense (0 3 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perl Package Explorer" single ((:commit . "8a2f465264c74e04524cc789cdad0190ace43f6c") (:keywords "perl" "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/plsense-direx"))]) -(plsense . [(20151104 1445) ((auto-complete (1 4 0)) (log4e (0 2 0)) (yaxception (0 2 0))) "provide interface for PlSense that is a development tool for Perl." single ((:commit . "d50f9dccc98f42bdb42f1d1c8142246e03879218") (:keywords "perl" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-plsense"))]) -(plisp-mode . [(20190914 513) nil "Major mode for PicoLisp programming." tar ((:commit . "02738af25707e39d8a608b09a24173bb05f5be9f") (:keywords "picolisp" "lisp" "programming") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/plisp-mode"))]) -(plim-mode . [(20140813 13) nil "Major mode for editing Plim files" single ((:commit . "92e39190286f172567ceb02c80e1df3b81abfa2d") (:keywords "markup" "language") (:authors ("Dong Weiming")) (:maintainer "Dong Weiming") (:url . "http://github.com/dongweiming/plim-mode"))]) -(plenv . [(20130707 616) nil "A plenv wrapper for Emacs" single ((:commit . "ee937d0f3a1a7ba2d035f45be896d3ed8fefaee2") (:keywords "emacs" "perl") (:authors ("Kenta Sato" . "karupa@cpan.org")) (:maintainer "Kenta Sato" . "karupa@cpan.org"))]) -(playground . [(20180624 326) ((emacs (24 4))) "Manage sandboxes for alternative configurations" single ((:commit . "9212790026bea9ab5fb4ecf0da1163be8ab00776") (:keywords "maint") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/emacs-playground"))]) -(playerctl . [(20180301 1354) nil "Control your music player (e.g. Spotify) with playerctl" single ((:commit . "3eee541423c2e5eb9f23a26fa9aa88c9c5a19ad1") (:keywords "multimedia" "playerctl" "music") (:authors ("Thomas Luquet" . "thomas@luquet.net")) (:maintainer "Thomas Luquet" . "thomas@luquet.net") (:url . "https://github.com/thomasluquet/playerctl.el"))]) -(play-routes-mode . [(20170426 733) nil "Play Framework Routes File Support" single ((:commit . "22d7b87e0eaf0330f2b2283872f8dc08a3258771") (:keywords "play" "scala") (:authors ("M.Riehl , P.Haun" . "bomgar85@googlemail.com")) (:maintainer "M.Riehl , P.Haun" . "bomgar85@googlemail.com") (:url . "https://github.com/brocode/play-routes-mode/"))]) -(play-crystal . [(20180114 1024) ((emacs (24 4)) (dash (2 12 0)) (request (0 2 0))) "https://play.crystal-lang.org integration." single ((:commit . "0b4810a9025213bd11dbcbfd38b3ca928829e0a5") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/veelenga/play-crystal.el"))]) -(platformio-mode . [(20161210 1339) ((projectile (0 13 0))) "PlatformIO integration" single ((:commit . "1466aed132a77f48fcb31938d64abb1a1e58ec42") (:authors ("Zach Massia" . "zmassia@gmail.com")) (:maintainer "Zach Massia" . "zmassia@gmail.com") (:url . "https://github.com/zachmassia/platformio-mode"))]) -(plaster . [(20180127 2050) ((emacs (24 3))) "Pasting to a plaster host with buffers." single ((:commit . "f82f845ede3b48ca11934171b30effb523ba9fcf") (:keywords "convenience" "paste service") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/plaster/"))]) -(plantuml-mode . [(20191102 2056) ((dash (2 0 0)) (emacs (25 0))) "Major mode for PlantUML" single ((:commit . "ea45a13707abd2a70df183f1aec6447197fc9ccc") (:keywords "uml" "plantuml" "ascii") (:authors ("Zhang Weize (zwz)")) (:maintainer "Carlo Sciolla (skuro)"))]) -(planet-theme . [(20161031 217) ((emacs (24))) "A dark theme inspired by Gmail's 'Planets' theme of yore" single ((:commit . "b0a310ff36565fe22224c407cf59569986698a32") (:keywords "themes") (:authors ("Charlie McMackin" . "charlie.mac@gmail.com")) (:maintainer "Charlie McMackin" . "charlie.mac@gmail.com") (:url . "https://github.com/cmack/emacs-planet-theme"))]) -(plan9-theme . [(20180804 1441) nil "A color theme for Emacs based on Plan9" single ((:commit . "c2da2fcb241e9800d931a1ff19ecd9fd84d30382") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/plan9-theme.el"))]) -(plain-theme . [(20171124 410) ((emacs (24))) "Plain theme without syntax highlighting" single ((:commit . "48b37b9b19d8f1e0accbf930f30b5346cf7959fe"))]) -(plain-org-wiki . [(20191013 1833) ((emacs (24 3)) (ivy (0 12 0))) "Simple jump-to-org-files in a directory package" single ((:commit . "887717c184fb22dd219c78851303a8e5b917f877") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/plain-org-wiki"))]) -(pkgbuild-mode . [(20181216 1331) ((emacs (25 1))) "Interface to the ArchLinux package manager" single ((:commit . "e30e37730b5f30bc0dd5b9328fbf4cb3e6f46fdd") (:keywords "languages") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))]) -(pkg-info . [(20150517 1143) ((epl (0 8))) "Information about packages" single ((:commit . "76ba7415480687d05a4353b27fea2ae02b8d9d61") (:keywords "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/pkg-info.el"))]) -(pixiv-novel-mode . [(20160220 1421) nil "Major mode for pixiv novel" single ((:commit . "0d1ca524d92b91f20a7105402a773bc21779b434") (:keywords "novel" "pixiv") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))]) -(pixie-mode . [(20180626 541) ((clojure-mode (3 0 1)) (inf-clojure (1 0 0))) "Major mode for Pixie-lang" single ((:commit . "a40c2632cfbe948852a5cdcfd44e6a65db11834d") (:authors ("John Walker" . "john.lou.walker@gmail.com")) (:maintainer "John Walker" . "john.lou.walker@gmail.com") (:url . "https://github.com/johnwalker/pixie-mode"))]) -(pivotal-tracker . [(20170720 1516) nil "Interact with Pivotal Tracker through its API" single ((:commit . "0311d117037c74512149a4a78b269c2e46d7dfba") (:authors ("John Andrews")) (:maintainer "John Andrews") (:url . "http://github.com/jxa/pivotal-tracker"))]) -(pippel . [(20180710 856) ((emacs (25 1)) (s (1 11 0)) (dash (2 12 0))) "Frontend to python package manager pip" tar ((:commit . "21a5200e8e5ccaa1911abb4ebf090b76ca839756") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/pippel"))]) -(pipenv . [(20190919 2147) ((emacs (25 1)) (f (0 19 0)) (s (1 12 0)) (pyvenv (1 20))) "A Pipenv porcelain." single ((:commit . "b730bb509e8b60af9f5ab1f1e6c3458d1d95d789") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))]) -(pip-requirements . [(20181027 1629) ((dash (2 8 0))) "A major mode for editing pip requirements files." single ((:commit . "216cd1690f80cc965d4ae47b8753fc185f778ff6") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(pinyinlib . [(20170827 2142) nil "Convert first letter of Pinyin to Simplified/Traditional Chinese characters" single ((:commit . "45f05d3dbb4fe957f7ab332ca6f94675848b6aa3") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) -(pinyin-search . [(20160515 358) ((pinyinlib (0 1 0))) "Search Chinese by Pinyin" single ((:commit . "2e877a76851009d41bde66eb33182a03a7f04262") (:keywords "chinese" "search") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/pinyin-search.el"))]) -(pinyin . [(20180620 1241) ((cl-lib (0 5)) (emacs (24))) "Convert Hanzi to Pinyin (汉字转拼音)" tar ((:commit . "a325e790e9dd7c5028c4c8d110b08e9d78227382") (:keywords "extensions") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/pinyin.el"))]) -(pinot . [(20140211 2026) nil "Emacs interface to pinot-search" tar ((:commit . "67fda555a155b22bb2ce44ba618b4bd6fc5f144a") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki "))]) -(pine-script-mode . [(20181110 151) ((emacs (24))) "Trading View Pine Script major mode" single ((:commit . "f7892d373e30df0b2e8d2191e4ddb2064a92dd3c") (:keywords "extensions") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.edu")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.edu") (:url . "https://github.com/ericcrosson/pine-script-mode"))]) -(pinboard-popular . [(20180511 1726) ((loop (1 4))) "Displays links from the pinboard.in popular page." single ((:commit . "c0bc76cd35f8ecf34723c64a702b82eec2751318") (:keywords "pinboard") (:url . "https://github.com/asimpson/pinboard-popular"))]) -(pinboard-api . [(20140324 1148) nil "Rudimentary http://pinboard.in integration" single ((:commit . "b7b5214d0c35178f8dca08cf22d6ef3c21f0fce4") (:keywords "pinboard" "www") (:authors ("Danie Roux" . "danie@danieroux.com")) (:maintainer "Danie Roux" . "danie@danieroux.com") (:url . "https://github.com/danieroux/pinboard-api-el"))]) -(pinboard . [(20190623 1421) ((emacs (25)) (cl-lib (0 5))) "A pinboard.in client" single ((:commit . "910d0fae61badd7e25e148d2ea84f0188b802fb1") (:keywords "hypermedia" "bookmarking" "reading" "pinboard") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/pinboard.el"))]) -(pillar . [(20141112 1811) ((makey (0 3))) "Major mode for editing Pillar files" tar ((:commit . "13a7f676544cc66005ccd8e6fc1c25e4ccd6f909") (:keywords "markup" "major-mode") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "http://github.com/DamienCassou/pillar-mode"))]) -(pig-snippets . [(20130913 624) ((yasnippet (0 8 0))) "Snippets for pig-mode" tar ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959"))]) -(pig-mode . [(20180520 1400) nil "Major mode for Pig files" single ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959") (:maintainer "David A. Shamma"))]) -(picpocket . [(20180914 1819) ((emacs (24 4))) "Image viewer" single ((:commit . "6fd88b8711c4370662c0f9c462170187d092a046") (:keywords "multimedia") (:authors ("Johan Claesson" . "johanclaesson@bredband.net")) (:maintainer "Johan Claesson" . "johanclaesson@bredband.net") (:url . "https://github.com/johanclaesson/picpocket"))]) -(picolisp-mode . [(20190824 806) nil "[ Obsolete; use 'plisp-mode' instead ]" tar ((:commit . "1ae7af6c310d20b31b8229dc8c1eedeb47aa3311") (:keywords "picolisp" "lisp" "programming") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/picolisp-mode"))]) -(pickle . [(20190923 354) ((emacs (25 1)) (cl-lib (0 6 1))) "Major mode for editing cucumber gherkin files." single ((:commit . "3a0a717f2a24827667f34bc53830a3b81cd57460") (:keywords "ahungry" "languages" "cucumber" "gherkin") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/pickle-mode"))]) -(pianobar . [(20180417 104) nil "thin wrapper for Pianobar, a Pandora Radio client" single ((:commit . "3154c4cb7401017fd441fcd6a7a0b669a4406882") (:authors ("Aaron Griffith" . "aargri@gmail.com")) (:maintainer "Aaron Griffith" . "aargri@gmail.com") (:url . "http://github.com/agrif/pianobar.el"))]) -(phpunit . [(20180829 1438) ((s (1 12 0)) (f (0 19 0)) (pkg-info (0 6)) (cl-lib (0 5)) (emacs (24 3))) "Launch PHP unit tests using phpunit" tar ((:commit . "fe6bc91c3bd8b329c6d26ad883a025f06b5121ee") (:keywords "tools" "php" "tests" "phpunit") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com") ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/phpunit.el"))]) -(phpt-mode . [(20190512 1809) ((emacs (25)) (polymode (0 1 5)) (php-mode (1 21 2))) "Major mode for editing PHPT test code" single ((:commit . "deb386f1a81003074c476f15e1975d445ff6df01") (:keywords "languages" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpt-mode"))]) -(phpstan . [(20190929 612) ((emacs (24 3))) "Interface to PHPStan." single ((:commit . "81bcfa59d1e5708239d8c32d99cd84405449fb64") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))]) -(phpcbf . [(20181228 423) ((s (1 9 0))) "Format PHP code in Emacs using PHP_CodeSniffer's phpcbf" single ((:commit . "fb0bc6073a57126cf1a8404723aa0a715dd761aa") (:keywords "tools" "php") (:authors ("nishimaki10")) (:maintainer "nishimaki10") (:url . "https://github.com/nishimaki10/emacs-phpcbf"))]) -(phpactor . [(20190913 1340) ((emacs (24 4)) (cl-lib (0 5)) (f (0 17)) (php-runtime (0 2)) (composer (0 1)) (async (1 9 3))) "Interface to Phpactor" tar ((:commit . "a12ec67ce9de9e96c89548052ae323a277cba846") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me") ("Mikael Kermorgant" . "mikael@kgtech.fi")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpactor.el"))]) -(php-scratch . [(20161103 2217) ((emacs (24 3)) (s (1 11 0)) (php-mode (1 17 0))) "A scratch buffer to interactively evaluate php code" single ((:commit . "3aa66d1d53b84b779374edff7a7e6b5f2cd7575d") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) -(php-runtime . [(20181212 1825) ((emacs (25)) (cl-lib (0 5)) (f (0 20)) (s (1 7))) "Language binding bridge to PHP" single ((:commit . "017e0e70f07d6b25e37d5c5f4d271a914b677631") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-runtime.el"))]) -(php-refactor-mode . [(20171124 635) nil "Minor mode to quickly and safely perform common refactorings" single ((:commit . "7a794b0618df2882b1bd586fdd698dba0bc5130d") (:keywords "php" "refactor") (:authors ("Matthew M. Keeler" . "keelerm84@gmail.com")) (:maintainer "Matthew M. Keeler" . "keelerm84@gmail.com") (:url . "https://github.com/keelerm84/php-refactor-mode.el"))]) -(php-mode . [(20191127 1348) ((emacs (24 3))) "Major mode for editing PHP code" tar ((:commit . "282259368e036ace3b9da532e56a049992380007") (:keywords "languages" "php") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-mode"))]) -(php-eldoc . [(20140202 1941) nil "eldoc backend for php" tar ((:commit . "df05064146b884d9081e10657e32dc480f070cfe") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/php-eldoc"))]) -(php-cs-fixer . [(20190207 1126) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "6540006710daf2b2d47576968ea826a83a40a6bf") (:keywords "languages" "php") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:url . "https://github.com/OVYA/php-cs-fixer"))]) -(php-boris-minor-mode . [(20140209 1835) ((php-boris (0 0 1)) (highlight (0))) "a minor mode to evaluate PHP code in the Boris repl" single ((:commit . "c70e176dd6545f2d42ca3427e87b469635616d8a") (:keywords "php" "repl" "eval") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://github.com/steckerhalter/php-boris-minor-mode"))]) -(php-boris . [(20130527 821) nil "Run boris php REPL" single ((:commit . "f2faebf610c917f7091f7ec0cd97645629c4f819") (:keywords "php" "commint" "repl" "boris") (:authors ("Tom Regner")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) -(php-auto-yasnippets . [(20170331 114) ((php-mode (1 11)) (yasnippet (0 8 0))) "Creates snippets for PHP functions" tar ((:commit . "03e1f0899c081813901ac15c2f7a675a37cca9f5") (:authors ("Eric James Michael Ritz")) (:maintainer "Eric James Michael Ritz") (:url . "https://github.com/ejmr/php-auto-yasnippets"))]) -(phoenix-dark-pink-theme . [(20190821 48) nil "Originally a port of the Sublime Text 2 theme" single ((:commit . "ddd98a45775be105984ec598384e68df3d3e8046") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-pink"))]) -(phoenix-dark-mono-theme . [(20170729 1406) nil "Monochromatic version of the Phoenix theme" single ((:commit . "a54f515d162148bcb38676980bc2316adb3d7b8b") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-mono"))]) -(phi-search-migemo . [(20170618 921) ((phi-search (2 2 0)) (migemo (1 9 1))) "migemo extension for phi-search" single ((:commit . "308909ebfc8003d16673f97ca9eb26a667b72969") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(phi-search-mc . [(20160324 1503) ((phi-search (2 0 0)) (multiple-cursors (1 2 1))) "multiple-cursors extension for phi-search" single ((:commit . "7aa671910f766437089aec26c3aa7814222d1356") (:keywords "search" "cursors") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/phi-search-mc.el"))]) -(phi-search-dired . [(20150405 714) ((phi-search (2 2 0))) "interactive filtering for dired powered by phi-search" single ((:commit . "162a5e4507c72512affae22744bb606a906d4193") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(phi-search . [(20191106 233) nil "another incremental search & replace, compatible with \"multiple-cursors\"" tar ((:commit . "2a8fe73aa9ef014e27e202964c5a4f4e94ef24b2") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(phi-rectangle . [(20151208 654) nil "another rectangle-mark command (rewrite of rect-mark)" single ((:commit . "0c12716afc71d803d1f39417469521dc465762d9") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(phi-grep . [(20190920 908) ((cl-lib (0 1))) "Interactively-editable recursive grep implementation in elisp" single ((:commit . "06b740e3fb20074be9bae87530f5616a122c3aca") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://github.com/zk-phi/phi-grep"))]) -(phi-autopair . [(20170217 353) ((paredit (20))) "another simple-minded autopair implementation" single ((:commit . "3c7556779c3a53b045f5df33ae2a0c67469cbf60") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(phan . [(20191125 1408) ((emacs (24)) (composer (0 0 8)) (f (0 17))) "Utility functions for Phan (PHP static analizer)" single ((:commit . "2a6e1b66c2aad25fddb8b4f706a28a1aafaaa4c7") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@pixiv.com")) (:maintainer "USAMI Kenta" . "tadsan@pixiv.com") (:url . "https://github.com/emacs-php/phan.el"))]) -(phabricator . [(20160510 1425) ((emacs (24 4)) (dash (1 0)) (projectile (0 13 0)) (s (1 10 0)) (f (0 17 2))) "Phabricator/Arcanist helpers for Emacs." single ((:commit . "d09d6f059aea92d3b11c68664a5e80c901182ab8") (:keywords "phabricator" "arcanist" "diffusion") (:authors ("Andrew Tulloch")) (:maintainer "Andrew Tulloch") (:url . "https://github.com/ajtulloch/phabricator.el"))]) -(ph . [(20161029 1522) ((emacs (24 3))) "A global minor mode for managing multiple projects." tar ((:commit . "ed80dad9211583ed0db633448b3624c99b7fac23"))]) -(pgdevenv . [(20150105 2236) nil "Manage your PostgreSQL development envs" tar ((:commit . "7f1d5bc734750aca98cf67a9491cdbd5615fd132") (:keywords "emacs" "postgresql" "development" "environment" "shell" "debug" "gdb") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org"))]) -(pg . [(20130731 2142) nil "Emacs Lisp interface to the PostgreSQL RDBMS" single ((:commit . "4f6516ec3946d95dcef49abb6703cc89ecb5183d") (:keywords "data" "comm" "database" "postgresql") (:authors ("Eric Marsden" . "emarsden@laas.fr")) (:maintainer "Helmut Eller" . "heller@common-lisp.net"))]) -(pfuture . [(20190505 1006) ((emacs (25 2))) "a simple wrapper around asynchronous processes" single ((:commit . "368254ee30692c709400db413c347e18e76a8a55") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/pfuture"))]) -(perspeen . [(20171203 1021) ((emacs (25 0)) (powerline (2 4))) "An package for multi-workspace" tar ((:commit . "edb70c530bda50ff3d1756e32a703d5fef5e5480") (:keywords "lisp") (:authors ("Peng Li" . "seudut@gmail.com")) (:maintainer "Peng Li" . "seudut@gmail.com") (:url . "https://github.com/seudut/perspeen"))]) -(perspective . [(20191127 1849) ((emacs (24 4)) (cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "085b1605afcdac4d7be6b965fc8b33a99b37ca27") (:keywords "workspace" "convenience" "frames") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:url . "http://github.com/nex3/perspective-el"))]) -(persp-projectile . [(20180616 1944) ((perspective (1 9)) (projectile (0 11 0)) (cl-lib (0 3))) "Perspective integration with Projectile" single ((:commit . "533808b3e4f8f95a1e3ed9c55d9aa720277ebd5f") (:keywords "project" "convenience") (:authors ("Daniel Wu")) (:maintainer "Daniel Wu"))]) -(persp-mode-projectile-bridge . [(20170315 1120) ((persp-mode (2 9)) (projectile (0 13 0)) (cl-lib (0 5))) "persp-mode + projectile integration." single ((:commit . "f6453cd7b8b4352c06e771706f2c5b7e2cdff1ce") (:keywords "persp-mode" "projectile") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:url . "https://github.com/Bad-ptr/persp-mode-projectile-bridge.el"))]) -(persp-mode . [(20190511 1402) nil "windows/buffers sets shared among frames + save/load." single ((:commit . "e330e6240bbb82589077f30472b05b95d1ff430d") (:keywords "perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:url . "https://github.com/Bad-ptr/persp-mode.el"))]) -(persp-fr . [(20191108 754) ((emacs (25 1)) (persp-mode (2 9 6)) (dash (2 13 0))) "In persp-mode, show perspective list in the GUI window title" single ((:commit . "1adbb6a9f9a4db580a9b7ed8b4091738e01345e6") (:keywords "perspectives" "workspace" "windows" "convenience") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/persp-fr"))]) -(persistent-soft . [(20150223 1853) ((pcache (0 3 1)) (list-utils (0 4 2))) "Persistent storage, returning nil on failure" single ((:commit . "a1e0ddf2a12a6f18cab565dee250f070384cbe02") (:keywords "data" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/persistent-soft"))]) -(persistent-scratch . [(20190922 1046) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "fd690e138459e0b490f1fda469811a9cbcb34df7") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))]) -(persistent-overlays . [(20161128 700) nil "Minor mode to store selected overlays to be loaded later" tar ((:commit . "f563c8b966edc78c9d806661c4eb80e4781c4eab") (:keywords "overlays" "persistent") (:authors ("Michael Neilly" . "mneilly@yahoo.com")) (:maintainer "Michael Neilly" . "mneilly@yahoo.com") (:url . "https://github.com/mneilly/Emacs-Persistent-Overlays"))]) -(perlbrew . [(20161109 709) nil "A perlbrew wrapper for Emacs" single ((:commit . "3a3406c3307c92aa30f9400d430925c434a3b6f0") (:keywords "emacs" "perl") (:authors ("Kentaro Kuribayashi" . "kentarok@gmail.com")) (:maintainer "Kentaro Kuribayashi" . "kentarok@gmail.com"))]) -(perl6-mode . [(20180619 1159) ((emacs (24 4)) (pkg-info (0 1))) "Major mode for editing Perl 6 code" tar ((:commit . "88de065795d6863b23b6042576b9e90f8cbf8798") (:keywords "languages") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:url . "https://github.com/hinrik/perl6-mode"))]) -(perfect-margin . [(20190722 126) ((emacs (24 0)) (cl-lib (0 5))) "auto center windows, work with minimap and/or linum-mode" single ((:commit . "94b055c743b1859098870c8aca3e915bd6e67d9d") (:keywords "convenience" "frames") (:authors ("Randall Wang" . "randall.wjz@gmail.com")) (:maintainer "Randall Wang" . "randall.wjz@gmail.com") (:url . "https://github.com/mpwang/perfect-margin"))]) -(per-buffer-theme . [(20191101 2333) ((cl-lib (0 5))) "Change theme according to buffer name or major mode." single ((:commit . "7df4d2f4be64dbcf0bf10a2b9ac3db858fbcd9c8") (:keywords "themes") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/per-buffer-theme"))]) -(pepita . [(20190907 409) ((emacs (25)) (csv (2 1))) "Run Splunk search commands, export results to CSV/HTML/JSON" single ((:commit . "489ddc2675906f9dd27bd4ec69ef140e52194952") (:keywords "tools" "convenience" "matching") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:url . "https://github.com/sebasmonia/pepita.git"))]) -(pelican-mode . [(20190124 2336) ((emacs (25))) "Minor mode for editing Pelican sites" single ((:commit . "65d7caf5d926599a5007eb7bc279215908aa5252") (:keywords "convenience" "editing") (:authors ("Joe Wreschnig" . "joe.wreschnig@gmail.com")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:url . "https://git.korewanetadesu.com/pelican-mode.git"))]) -(peg . [(20150708 641) nil "Parsing Expression Grammars in Emacs Lisp" single ((:commit . "081efeca91d790c7fbc90871ac22c40935f4833b"))]) -(peep-dired . [(20160321 2237) nil "Peep at files in another window from dired buffers" single ((:commit . "1d410a4e48db07a942e54d3b83a85c7a7ec0aab3") (:keywords "files" "convenience") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com"))]) -(peek-mode . [(20130620 1946) ((elnode (0 9 8 1))) "Serve buffers live over HTTP with elnode backend" tar ((:commit . "55a7dd011375330c7d57322257a5167516702c71") (:authors ("Erik Iverson" . "erik@sigmafield.org")) (:maintainer "Erik Iverson" . "erik@sigmafield.org") (:url . "https://github.com/erikriverson/peek-mode"))]) -(peacock-theme . [(20170808 1320) ((emacs (24 0))) "an Emacs 24 theme based on Peacock (tmTheme)" single ((:commit . "9e46fbfb562b6e26c6e3d6d618b044b3694da4c8") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(pdfgrep . [(20181007 1728) ((emacs (24 4))) "run `pdfgrep' and display the results." single ((:commit . "e251cd5c88a4ba5cb69008ba412d329f4d59e1d2") (:keywords "extensions" "mail" "pdf" "grep") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:url . "https://github.com/jeremy-compostella/pdfgrep"))]) -(pdf-view-restore . [(20190904 1708) ((pdf-tools (0 90)) (emacs (26 0))) "Support for opening last known pdf position in pdfview mode" single ((:commit . "5a1947c01a3edecc9e0fe7629041a2f53e0610c9") (:keywords "files" "convenience") (:authors ("Kevin Kim" . "kevinkim1991@gmail.com")) (:maintainer "Kevin Kim" . "kevinkim1991@gmail.com") (:url . "https://github.com/007kevin/pdf-view-restore"))]) -(pdf-tools . [(20191128 1731) ((emacs (24 3)) (tablist (1 0)) (let-alist (1 0 4))) "Support library for PDF documents." tar ((:commit . "1116b3342cf6d50c2bec5710bbe5be7aec2db24b") (:keywords "files" "multimedia") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) -(pdb-mode . [(20150128 1751) nil "Major mode for editing Protein Data Bank files" single ((:commit . "855fb18ebb73b5df30c8d7677c2bcd0f361b138a") (:keywords "data" "pdb") (:authors (nil . "charles.bond@uwa.edu.au")) (:maintainer nil . "aix.bing@gmail.com") (:url . "http://bondxray.org/software/pdb-mode/"))]) -(pcsv . [(20150220 1131) nil "Parser of csv" single ((:commit . "798e0933f8d0818beb17aebf3b1056bbf74e03d0") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-pcsv/raw/master/pcsv.el"))]) -(pcre2el . [(20161120 2103) ((emacs (24)) (cl-lib (0 3))) "regexp syntax converter" single ((:commit . "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") (:authors ("joddie ")) (:maintainer "joddie ") (:url . "https://github.com/joddie/pcre2el"))]) -(pcomplete-extension . [(20190928 519) ((emacs (24)) (cl-lib (0 5))) "additional completion for pcomplete" single ((:commit . "bc5eb204fee659e0980056009409b44bc7655716") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/pcomplete-extension"))]) -(pcmpl-pip . [(20181229 1420) ((s (1 12 0)) (f (0 19 0)) (seq (2 15))) "pcomplete for pip" single ((:commit . "bc79228674ad5c1bc458c90dd8839790fb0a09e8") (:keywords "pcomplete" "pip" "python" "tools") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com"))]) -(pcmpl-homebrew . [(20190213 318) nil "pcomplete for homebrew" single ((:commit . "39f2e8faf4d866410a625bbcf88f2504940c8982") (:keywords "pcomplete" "homebrew" "tools" "cask" "services") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com"))]) -(pcmpl-git . [(20170121 59) nil "pcomplete for git" tar ((:commit . "9472ac70baeda025ef7becd1cf141d72aec93f32") (:keywords "tools") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com"))]) -(pcmpl-args . [(20190223 1613) nil "Enhanced shell command completion" single ((:commit . "0b8a05fc6e370fa9c466250659619f8d6b53d446") (:keywords "abbrev" "completion" "convenience" "processes" "terminals" "unix") (:authors ("Jonathan Waltman" . "jonathan.waltman@gmail.com")) (:maintainer "Jonathan Waltman" . "jonathan.waltman@gmail.com") (:url . "https://github.com/JonWaltman/pcmpl-args.el"))]) -(pcap-mode . [(20161025 1448) ((emacs (24 3))) "Major mode for working with PCAP files" single ((:commit . "52780669af0ade136f84d73f21b4dbb7ab655416") (:keywords "pcap" "packets" "tcpdump" "wireshark" "tshark") (:authors ("Aaron Conole" . "aconole@bytheb.org")) (:maintainer "Aaron Conole" . "aconole@bytheb.org"))]) -(pcache . [(20170105 2214) ((eieio (1 3))) "persistent caching for Emacs." single ((:commit . "1f8086077d770e524492e6fa59b07856e85a6fea") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))]) -(pc-bufsw . [(20191014 848) nil "PC style quick buffer switcher" single ((:commit . "a7c7bba4b7d511eceaaa8fee34d598296402555b") (:keywords "buffer") (:authors ("Igor Bukanov" . "igor@mir2.org")) (:maintainer "Igor Bukanov" . "igor@mir2.org") (:url . "https://github.com/ibukanov/pc-bufsw"))]) -(pbcopy . [(20150225 459) nil "Emacs Interface to pbcopy" single ((:commit . "338f7245746b5de1bb96c5cc2b32bfd9b5d83272") (:keywords "mac" "osx" "pbcopy") (:authors ("Daniel Nelson")) (:maintainer "Daniel Nelson") (:url . "https://github.com/jkp/pbcopy.el"))]) -(paxedit . [(20160730 1727) ((cl-lib (0 5)) (paredit (23))) "Structured, Context Driven LISP Editing and Refactoring" single ((:commit . "09f3d5aeb108937a801e77ef413e29eaa4ecc4be") (:keywords "lisp" "refactoring" "context") (:authors ("Mustafa Shameem")) (:maintainer "Mustafa Shameem") (:url . "https://github.com/promethial/paxedit"))]) -(pathify . [(20160423 846) nil "Symlink your scripts into a PATH directory" single ((:commit . "401b184c743694a60b3bc4273fc43de05cd5ac4b") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitlab.com/alezost-emacs/pathify"))]) -(path-helper . [(20181208 2229) ((emacs (24))) "Set PATH environment variables from config files" single ((:commit . "34538affb3f341b3c56a875bb094ddb2b859a8ef") (:keywords "tools" "unix") (:authors ("Arnaud Rouanet" . "arnaud@rouanet.org")) (:maintainer "Arnaud Rouanet" . "arnaud@rouanet.org") (:url . "https://github.com/arouanet/path-helper"))]) -(path-headerline-mode . [(20140423 1332) nil "Displaying file path on headerline." single ((:commit . "b5b2725c6a8b1cb592fc242b7dbbd54b4dff2e69") (:keywords "headerline") (:authors ("7696122")) (:maintainer "7696122") (:url . "https://github.com/7696122/path-headerline-mode"))]) -(pastery . [(20171114 349) ((emacs (24 4)) (request (0 2 0))) "paste snippets to pastery.net." tar ((:commit . "4493be98b743b4d062cb4e00760125e394a55022") (:keywords "tools") (:authors ("Bruno Dias" . "dias.h.bruno@gmail.com")) (:maintainer "Bruno Dias" . "dias.h.bruno@gmail.com") (:url . "https://github.com/diasbruno/pastery.el"))]) -(pastelmac-theme . [(20151031 236) ((emacs (24 1))) "a soothing theme with a pastel color palette" single ((:commit . "bead21741e3f46f6506e8aef4469d4240a819389") (:keywords "themes") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/pastelmac-theme-el"))]) -(pastehub . [(20140615 620) nil "A client for the PasteHub cloud service" single ((:commit . "37b045c67659c078f1517d0fbd5282dab58dca23") (:authors ("Kiyoka Nishiyama")) (:maintainer "Kiyoka Nishiyama") (:url . "https://github.com/kiyoka/pastehub"))]) -(pastebin . [(20101125 2002) nil "A simple interface to the www.pastebin.com webservice" single ((:commit . "8e9a829298ce0f747ab80758aa26caeb2af6cb30"))]) -(paste-of-code . [(20170709 2355) ((emacs (24 3)) (request (0 2 0))) "paste code on https://paste.ofcode.org" single ((:commit . "92d258e8ec98598d847ecab82903f9224c7c2050") (:keywords "lisp") (:authors ("Bernhard Specht" . "bernhard@specht.net")) (:maintainer "Bernhard Specht" . "bernhard@specht.net"))]) -(password-vault . [(20160126 1820) ((cl-lib (0 2)) (emacs (24))) "A Password manager for Emacs." single ((:commit . "dc56e6c2f5da66f1ab63736cecf08fb2c6c2b30f") (:keywords "password" "productivity") (:authors ("Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com")) (:maintainer "Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") (:url . "http://github.com/PuercoPop/password-vault"))]) -(password-store-otp . [(20190713 1748) ((emacs (25)) (s (1 9 0)) (password-store (0 1))) "Password store (pass) OTP extension support" single ((:commit . "04998c8578a060ab4a4e8f46f2ee0aafad4ab4d5") (:keywords "tools" "pass") (:authors ("Daniel Barreto")) (:maintainer "Daniel Barreto") (:url . "https://github.com/volrath/password-store-otp.el"))]) -(password-store . [(20190929 1627) ((emacs (25)) (f (0 11 0)) (s (1 9 0)) (with-editor (2 5 11)) (auth-source-pass (5 0 0))) "Password store (pass) support" single ((:commit . "88936b11aff49e48f79842e4628c55620e0ad736") (:keywords "tools" "pass" "password" "password-store") (:authors ("Svend Sorensen" . "svend@svends.net")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:url . "https://www.passwordstore.org/"))]) -(password-mode . [(20170412 629) nil "Hide password text using overlays" single ((:commit . "ed764a4ec1011526457c71b7c37fa9a659a866ab") (:keywords "docs" "password" "passphrase") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org"))]) -(password-generator . [(20150222 2040) nil "Password generator for humans. Good, Bad, Phonetic passwords included." single ((:commit . "904cdb591a04305ba882ce19e1d117f5fa60f7d3") (:authors ("Zargener" . "zargener@gmail.com")) (:maintainer "Zargener" . "zargener@gmail.com") (:url . "http://github.com/zargener/emacs-password-genarator"))]) -(passthword . [(20141201 923) ((cl-lib (0 5))) "Simple password manager" single ((:commit . "30bace842eaaa6b48cb2251fb84868ebca0467d6") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) -(passmm . [(20181130 1612) ((emacs (24 4)) (password-store (0))) "A minor mode for pass (Password Store)." single ((:commit . "b25a92048c788a8477cc5ffe14c0c4a4df19d79a") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/passmm"))]) -(pass . [(20190830 2017) ((emacs (25)) (password-store (2 1 0)) (password-store-otp (0 1 5)) (f (0 17))) "Major mode for password-store.el" single ((:commit . "919d8e3826d556433ab67d4ee21a509d209d1baa") (:keywords "password-store" "password" "keychain") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) -(pasp-mode . [(20180404 1700) ((emacs (24 3))) "- A major mode for editing Answer Set Programs." single ((:commit . "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") (:keywords "asp" "pasp" "answer set programs" "potassco answer set programs" "major mode" "languages") (:authors ("Henrik Jürges" . "juerges.henrik@gmail.com")) (:maintainer "Henrik Jürges" . "juerges.henrik@gmail.com") (:url . "https://github.com/santifa/pasp-mode"))]) -(parseedn . [(20191113 831) ((emacs (25)) (a (0 1 0 -3 4)) (parseclj (0 1 0))) "Clojure/EDN parser" single ((:commit . "f42ff988338484815ccd925c8f83a32c5d52319b") (:keywords "lisp" "clojure" "edn" "parser") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))]) -(parseclj . [(20190531 711) ((emacs (25)) (a (0 1 0 -3 4))) "Clojure/EDN parser" tar ((:commit . "b34d3e13a249d4b92f1a008cdc1df20a92f866c5") (:keywords "lisp" "clojure" "edn" "parser") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))]) -(parsec . [(20180730 16) ((emacs (24)) (cl-lib (0 5))) "Parser combinator library" single ((:commit . "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/parsec.el"))]) -(parsebib . [(20181219 928) ((emacs (24 3))) "A library for parsing bib files" single ((:commit . "9a5f1730b8ef1fb6c29262a8ba79f8136e5548d4") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) -(parse-csv . [(20160512 1723) nil "Parse strings with CSV fields into s-expressions" single ((:commit . "96bef1ffbc89ea12d13311c9fa239c5c3e864890") (:keywords "csv") (:authors ("Edward Marco Baringer (Common Lisp)") ("Matt Curtis" . "matt.r.curtis@gmail.com")) (:maintainer "Matt Curtis" . "matt.r.curtis@gmail.com") (:url . "https://github.com/mrc/el-csv"))]) -(parrot . [(20191015 2127) ((emacs (24 1))) "Party Parrot rotates gracefully in mode-line." tar ((:commit . "13757524f1c708b866f4aaab5a9fb3599a1c4f56") (:keywords "party" "parrot" "rotate" "sirocco" "kakapo" "games") (:authors ("Daniel Ting" . "deep.paren.12@gmail.com")) (:maintainer "Daniel Ting" . "deep.paren.12@gmail.com") (:url . "https://github.com/dp12/parrot.git"))]) -(parinfer . [(20180904 844) ((dash (2 13 0)) (cl-lib (0 5))) "Simpler Lisp editing" tar ((:commit . "eaad857ae4351f72a561ee3dec8943713510003f") (:keywords "parinfer") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://github.com/DogLooksGood/parinfer-mode"))]) -(parent-mode . [(20150824 2300) nil "get major mode's parent modes" single ((:commit . "db692cf08deff2f0e973e6e86e26662b44813d1b") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/parent-mode"))]) -(paren-face . [(20191105 2246) nil "a face for parentheses in lisp modes" single ((:commit . "57f8fff2a6765057cc52e6c75560c00049f1a535") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/paren-face"))]) -(paren-completer . [(20160501 1052) ((emacs (24 3))) "Automatically, language agnostically, fill in delimiters." single ((:commit . "74183a8e13fa1266271bdcbcb4bfb29a4f915f0a") (:keywords "convenience") (:authors ("Matthew Bregg")) (:maintainer "Matthew Bregg") (:url . "https://github.com/MatthewBregg/paren-completer"))]) -(paredit-menu . [(20160128 1733) ((paredit (25))) "Adds a menu to paredit.el as memory aid" single ((:commit . "cc0ae85bd819f9ebfa4f2a419ab3b2d70e39c9c8") (:keywords "paredit") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) -(paredit-everywhere . [(20180506 849) ((paredit (22))) "Enable some paredit features in non-lisp buffers" single ((:commit . "f04c522e6b088a11255a95cb1e6a08198b4d6537") (:keywords "languages" "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) -(paredit . [(20191121 2328) nil "minor mode for editing parentheses" single ((:commit . "814999bb320e6d5aaa9c8ff663b1933157129571") (:keywords "lisp") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net"))]) -(parchment-theme . [(20190703 1531) ((emacs (24))) "Light theme inspired by Acme and Leuven" single ((:commit . "30eedd346175072e013b7bcf6ae1795f022fee0b") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:url . "https://github.com/ajgrf/parchment"))]) -(paradox . [(20191011 1111) ((emacs (24 4)) (seq (1 7)) (let-alist (1 0 3)) (spinner (1 7 3)) (hydra (0 13 2))) "A modern Packages Menu. Colored, with package ratings, and customizable." tar ((:commit . "339fe3518d1d102b2295670340e75caf4f01a29a") (:keywords "package" "packages") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/paradox"))]) -(paperless . [(20180224 1245) ((emacs (24 4)) (f (0 11 0)) (s (1 10 0)) (cl-lib (0 6 1))) "A major mode for sorting and filing PDF documents." tar ((:commit . "b3b6c05da393f6b1292a3d5937bc4499baabd0b6") (:keywords "pdf" "convenience") (:authors ("Anthony Green" . "green@moxielogic.com")) (:maintainer "Anthony Green" . "green@moxielogic.com") (:url . "http://github.com/atgreen/paperless"))]) -(paper-theme . [(20190124 1828) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "5f3e67448cc98fe2875115163849acae4d9e8526") (:keywords "theme" "paper") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:url . "https://dev.gkayaalp.com/elisp/index.html#paper"))]) -(pangu-spacing . [(20190823 401) nil "Minor-mode to add space between Chinese and English characters." single ((:commit . "f92898949ba3bf991fd229416f3bbb54e9c6c223") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/pangu-spacing"))]) -(pandoc-mode . [(20191003 1221) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "f4f10a329acd354aa7dda52e7f7bc23ca28366d3") (:keywords "text" "pandoc") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) -(pandoc . [(20161128 1157) ((emacs (24 4))) "Pandoc interface" single ((:commit . "198d262d09e30448f1672338b0b5a81cf75e1eaa") (:keywords "hypermedia" "documentation" "markup" "converter") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/pandoc.el"))]) -(panda-theme . [(20181128 1738) ((emacs (24))) "Panda Theme" single ((:commit . "60aa47c7a930377807da0d601351ad91e8ca446a") (:authors ("jamiecollinson" . "jamiecollinson@gmail.com")) (:maintainer "jamiecollinson" . "jamiecollinson@gmail.com") (:url . "https://github.com/jamiecollinson/emacs-panda-theme"))]) -(panda . [(20190907 314) ((emacs (25))) "Client for Bamboo's REST API." single ((:commit . "5a3da498a8ab8a60cef3a3a5e8f3e14dea9992dd") (:keywords "maint" "tool") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:url . "https://github.com/sebasmonia/panda"))]) -(pamparam . [(20190827 1127) ((emacs (24 3)) (lispy (0 26 0)) (worf (0 1 0)) (hydra (0 13 4))) "Simple and fast flashcards." tar ((:commit . "3690a3691da7792ed2f2270d1006632640182ae0") (:keywords "outlines" "hypermedia" "flashcards" "memory") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/pamparam"))]) -(pallet . [(20150512 702) ((dash (2 10 0)) (s (1 9 0)) (f (0 17 1)) (cask (0 7))) "A package management tool for Emacs, using Cask." tar ((:commit . "b8d0df1883224a371ac0a3bc9b9c1c4dc61e6ac0"))]) -(palimpsest . [(20170119 2032) nil "Various deletion strategies when editing" single ((:commit . "e6d5944393c260ceb724462c84046cc62c9ae916") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))]) -(pager-default-keybindings . [(20130719 2057) ((pager (1 0))) "Add the default keybindings suggested for pager.el" single ((:commit . "dbbd49c2ac5906d1dabf9e9c832bfebc1ab405b3") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/pager-default-keybindings"))]) -(pager . [(20151202 120) nil "windows-scroll commands" single ((:commit . "5c791ed23f1136e04040d6f4bc9b4ca5b6dc919f") (:authors (nil . "Mikael Sjödin -- mic@docs.uu.se")) (:maintainer nil . "Mikael Sjödin -- mic@docs.uu.se"))]) -(page-break-lines . [(20190519 2238) ((emacs (24 4))) "Display ^L page breaks as tidy horizontal lines" single ((:commit . "2e1d274e11071bb8daea4d6f4c0369c84466de7a") (:keywords "convenience" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/page-break-lines"))]) -(paganini-theme . [(20180815 1921) ((emacs (24 0))) "A colorful, dark and warm theme." single ((:commit . "255c5a2a8abee9c5935465ec42b9c3604c178c3c") (:authors ("Onur Temizkan")) (:maintainer "Onur Temizkan") (:url . "https://github.com/onurtemizkan/paganini"))]) -(pact-mode . [(20191117 2337) ((emacs (24 3))) "Mode for Pact, a LISPlike smart contract language." single ((:commit . "220bf985cb31d60f47042d5f424de8b9a589e544") (:keywords "pact" "lisp" "languages" "blockchain" "smartcontracts" "tools" "mode") (:authors ("Stuart Popejoy")) (:maintainer "Stuart Popejoy" . "stuart@kadena.io") (:url . "https://github.com/kadena-io/pact-mode"))]) -(pacmacs . [(20160131 832) ((emacs (24 4)) (dash (2 11 0)) (dash-functional (1 2 0)) (cl-lib (0 5)) (f (0 18 0))) "Pacman for Emacs" tar ((:commit . "d813e9c62c2540fe619234824fc60e128c786442") (:authors ("Codingteam" . "codingteam@conference.jabber.ru")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/codingteam/pacmacs.el"))]) -(packed . [(20180318 1729) ((emacs (24 3))) "package manager agnostic Emacs Lisp package utilities" single ((:commit . "f350cc446c65b85bcc213265cd6dcadee1568762") (:keywords "compile" "convenience" "lisp" "package" "library") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/packed"))]) -(package-utils . [(20180514 1415) ((restart-emacs (0 1 1))) "Extensions for package.el" single ((:commit . "5621b95c56b55499f0463fd8b29501da25d861bd") (:keywords "package" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/package-utils"))]) -(package-safe-delete . [(20150116 1607) ((emacs (24)) (epl (0 7 -4))) "Safely delete package.el packages" single ((:commit . "138171e4fc03c0ef05a8260cbb5cd2e114c1c194") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/package-safe-delete"))]) -(package-lint-flymake . [(20191116 45) ((emacs (26 1)) (package-lint (0 5))) "A package-lint Flymake backend" single ((:commit . "ccfa937ade18d87991cc529631198bdeddab7147") (:url . "https://github.com/purcell/package-lint"))]) -(package-lint . [(20191124 132) ((cl-lib (0 5)) (emacs (24 1)) (let-alist (1 0 6))) "A linting library for elisp package authors" tar ((:commit . "ccfa937ade18d87991cc529631198bdeddab7147") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/package-lint"))]) -(package-filter . [(20161122 719) nil "package archive whitelist and blacklist" single ((:commit . "bc73b41aea1d65ca44ef1593ca13126df9bbb39e") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "https://github.com/milkypostman/package-filter"))]) -(package-build . [(20191010 616) ((cl-lib (0 5))) "Tools for assembling a package archive" tar ((:commit . "f761c2ffeed0daba9c17ac7571c7b979b6ceed64") (:keywords "tools") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net"))]) -(package+ . [(20190702 253) ((emacs (24 3))) "Extensions for the package library." single ((:commit . "3d108ff6af00d2fe978787217a13660af057cafc") (:keywords "extensions" "tools") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:url . "https://github.com/zenspider/package"))]) -(pack . [(20191017 456) ((emacs (24)) (cl-lib (0 5))) "Pack and unpack archive files" single ((:commit . "85cd856fdc00a2365e88b50373b99f1b3d2227be") (:keywords "files" "dired") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/pack-el"))]) -(pacfiles-mode . [(20181028 1744) ((emacs (26)) (cl-lib (0 5))) "pacnew and pacsave merging tool" tar ((:commit . "ff58f387e0f85ca20c4c9f119bf13303bf8b5a76") (:keywords "files" "pacman" "arch" "pacnew" "pacsave" "update" "linux") (:authors ("Carlos G. Cordero ")) (:maintainer "Carlos G. Cordero" . "pacfiles@binarycharly.com") (:url . "https://github.com/UndeadKernel/pacfiles-mode"))]) -(pabbrev . [(20160320 2101) nil "Predictive abbreviation expansion" single ((:commit . "56400d5d256b42ffe45c229ea9827f026b650cf5") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) -(p4 . [(20150721 1937) nil "Simple Perforce-Emacs Integration" single ((:commit . "eff047caa75dbe4965defca9d1212454cdb755d5") (:authors ("Gareth Rees" . "gdr@garethrees.org")) (:maintainer "Gareth Rees" . "gdr@garethrees.org") (:url . "https://github.com/gareth-rees/p4.el"))]) -(ox-wk . [(20190526 1024) ((emacs (24 4)) (org (8 3))) "Wiki Back-End for Org Export Engine" single ((:commit . "3da2213be1874d9d3e8a9337b09003d9c102b943") (:keywords "org" "wp" "wiki") (:authors ("Vilibald Wanča" . "vilibald@wvi.cz")) (:maintainer "Vilibald Wanča" . "vilibald@wvi.cz") (:url . "https://github.com/w-vi/ox-wk.el"))]) -(ox-twiki . [(20170803 2039) ((org (8)) (cl-lib (0 5))) "org Twiki and Foswiki export" single ((:commit . "99d0c25d56dbf75ce894a84e776ba4459208dbc2") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org8-wikiexporters"))]) -(ox-twbs . [(20161103 2016) nil "Bootstrap compatible HTML Back-End for Org" single ((:commit . "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28") (:keywords "org" "html" "publish" "twitter" "bootstrap") (:authors ("Carsten Dominik ") ("Jambunathan K ") ("Brandon van Beekum ")) (:maintainer "Carsten Dominik ") (:url . "https://github.com/marsmining/ox-twbs"))]) -(ox-tufte . [(20160926 1607) ((org (8 2)) (emacs (24))) "Tufte HTML org-mode export backend" single ((:commit . "49d7ea78fde063b407ce6fa57739f90c83500682") (:keywords "org" "tufte" "html") (:authors ("M. Lee Hinman")) (:maintainer "M. Lee Hinman") (:url . "https://github.com/dakrone/ox-tufte"))]) -(ox-trac . [(20171026 1823) ((org (9 0))) "Org Export Backend to Trac WikiFormat" single ((:commit . "03cc31efb1aa06991918f1071e250a9d58f96cfb") (:keywords "org-mode" "trac") (:authors ("Brian J. Carlson ")) (:maintainer "Brian J. Carlson ") (:url . "https://github.com/JalapenoGremlin/ox-trac"))]) -(ox-tiddly . [(20180626 2052) ((org (8)) (cl-lib (0 5))) "org TiddlyWiki exporter" single ((:commit . "99d0c25d56dbf75ce894a84e776ba4459208dbc2") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org8-wikiexporters"))]) -(ox-textile . [(20180502 947) ((org (8 1))) "Textile Back-End for Org Export Engine" single ((:commit . "b179abaa6616604c6efe32cb509e62ad46e7374e") (:keywords "org" "textile") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-textile"))]) -(ox-spectacle . [(20181211 953) ((org (8 3))) "spectacle.js Presentation Back-End for Org Export Engine" single ((:commit . "9d3ec9a6326289074d8620e97d65e3105307ff51") (:keywords "presentation") (:authors ("imfine" . "lorniu@gmail.com")) (:maintainer "imfine" . "lorniu@gmail.com"))]) -(ox-slimhtml . [(20181219 850) ((emacs (24)) (cl-lib (0 6))) "a minimal HTML org export backend" single ((:commit . "a5070cb2c67425aa33da8503c83361e8814a86ec") (:keywords "files") (:authors ("Elo Laszlo ")) (:maintainer "Elo Laszlo ") (:url . "http://bald.cat/slimhtml"))]) -(ox-slack . [(20181119 1131) ((org (9 1 4)) (ox-gfm (1 0))) "Slack Exporter for org-mode" single ((:commit . "96d90914e6df1a0141657fc51f1dc5bb8f1da6bd") (:keywords "org" "slack" "outlines") (:authors ("Matt Price")) (:maintainer "Matt Price") (:url . "https://github.com/titaniumbones/ox-slack"))]) -(ox-rst . [(20191013 551) ((emacs (25 1)) (org (8 3))) "Export reStructuredText using org-mode." single ((:commit . "9158bfd18096c559e0a225ae62ab683f1c98a547") (:keywords "org" "rst" "rest" "restructuredtext") (:authors ("Masanao Igarashi" . "syoux2@gmail.com")) (:maintainer "Masanao Igarashi" . "syoux2@gmail.com") (:url . "https://github.com/msnoigrs/ox-rst"))]) -(ox-rfc . [(20190926 851) ((emacs (24 3)) (org (8 3))) "RFC Back-End for Org Export Engine" tar ((:commit . "b86c9e6f21d99ea657b4f2224f816300485ed73f") (:keywords "org" "rfc" "wp" "xml") (:authors ("Christian Hopps" . "chopps@devhopps.com")) (:maintainer "Christian Hopps" . "chopps@devhopps.com") (:url . "https://github.com/choppsv1/org-rfc-export"))]) -(ox-reveal . [(20191127 319) ((org (8 3))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "a4c12432ec564187b8acd0814d5f66e45ea30e4d") (:keywords "outlines" "hypermedia" "slideshow" "presentation") (:authors ("Yujie Wen ")) (:maintainer "Yujie Wen "))]) -(ox-qmd . [(20170402 1657) ((org (8 0))) "Qiita Markdown Back-End for Org Export Engine" single ((:commit . "3a24c7a0b3ec80e494b977e14a3dfb94c9f1d8ec") (:keywords "org" "wp" "markdown" "qiita") (:authors ("0x60DF" . "0x60DF@gmail.com")) (:maintainer "0x60DF" . "0x60DF@gmail.com") (:url . "https://github.com/0x60df/ox-qmd"))]) -(ox-pukiwiki . [(20150124 1716) ((org (8 1))) "Pukiwiki Back-End for Org Export Engine" single ((:commit . "bdbde2c294f5d3de11f08a3fe19f01175d2e011a") (:keywords "org" "pukiwiki") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-pukiwiki"))]) -(ox-pandoc . [(20180510 1338) ((org (8 2)) (emacs (24)) (dash (2 8)) (ht (2 0)) (cl-lib (0 5))) "org exporter for pandoc." single ((:commit . "aa37dc7e94213d4ebedb85c384c1ba35007da18e") (:keywords "tools") (:authors ("KAWABATA, Taichi" . "kawabata.taichi@gmail.com")) (:maintainer "KAWABATA, Taichi" . "kawabata.taichi@gmail.com") (:url . "https://github.com/kawabata/ox-pandoc"))]) -(ox-nikola . [(20151114 1116) ((emacs (24 4)) (org (8 2 4)) (ox-rst (0 2))) "Export Nikola articles using org-mode." single ((:commit . "5bcbc1a38f6619f62294194f13ca0cd4ca14dd48") (:keywords "org" "nikola") (:authors ("IGARASHI Masanao" . "syoux2@gmail.com")) (:maintainer "IGARASHI Masanao" . "syoux2@gmail.com") (:url . "https://github.com/masayuko/ox-nikola"))]) -(ox-minutes . [(20180202 1734) ((emacs (24 4))) "Plain text backend for Org for Meeting Minutes" single ((:commit . "27c29f3fdb9181322ae56f8bace8d95e621230e5") (:keywords "org" "exporter" "notes") (:authors ("Kaushal Modi" . "kaushal.modi@gmail.com")) (:maintainer "Kaushal Modi" . "kaushal.modi@gmail.com") (:url . "https://github.com/kaushalmodi/ox-minutes"))]) -(ox-mediawiki . [(20180105 2154) ((cl-lib (0 5)) (s (1 9 0))) "Mediawiki Back-End for Org Export Engine" single ((:commit . "a9327150293e370e500ba55bddfe5fc435c6bf9b") (:keywords "org" "wp" "mediawiki") (:authors ("Tom Alexander" . "tomalexander@paphus.com")) (:maintainer "Tom Alexander" . "tomalexander@paphus.com") (:url . "https://github.com/tomalexander/orgmode-mediawiki"))]) -(ox-mdx-deck . [(20181115 1847) ((emacs (24)) (ox-hugo (0 7))) "org-mode to mdx-deck exporter" single ((:commit . "2e46ac76f7ac279c371474cbbf39634bbe40f4c7") (:keywords "lisp" "org" "ox" "mdx" "deck") (:authors ("Joshua Wolfe")) (:maintainer "Joshua Wolfe") (:url . "https://github.com/WolfeCub/ox-mdx-deck/"))]) -(ox-latex-subfigure . [(20190816 1905) ((emacs (24))) "Subfigure for latex export" single ((:commit . "5436eaf0cb036fed0a2042533ec1466a33cf9493") (:keywords "convenience" "ox" "latex" "subfigure" "org" "org-mode") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:url . "http://github.com/linktohack/ox-latex-subfigure"))]) -(ox-json . [(20191109 156) ((emacs (24)) (org (9)) (s (1 12))) "JSON export backend for Org mode" single ((:commit . "1627f14da943fd67a571e4064edbe83277d70fbd") (:keywords "outlines") (:authors ("Jared Lumpe" . "mjlumpe@gmail.com")) (:maintainer "Jared Lumpe" . "mjlumpe@gmail.com") (:url . "https://github.com/jlumpe/ox-json"))]) -(ox-jira . [(20171001 916) ((org (8 3))) "JIRA Backend for Org Export Engine" single ((:commit . "db2ec528f46c9e611624ba28611c440a99bff255") (:keywords "outlines" "hypermedia" "wp") (:authors ("Stig Brautaset" . "stig@brautaset.org")) (:maintainer "Stig Brautaset" . "stig@brautaset.org") (:url . "https://github.com/stig/ox-jira.el"))]) -(ox-jekyll-md . [(20180831 1732) nil "Export Jekyll on Markdown articles using org-mode." single ((:commit . "ff7b81733354c2b427293e531bb51647fa84fc88") (:keywords "org" "jekyll") (:authors ("Elsa Gonsiorowski" . "gonsie@me.com")) (:maintainer "Elsa Gonsiorowski" . "gonsie@me.com"))]) -(ox-ioslide . [(20161015 1338) ((emacs (24 1)) (org (8 0)) (cl-lib (0 5)) (f (0 17 2)) (makey (0 3))) "Export org-mode to Google I/O HTML5 slide." tar ((:commit . "6555680be5364c8ddd2bf446865cb1a82adb6b9e") (:keywords "html" "presentation") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/org-ioslide"))]) -(ox-impress-js . [(20150412 1716) ((org (8))) "impress.js Back-End for Org Export Engine" tar ((:commit . "91c6d2af6af308ade352a03355c4fb551b238c6b") (:keywords "outlines" "hypermedia" "calendar" "wp") (:authors ("Takumi Kinjo ")) (:maintainer "Takumi Kinjo ") (:url . "https://github.com/kinjo/org-impress-js.el"))]) -(ox-hugo . [(20191130 512) ((emacs (24 4)) (org (9 0))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "4c0ae850518c45e010a3d7253e78087c098b2fca") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))]) -(ox-html5slide . [(20131228 606) ((org (8 0))) "Export org-mode to HTML5 slide." single ((:commit . "4703dfbd9d79161509def673d2c1e118d722a58f") (:keywords "html" "presentation") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/org-html5slide"))]) -(ox-haunt . [(20190720 2352) ((emacs (24 3)) (org (9 0))) "Haunt-flavored HTML backend for the Org export engine" single ((:commit . "9d25ec4fc66fccbae23489abd4b9e8933c5b7dbd") (:keywords "convenience" "hypermedia" "wp") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:url . "https://git.sr.ht/~jakob/ox-haunt"))]) -(ox-gfm . [(20170628 2102) nil "Github Flavored Markdown Back-End for Org Export Engine" single ((:commit . "99f93011b069e02b37c9660b8fcb45dab086a07f") (:keywords "org" "wp" "markdown" "github") (:authors ("Lars Tveito")) (:maintainer "Lars Tveito"))]) -(ox-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "c9629ef4b4bc40d51afefd8c0bb2c683931e6409") (:keywords "hypermedia") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:url . "http://github.com/ofosos/org-epub"))]) -(ox-clip . [(20191122 237) ((org (8 2)) (htmlize (0))) "Cross-platform formatted copying for org-mode" single ((:commit . "bd36f9fb4e3b1b9e8686b993b02ccd780ff75a96") (:keywords "org-mode") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:url . "https://github.com/jkitchin/ox-clip"))]) -(ox-bibtex-chinese . [(20170723 309) ((emacs (24 4))) "Let ox-bibtex work well for Chinese users" tar ((:commit . "2ad2364399229144110db7ef6365ad0461d6a38c"))]) -(ox-asciidoc . [(20181230 620) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "e931362e641f97d17dc738d22bb461e54045786d") (:keywords "org" "asciidoc") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-asciidoc"))]) -(owdriver . [(20170401 1312) ((smartrep (0 0 3)) (log4e (0 2 0)) (yaxception (0 2 0))) "Quickly perform various actions on other windows" single ((:commit . "d934f182bafe29aa16c173440eff3fef08b0ec10") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/owdriver"))]) -(ovpn-mode . [(20190811 2200) ((emacs (25)) (cl-lib (0 5))) "an openvpn management mode" single ((:commit . "dce04d9f35fd203afd098ba413595db6c2cbc051") (:keywords "comm") (:authors ("Bas Alberts" . "bas@anti.computer")) (:maintainer "Bas Alberts" . "bas@anti.computer") (:url . "https://github.com/anticomputer/ovpn-mode"))]) -(overseer . [(20180226 619) ((emacs (24)) (dash (2 10 0)) (pkg-info (0 4)) (f (0 18 1))) "Ert-runner Integration Into Emacs" single ((:commit . "02d49f582e80e36b4334c9187801c5ecfb027789") (:authors ("Samuel Tonini" . "tonini.samuel@gmail.com")) (:maintainer "Samuel Tonini" . "tonini.samuel@gmail.com") (:url . "http://www.github.com/tonini/overseer.el"))]) -(overcast-theme . [(20190326 1646) ((emacs (24))) "A dark but vibrant color theme for Emacs" single ((:commit . "afb8098ad2234a65ec614f4028f7cf2555134f46") (:keywords "theme") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) -(ov . [(20191127 32) ((emacs (24 3))) "Overlay library for Emacs Lisp" single ((:commit . "d1ae4d2a488e8ed99ab395e567bc00d21dd6c478") (:keywords "overlay") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/ov.el"))]) -(outshine . [(20191112 1414) ((outorg (2 0)) (cl-lib (0 5))) "outline with outshine outshines outline" tar ((:commit . "9334b555aaf1426a9e405a57b80809a1615627b3") (:keywords "convenience" "outlines" "org") (:authors ("Thorsten Jolitz")) (:maintainer "Thibault Polge" . "thibault@thb.lt") (:url . "https://github.com/alphapapa/outshine"))]) -(outrespace . [(20190724 1553) ((emacs (24 4))) "Some c++ namespace utility functions" single ((:commit . "d8c1619ec81fd3f4e728212a3526cd13bc2b0147") (:keywords "tools" "c++" "namespace") (:authors ("Dan Harms" . "danielrharms@gmail.com")) (:maintainer "Dan Harms" . "danielrharms@gmail.com") (:url . "https://github.com/articuluxe/outrespace.git"))]) -(outorg . [(20190720 2002) ((emacs (24 4))) "Org-style comment editing" single ((:commit . "ef0f86f4b893b30be8bcf8b43a5ec357a6c70f07") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/outorg"))]) -(outlook . [(20180428 1430) ((emacs (24 4))) "send emails in MS Outlook style" tar ((:commit . "359683aff91b38bd1398a6ed4058a06f09a02d65") (:keywords "mail") (:authors ("Andrew Savonichev")) (:maintainer "Andrew Savonichev") (:url . "https://github.com/asavonic/outlook.el"))]) -(outlined-elisp-mode . [(20131108 1127) nil "outline-minor-mode settings for emacs lisp" single ((:commit . "c16cb02b540448919ad148f2be6a41523ee5489c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(outline-toc . [(20170730 1130) nil "Sidebar showing a \"table of contents\"." single ((:commit . "31f04bea19cfcfb01a94d1fd2b72391cb02b7463") (:keywords "convenience" "outlines") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/outline-toc.el"))]) -(outline-minor-faces . [(20191104 1340) ((emacs (25 1))) "Headings faces for outline-minor-mode" single ((:commit . "acf989051afd6fa8854834e2c6a67ad632e44edd") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))]) -(outline-magic . [(20180619 1819) nil "outline mode extensions for Emacs" single ((:commit . "2a5f07417b696cf7541d435c43bafcc64817636b") (:keywords "outlines") (:authors ("Carsten Dominik" . "dominik@science.uva.nl")) (:maintainer "Thorsten Jolitz "))]) -(other-emacs-eval . [(20180408 1348) ((emacs (25 1)) (async (1 9 2))) "Evaluate the Emacs Lisp expression in other Emacs" single ((:commit . "8ace5acafef65daabf0c6619eff60733d7f5d792") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/other-emacs-eval"))]) -(otama . [(20160404 1032) nil "Org-table Manipulator" single ((:commit . "c114fd8006762f891bc120a7c0ea213872e7ab31") (:keywords "database" "org-mode") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))]) -(osx-trash . [(20160520 1300) ((emacs (24 1))) "System trash for OS X" tar ((:commit . "0f1dc052d0a750b8c75f14530a4897f5d4324b4e") (:keywords "files" "convenience" "tools" "unix") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/osx-trash.el"))]) -(osx-pseudo-daemon . [(20170722 607) nil "Daemon mode that plays nice with OSX." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) -(osx-org-clock-menubar . [(20150205 2111) nil "simple menubar integration for org-clock" tar ((:commit . "9964d2a97cc2fb6570dc4116da44f73bd8eb7cb3") (:keywords "org" "osx") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:url . "https://github.com/jordonbiondo/osx-org-clock-menubar"))]) -(osx-location . [(20150613 917) nil "Watch and respond to changes in geographical location on OS X" tar ((:commit . "8bb3a94cc9f04b922d2d730fe08596cc6ee12bf2"))]) -(osx-lib . [(20191121 1440) ((emacs (24 4))) "Basic function for Apple/OSX." single ((:commit . "01cba80ccc20412759f87b8f7531580bb04ec9c1") (:keywords "apple" "applescript" "osx" "finder" "emacs" "elisp" "vpn" "speech") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org") (:url . "https://github.com/raghavgautam/osx-lib"))]) -(osx-dictionary . [(20171026 734) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "b16630ecf69f87ac873486d8b9c8c03e6c9ea7fa") (:keywords "mac" "dictionary") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))]) -(osx-clipboard . [(20141012 717) nil "Use the OS X clipboard from terminal Emacs" single ((:commit . "e46dd31327a3f92f77b013b4c9b1e5fdd0e5c73d") (:authors ("Jon Oddie ")) (:maintainer "Jon Oddie ") (:url . "https://github.com/joddie/osx-clipboard-mode"))]) -(osx-browse . [(20140508 2041) ((string-utils (0 3 2)) (browse-url-dwim (0 6 6))) "Web browsing helpers for OS X" single ((:commit . "44ded7cc3a7ee426c1c3257fae534c121f7e752e") (:keywords "hypermedia" "external") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/osx-browse"))]) -(origami . [(20180101 1553) ((s (1 9 0)) (dash (2 5 0)) (emacs (24)) (cl-lib (0 5))) "Flexible text folding" tar ((:commit . "1f38085c8f9af7842765ed63f7d6dfe4dab59366") (:keywords "folding") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/origami.el"))]) -(orgtbl-show-header . [(20141023 837) nil "Show the header of the current column in the minibuffer" single ((:commit . "112d54a44682f065318ed0c9c89a8f5b8907342a") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com"))]) -(orgtbl-join . [(20150121 2246) ((cl-lib (0 5))) "join columns from another table" tar ((:commit . "ccf5e0d96e053dc289da39a048715fcf36835ff2") (:keywords "org" "table" "join" "filtering") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) -(orgtbl-ascii-plot . [(20151215 2151) nil "ascii-art bar plots in org-mode tables" single ((:commit . "cd91f6ae26a7402e192a1f4fd6248f5797edf19e") (:keywords "org" "table" "ascii" "plot") (:authors ("Thierry Banel tbanelwebmin at free dot fr") ("Michael Brand")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) -(orgtbl-aggregate . [(20190812 604) nil "Create an aggregated Org table from another one" tar ((:commit . "1a13f7f70357f369e16bfa3038a9fb760cbffb46") (:keywords "org" "table" "aggregation" "filtering"))]) -(orgnav . [(20170608 1713) ((helm (2 7 0)) (s (1 11 0)) (dash (1 11 0)) (emacs (24))) "Org tree navigation using helm" tar ((:commit . "9e2cac9c1a67af5f0080e60022e821bf7b70312d") (:keywords "convenience" "outlines") (:authors ("Facet Framer" . "facet@facetframer.com")) (:maintainer "Facet Framer" . "facet@facetframer.com") (:url . "http://github.com/facetframer/orgnav"))]) -(orglue . [(20171220 1226) ((org (8 1)) (epic (0 2))) "more functionality to org-mode." tar ((:commit . "ae2a45c19b52e45db7891093a3ff17ba2e51c507") (:keywords "org") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))]) -(orglink . [(20190919 1859) ((emacs (24 3)) (dash (2 12 1)) (org (9 3))) "use Org Mode links in other modes" single ((:commit . "988ad54db45708b0fe835829d512eb6d5f6cf161") (:keywords "hypertext") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/orglink"))]) -(orgit . [(20191105 2246) ((emacs (25 1)) (dash (2 14 1)) (magit (2 90 0)) (org (9 3))) "support for Org links to Magit buffers" single ((:commit . "158438c540ab80f515c669ad42c8dab67f193d77") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/orgit"))]) -(orgbox . [(20180827 218) ((org (8 0)) (cl-lib (0 5))) "Mailbox-like task scheduling Org." single ((:commit . "3982f56efd67ec016389cad82ce5a44f619b36a9") (:keywords "org") (:authors ("Yasuhito Takamiya" . "yasuhito@gmail.com")) (:maintainer "Yasuhito Takamiya" . "yasuhito@gmail.com") (:url . "https://github.com/yasuhito/orgbox"))]) -(organize-imports-java . [(20190922 1520) ((emacs (24)) (f (0 20 0)) (s (1 12 0)) (cl-lib (0 6))) "Automatically organize imports in Java code." single ((:commit . "de094d6d56c85aa9820c77055b54287ae6b46d20") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/organize-imports-java"))]) -(organic-green-theme . [(20191125 1630) nil "Low-contrast green color theme." single ((:commit . "15746df5f3af5ee308cd4f546ef229eef2d825ac"))]) -(org2web . [(20171005 2317) ((cl-lib (1 0)) (ht (1 5)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0)) (el2org (0 10)) (simple-httpd (0 1))) "A static site generator based on org mode." tar ((:commit . "5243b399927a4c474bb3b8d1c8a00799df1f27d7"))]) -(org2jekyll . [(20170225 915) ((dash-functional (2 11 0)) (s (1 9 0)) (deferred (0 3 1)) (kv (0 0 19))) "Minor mode to publish org-mode post to jekyll without specific yaml" tar ((:commit . "52a19a5d372116262b9d613f4ec8490a3b49e329") (:keywords "org-mode" "jekyll" "blog" "publish") (:authors ("Antoine R. Dumont ")) (:maintainer "Antoine R. Dumont ") (:url . "https://github.com/ardumont/org2jekyll"))]) -(org2issue . [(20190531 941) ((org (8 0)) (emacs (24 4)) (ox-gfm (0 1)) (gh (0 1)) (s (20160405 920))) "export org to github issue" single ((:commit . "910b98c858762fd14b11d261626c5e979dde0833") (:keywords "convenience" "github" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org2issue"))]) -(org2elcomment . [(20170324 945) ((org (8 3 4))) "Convert Org file to Elisp comments" single ((:commit . "c88a75d9587c484ead18f7adf08592b09c1cceb0") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) -(org2ctex . [(20191024 610) ((emacs (24 4))) "Export org to ctex (a latex macro for Chinese)" single ((:commit . "d4af170f5190dad3aa31ab1cf4c6f087d56ab111") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org2ctex"))]) -(org2blog . [(20191102 28) ((htmlize (1 54)) (hydra (0 15 0)) (xml-rpc (1 6 12)) (metaweblog (1 1 1))) "Blog from Org mode to WordPress" tar ((:commit . "58398120907504ff200adfd9b817f297142c9680") (:homepage . "https://github.com/org2blog/org2blog") (:keywords "comm" "convenience" "outlines" "wp") (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")))]) -(org-wunderlist . [(20150818 213) ((request-deferred (0 2 0)) (alert (1 1)) (emacs (24)) (cl-lib (0 5)) (org (8 2 4)) (s (1 9 0))) "Org sync with Wunderlist" single ((:commit . "f7f1ca73661356b9fa072efd73431592ff1182e1") (:keywords "convenience") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-wunderlist.el"))]) -(org-working-set . [(20191117 1948) ((emacs (25 1))) "Manage a working-set of org-nodes" single ((:commit . "ee4cec8bea3cc8fd8456108fc3c5e53a62b5553c") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-working-set"))]) -(org-wild-notifier . [(20191114 1632) ((alert (1 2)) (async (1 9 3)) (dash (2 13 0)) (dash-functional (1 2 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "713c5205869dde4d42127fd9365f5831ec222503") (:keywords "notification" "alert" "org" "org-agenda" "agenda") (:authors ("Artem Khramov" . "futu.fata@gmail.com")) (:maintainer "Artem Khramov" . "futu.fata@gmail.com") (:url . "https://github.com/akhramov/org-wild-notifier.el"))]) -(org-web-tools . [(20191022 337) ((emacs (25 1)) (org (9 0)) (dash (2 12)) (esxml (0 3 4)) (s (1 10 0)) (request (0 3 0))) "Display and capture web content with Org-mode" tar ((:commit . "3f528c0d2cf6eeb5f0a672d1ed719b7476472136") (:keywords "hypermedia" "outlines" "org" "web") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-web-tools"))]) -(org-wc . [(20180610 253) nil "Count words in org mode trees." single ((:commit . "0716c1e8276f6953e139e357e97566e792c8be19") (:authors ("Simon Guest")) (:maintainer "Simon Guest"))]) -(org-vcard . [(20191130 703) nil "org-mode support for vCard export and import." tar ((:commit . "4f5d71225e946999f45ac9f96996705fee83df5a") (:keywords "outlines" "org" "vcard") (:authors ("Alexis" . "flexibeast@gmail.com") ("Will Dey" . "will123dey@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/org-vcard"))]) -(org-variable-pitch . [(20190914 2046) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "5f3e67448cc98fe2875115163849acae4d9e8526") (:keywords "faces") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://dev.gkayaalp.com/elisp/index.html#ovp"))]) -(org-trello . [(20190304 900) ((request-deferred (0 2 0)) (deferred (0 4 0)) (s (1 11 0)) (dash-functional (2 12 1)) (dash (2 12 1))) "Minor mode to synchronize org-mode buffer and trello board" tar ((:commit . "94539558343ff109030e20ebba6a282af41a5eb9"))]) -(org-tree-slide . [(20190729 1550) nil "A presentation tool for org-mode" single ((:commit . "036a36eec1cf712d3db155572aed325daa372eb5") (:keywords "convenience" "org-mode" "presentation" "narrowing") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:url . "https://github.com/takaxp/org-tree-slide"))]) -(org-transform-tree-table . [(20150110 1433) ((dash (2 10 0)) (s (1 3 0))) "Transform org-mode tree with properties to a table, and the other way around" single ((:commit . "0a9bf07f01bc5fc3b349aff64e83999a8de83b52") (:keywords "org-mode" "table" "org-table" "tree" "csv" "convert") (:authors (nil . "Johan Lindstrom ")) (:maintainer nil . "Johan Lindstrom ") (:url . "https://github.com/jplindstrom/emacs-org-transform-tree-table"))]) -(org-tracktable . [(20161118 1329) ((emacs (24)) (cl-lib (0 5))) "Track your writing progress in an org-table" single ((:commit . "8e0e60a582a034bd66d5efb72d513140b7d4d90a") (:keywords "org" "writing") (:authors ("tty-tourist" . "andreasrasholm@protonmail.com")) (:maintainer "tty-tourist" . "andreasrasholm@protonmail.com") (:url . "https://github.com/tty-tourist/org-tracktable"))]) -(org-toodledo . [(20150301 1113) ((request-deferred (0 2 0)) (emacs (24)) (cl-lib (0 5))) "Toodledo integration for Emacs Org mode" tar ((:commit . "2c91a92bd07ae4a546771b018a6faa0e06399968") (:keywords "outlines" "data") (:authors ("Christopher J. White" . "emacs@grierwhite.com")) (:maintainer "Christopher J. White" . "emacs@grierwhite.com"))]) -(org-timeline . [(20190612 1759) ((dash (2 13 0)) (emacs (24 3))) "Add graphical view of agenda to agenda buffer." single ((:commit . "f628519a12ce3d534b9aa5043b0273880cf29790") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-timeline/"))]) -(org-time-budgets . [(20151111 801) ((alert (0 5 10)) (cl-lib (0 5))) "Define time budgets and display clocked time." single ((:commit . "baa1ce6333157fed3b3799a80e6cf8c73c9e2c18") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com"))]) -(org-themis . [(20160122 404) ((cl-lib (0 4))) "Experimental project management mode for org-mode" single ((:commit . "78aadbbe22b1993be5c4accd0d3f91a4e85c9a3c") (:keywords "org-mode" "elisp" "project") (:maintainer "Zachary Elliott" . "contact@zell.io") (:url . "http://github.com/zellio/org-themis"))]) -(org-tfl . [(20170923 1218) ((org (0 16 2)) (cl-lib (0 5)) (emacs (24 1))) "Transport for London meets Orgmode" tar ((:commit . "f0d7d39106a1de5457f5160cddd98ab892b61066") (:keywords "org" "tfl") (:authors ("storax (David Zuber), ")) (:maintainer "storax (David Zuber), ") (:url . "https://github.com/storax/org-tfl"))]) -(org-tanglesync . [(20190926 1345) ((emacs (24 4))) "Syncing org src blocks with tangled external files" single ((:commit . "d99181f173b4e55b4e835d99fcd415e62beb047f") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/org-tanglesync.el"))]) -(org-table-sticky-header . [(20190924 506) ((org (8 2 10)) (emacs (24 4))) "Sticky header for org-mode tables" single ((:commit . "b65442857128ab04724aaa301e60aa874a31a798") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) -(org-table-comment . [(20120209 1851) nil "Org table comment modes." single ((:commit . "33b9966c33ecbc3e27cca67c2f2cdea04364d74e") (:keywords "org-mode" "orgtbl") (:authors ("Matthew L. Fidler ")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/org-table-comment.el"))]) -(org-sync-snippets . [(20190318 1744) ((org (8 3 5)) (emacs (24 3)) (f (0 17 3))) "Export snippets to org-mode and vice versa" single ((:commit . "50cefe5a37196ed1af3d330d6871c3b37fa90d41") (:keywords "snippet" "org-mode" "yasnippet" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/org-sync-snippets"))]) -(org-sync . [(20181204 23) ((cl-lib (0 5)) (org (8 2)) (emacs (24))) "Synchronize Org documents with External Issue Trackers" tar ((:commit . "e34a385fa9e658c8341a0a6e6bc3472d4d536bb8") (:keywords "org" "synchronization" "issue tracking" "github" "redmine") (:authors ("Aurelien Aptel ")) (:maintainer "Andrei Beliankou" . "arbox@yandex.ru") (:url . "https://github.com/arbox/org-sync"))]) -(org-super-agenda . [(20191130 2245) ((emacs (26 1)) (s (1 10 0)) (dash (2 13)) (org (9 0)) (ht (2 2)) (ts (0 2))) "Supercharge your agenda" tar ((:commit . "75a664e3fea18af3470a70d3109078b9cdda16e5") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-super-agenda"))]) -(org-sticky-header . [(20191117 549) ((emacs (24 4)) (org (8 3 5))) "Show off-screen Org heading at top of window" single ((:commit . "1053ebdeb3bd14fc8d4538643532efb86d18b73c") (:keywords "hypermedia" "outlines" "org") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-sticky-header"))]) -(org-static-blog . [(20191107 805) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "6381b933853878eb0eac9404d9596ea59c5b1a1e") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))]) -(org-starter-swiper . [(20190929 646) ((emacs (25 1)) (swiper (0 11)) (org-starter (0 2 4))) "Swiper for org-starter" single ((:commit . "177eb7ad01e864446826dbdbef8b775180baf8b2") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) -(org-starter . [(20191130 422) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "A basic configuration framework for org mode" tar ((:commit . "177eb7ad01e864446826dbdbef8b775180baf8b2") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) -(org-sql . [(20190621 2111) ((emacs (25)) (dash (2 15))) "Org-Mode SQL converter" single ((:commit . "e1bcfd7d648ce60bc2dd24b6e2144199af03563a") (:keywords "org-mode" "data") (:authors ("Nathan Dwarshuis" . "natedwarshuis@gmail.com")) (:maintainer "Nathan Dwarshuis" . "natedwarshuis@gmail.com") (:url . "https://github.com/ndwarshuis/org-sql"))]) -(org-snooze . [(20181229 1424) ((emacs (24 4))) "Snooze your code, doc and feed" single ((:commit . "8799adc14a20f3489063d279ff69312de3180bf9") (:keywords "extensions") (:authors ("Bill Xue")) (:maintainer "Bill Xue") (:url . "https://github.com/xueeinstein/org-snooze.el"))]) -(org-sidebar . [(20191012 514) ((emacs (26 1)) (s (1 10 0)) (dash (2 13)) (dash-functional (1 2 0)) (org (9 0)) (org-ql (0 2)) (org-super-agenda (1 0))) "Helpful sidebar for Org buffers" single ((:commit . "b5eff7195718e6a70a42d36e48800632080aab0c") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-sidebar"))]) -(org-shoplist . [(20190809 2156) ((emacs (25))) "Eat the world" single ((:commit . "9591a4747eb2e5cab53203a120f9b854c75e629b") (:keywords "extensions" "matching") (:authors ("lordnik22")) (:maintainer "lordnik22") (:url . "https://github.com/lordnik22"))]) -(org-send-ebook . [(20181016 800) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "b4913a709f9206115c3e3ea73e217029cc0fb3de") (:keywords "org" "link" "ebook" "kindle" "epub" "mobi") (:url . "https://github.com/stardiviner/org-send-ebook"))]) -(org-seek . [(20161217 502) ((emacs (24 3)) (ag (0 48))) "Searching Org-mode files with search tools." single ((:commit . "1f51e6634e3b9a6a29d335d0d14370a6ffef2265") (:keywords "org" "search" "ag" "pt") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/org-seek.el"))]) -(org-rtm . [(20160214 1236) ((rtm (0 1))) "Simple import/export from rememberthemilk to org-mode" single ((:commit . "adc42ad1fbe92ab447ccc9553780f4456f2508d2") (:keywords "outlines" "data") (:authors ("Philipp Middendorf" . "pmidden@secure.mailbox.org")) (:maintainer "Philipp Middendorf" . "pmidden@secure.mailbox.org") (:url . "https://github.com/pmiddend/org-rtm"))]) -(org-rich-yank . [(20181120 1354) ((emacs (24 4))) "paste with org-mode markup and link to source" single ((:commit . "d2f350c5296cf05d6c84b02762ba44f09a02b4e3") (:keywords "convenience" "hypermedia" "org") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-rich-yank"))]) -(org-review . [(20160907 537) nil "schedule reviews for Org entries" single ((:commit . "058e75b7f28d2ad2390290fe17a63d98ef5ab763") (:keywords "org" "review") (:authors ("Alan Schmitt" . "alan.schmitt@polytechnique.org")) (:maintainer "Alan Schmitt" . "alan.schmitt@polytechnique.org") (:url . "https://github.com/brabalan/org-review"))]) -(org-reverse-datetree . [(20190914 102) ((emacs (26 1)) (dash (2 12))) "Create reverse date trees in org-mode" single ((:commit . "7668fb561320bf01e73d98795eb6ad69f1e933ac") (:keywords "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-reverse-datetree"))]) -(org-repo-todo . [(20171228 119) nil "Simple repository todo management with org-mode" single ((:commit . "f73ebd91399c5760ad52c6ad9033de1066042003") (:keywords "convenience") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/org-repo-todo"))]) -(org-ref . [(20191125 1408) ((dash (2 11 0)) (htmlize (1 51)) (helm (1 5 5)) (helm-bibtex (2 0 0)) (ivy (0 8 0)) (hydra (0 13 2)) (key-chord (0)) (s (1 10 0)) (f (0 18 0)) (emacs (24 4)) (pdf-tools (0 7))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "e64d5b15c1667bcff817940191a45c5ff074a6fb") (:keywords "org-mode" "cite" "ref" "label") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:url . "https://github.com/jkitchin/org-ref"))]) -(org-redmine . [(20160711 1114) nil "Redmine tools using Emacs OrgMode" single ((:commit . "e77d013bc3784947c46a5c53f03cd7d3c68552fc") (:keywords "redmine" "org") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/org-redmine"))]) -(org-recur . [(20190719 846) ((emacs (24)) (org (9 0))) "Recurring org-mode tasks." single ((:commit . "23c3c3a85d9042dc09ed6147b274f4043cfa50f7") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:url . "https://github.com/m-cat/org-recur"))]) -(org-recent-headings . [(20190909 1618) ((emacs (26 1)) (org (9 0 5)) (dash (2 13 0)) (dash-functional (1 2 0)) (frecency (0 1)) (s (1 12 0))) "Jump to recently used Org headings" single ((:commit . "6430700dbe2ba34d852b36d56b3a879d71dabc9a") (:keywords "hypermedia" "outlines" "org") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-recent-headings"))]) -(org-readme . [(20151204 1217) ((http-post-simple (1 0)) (yaoddmuse (0 1 1)) (header2 (21 0)) (lib-requires (21 0)) (cl-lib (0 5))) "Integrates Readme.org and Commentary/Change-logs." tar ((:commit . "4cb9f768d282a2835b4510b6504ff9ede487007d") (:keywords "header2" "readme.org" "emacswiki" "git") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/org-readme"))]) -(org-re-reveal-ref . [(20191022 1426) ((emacs (24 4)) (org-ref (1 1 1)) (org-re-reveal (0 9 3))) "Citations and bibliography for org-re-reveal" tar ((:commit . "1f56a1fc9a52f3815bb2115ebeca3c355688d722") (:keywords "hypermedia" "tools" "slideshow" "presentation" "bibliography") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:url . "https://gitlab.com/oer/org-re-reveal-ref"))]) -(org-re-reveal . [(20191128 722) ((emacs (24 4)) (org (8 3)) (htmlize (1 34))) "Org export to reveal.js presentations" tar ((:commit . "27080126761c52f72d938583d01dbf54b98fda66") (:keywords "tools" "outlines" "hypermedia" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/org-re-reveal"))]) -(org-randomnote . [(20190403 1633) ((f (0 19 0)) (dash (2 12 0)) (org (0))) "Find a random note in your Org-Mode files" single ((:commit . "f35a9d948751ad409aa057bfb68f1d008fdf9442") (:authors ("Michael Fogleman" . "michaelwfogleman@gmail.com")) (:maintainer "Michael Fogleman" . "michaelwfogleman@gmail.com") (:url . "http://github.com/mwfogleman/org-randomnote"))]) -(org-random-todo . [(20190214 2057) ((emacs (24 3)) (alert (1 3))) "show a random TODO (with alert) every so often" single ((:commit . "4f7677af740e8f3f7cfaf630ae2e594a125af760") (:keywords "org" "todo" "notification" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-random-todo"))]) -(org-radiobutton . [(20180612 1028) ((dash (2 13 0)) (emacs (24))) "Radiobutton for org-mode lists." single ((:commit . "4182aafbe5ae1bdfb0b07efa435bdba8bbd7199d") (:keywords "outlines") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-radiobutton"))]) -(org-ql . [(20191130 308) ((emacs (26 1)) (dash (2 13)) (dash-functional (1 2 0)) (f (0 17 2)) (org (9 0)) (org-super-agenda (1 2 -1)) (ov (1 0 6)) (peg (0 6)) (s (1 12 0)) (ts (0 2 -1))) "Org Query Language, search command, and agenda-like view" tar ((:commit . "d7fe019d6ac212da50916f51f642fdf3de24d2d8") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-ql"))]) -(org-protocol-jekyll . [(20170328 1639) ((cl-lib (0 5))) "Jekyll's handler for org-protocol" single ((:commit . "dec064a42d6dfe81dfde7ba59ece5ca103ac6334") (:authors ("Vladimir S. Ivanov" . "ivvl82@gmail.com")) (:maintainer "Vladimir S. Ivanov" . "ivvl82@gmail.com"))]) -(org-projectile-helm . [(20180601 1822) ((org-projectile (1 0 0)) (helm (2 3 1)) (emacs (25))) "helm functions for org-projectile" single ((:commit . "de37d0094791ab1146276904f3a37eba699e0b60") (:keywords "org" "projectile" "todo" "helm" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))]) -(org-projectile . [(20190130 1439) ((projectile (0 11 0)) (dash (2 10 0)) (emacs (24)) (s (1 9 0)) (org-category-capture (0 0 0))) "Repository todo management for org-mode" single ((:commit . "de37d0094791ab1146276904f3a37eba699e0b60") (:keywords "org-mode" "projectile" "todo" "tools" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))]) -(org-preview-html . [(20180625 619) ((org (8 0)) (emacs (24 4))) "automatically use eww to preview the current org file on save" single ((:commit . "8ba7ecd7ac624f33b3e2395f477bbff4f1ec4efe") (:keywords "convenience" "eww" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org-preview-html"))]) -(org-pretty-tags . [(20191120 1343) ((emacs (25))) "Surrogates for tags" single ((:commit . "549fa6969660dcf0cf9bca5b7341d0cb48ec3b77") (:keywords "reading" "outlines") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/org-pretty-tags"))]) -(org-present-remote . [(20181001 2141) ((org-present (9)) (elnode (0 9)) (emacs (24))) "A web-based remote control for org-present" single ((:commit . "d0f96dd57c152e7aa311ecbe03e7be287fd5979f") (:keywords "comm" "docs") (:authors ("Duncan Bayne" . "duncan@bayne.id.au")) (:maintainer "Duncan Bayne" . "duncan@bayne.id.au") (:url . "https://gitlab.com/duncan-bayne/org-present-remote"))]) -(org-present . [(20180303 2330) ((org (7))) "Minimalist presentation minor-mode for Emacs org-mode." single ((:commit . "d13acd70eff6a1608bc991920232146a0de76b21") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "https://github.com/rlister/org-present"))]) -(org-pomodoro . [(20190530 1445) ((alert (0 5 10)) (cl-lib (0 5))) "Pomodoro implementation for org-mode." tar ((:commit . "aa07c11318f91219336197e62c47bc7a3d090479") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "https://github.com/lolownia/org-pomodoro"))]) -(org-pivotal . [(20191116 530) ((a (0 1 1)) (dash (2 14 1)) (dash-functional (1 2 0)) (emacs (26 1)) (request (0 3 0))) "Sync Pivotal Tracker to org buffer" tar ((:commit . "fc6929de03785ca3e9bb3ba21038c3a262594a7f") (:authors ("Huy Duong" . "qhuyduong@hotmail.com")) (:maintainer "Huy Duong" . "qhuyduong@hotmail.com") (:url . "https://github.com/org-pivotal/org-pivotal"))]) -(org-picklink . [(20190902 654) ((emacs (24 4))) "Pick a headline link from org-agenda" single ((:commit . "e8c95e188b60ff84d794cbedbcce6732ccb82e4f") (:keywords "convenience") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org-picklink"))]) -(org-pdfview . [(20180225 1006) ((org (8 2 10)) (pdf-tools (0 80))) "Support for links to documents in pdfview mode" single ((:commit . "8b71f313634b95a1fac42fc701934fd796565f3b") (:keywords "org" "pdf-view" "pdf-tools") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com"))]) -(org-password-manager . [(20180227 1810) ((org (8 2 10)) (s (1 9 0)) (dash (2 13 0))) "Password manager for Org Mode." single ((:commit . "4b30a36e71182553a02e4dd415369290d98ec03a") (:keywords "password") (:authors ("Leandro Facchinetti" . "me@leafac.com")) (:maintainer "Leandro Facchinetti" . "me@leafac.com") (:url . "https://git.leafac.com/org-password-manager"))]) -(org-parser . [(20190207 521) ((emacs (25 1)) (dash (2 12 0)) (ht (2 1))) "parse org files into structured datatypes." single ((:commit . "8610aef8dc878fc001975780bcbcbab30dc929b7") (:keywords "files" "outlines" "tools") (:url . "https://bitbucket.org/zck/org-parser.el"))]) -(org-page . [(20170807 224) ((ht (1 5)) (simple-httpd (1 4 6)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0)) (cl-lib (0 5)) (git (0 1 1))) "a static site generator based on org mode" tar ((:commit . "d0e55416174a60d3305e97ca193b333f4cccba4f"))]) -(org-outlook . [(20160705 1338) nil "Outlook org" tar ((:commit . "ec32d8d9d8ffd17e6de4de0b52fc3f5ad9b4cc0d") (:keywords "org-outlook") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/org-outlook.el"))]) -(org-outline-numbering . [(20180705 1501) ((emacs (24)) (org (8 3)) (cl-lib (0 6)) (ov (1 0 6))) "Show outline numbering as overlays in org-mode" single ((:commit . "22014917dd7e751c46fa13e1e836c2d0265ce82f") (:keywords "wp" "convenience") (:authors ("Anders Johansson")) (:maintainer "Anders Johansson") (:url . "https://gitlab.com/andersjohansson/org-outline-numbering"))]) -(org-onenote . [(20171008 500) ((oauth2 (0 11)) (request (0 2 0)) (org (8 2 10))) "export org-mode document to onenote." single ((:commit . "5ce5cf4edb143180e0b185ac26826d39ae5bc929") (:keywords "tools" "docs" "org-mode" "onenote") (:authors ("Frei Zhang" . "ifree0@gmail.com")) (:maintainer "Frei Zhang" . "ifree0@gmail.com") (:url . "https://github.com/ifree/org-onenote"))]) -(org-octopress . [(20170821 415) ((org (9 0)) (orglue (0 1)) (ctable (0 1 1))) "Compose octopress articles using org-mode." tar ((:commit . "38598ef98d04076a8eb78d549907ddfde8d3a652") (:keywords "org" "jekyll" "octopress" "blog") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))]) -(org-noter . [(20191020 1212) ((emacs (24 4)) (cl-lib (0 6)) (org (9 0))) "A synchronized, Org-mode, document annotator" single ((:commit . "9ead81d42dd4dd5074782d239b2efddf9b8b7b3d") (:keywords "lisp" "pdf" "interleave" "annotate" "external" "sync" "notes" "documents" "org-mode") (:authors (nil . "Gonçalo Santos (aka. weirdNox@GitHub)")) (:maintainer nil . "Gonçalo Santos (aka. weirdNox@GitHub)") (:url . "https://github.com/weirdNox/org-noter"))]) -(org-notebook . [(20170322 452) ((emacs (24)) (org (8)) (cl-lib (0 5))) "Ease the use of org-mode as a notebook" single ((:commit . "86042d866bf441e2c9bb51f995e5994141b78517") (:keywords "convenience" "tools") (:authors ("Paul Elder" . "paul.elder@amanokami.net")) (:maintainer "Paul Elder" . "paul.elder@amanokami.net"))]) -(org-multiple-keymap . [(20150329 106) ((org (8 2 4)) (emacs (24)) (cl-lib (0 5))) "Set keymap to elements, such as timestamp and priority." single ((:commit . "8ebc532df7f0dd6e6c3aa7c380a51d4166c668e8") (:keywords "convenience" "org-mode") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-multiple-keymap.el"))]) -(org-msg . [(20191105 2244) ((emacs (24 4)) (htmlize (1 54))) "Org mode to send and reply to email in HTML." single ((:commit . "02192449bf4edb99775607a0151ab7e2c50becdc") (:keywords "extensions" "mail") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:url . "https://github.com/jeremy-compostella/org-msg"))]) -(org-mru-clock . [(20191121 840) ((emacs (24 3))) "clock in/out of tasks with completion and persistent history" single ((:commit . "1ec07f8ce60b3eca281072e51f88065469450ab1") (:keywords "convenience" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-mru-clock"))]) -(org-mobile-sync . [(20180606 524) ((emacs (24 3 50)) (org (8 0))) "automatically sync org-mobile on changes" single ((:commit . "06764b943a528827df1e2acc6bc7806cc2c1351f") (:keywords "org-mode" "org" "mobile" "sync" "todo") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/org-mobile-sync"))]) -(org-mind-map . [(20180826 2340) ((emacs (24)) (dash (1 8 0)) (org (8 2 10))) "Creates a directed graph from org-mode files" single ((:commit . "95347b2f9291f5c5eb6ebac8e726c03634c61de3") (:keywords "orgmode" "extensions" "graphviz" "dot") (:authors ("Ted Wiles" . "theodore.wiles@gmail.com")) (:maintainer "Ted Wiles" . "theodore.wiles@gmail.com") (:url . "https://github.com/theodorewiles/org-mind-map"))]) -(org-mime . [(20191106 1140) ((emacs (24 4)) (cl-lib (0 5))) "org html export for text/html MIME emails" single ((:commit . "dd9dac74cc05cd8439d59580ec9c7d9749359b54") (:keywords "mime" "mail" "email" "html") (:authors ("Eric Schulte")) (:maintainer "Chen Bin (redguardtoo)") (:url . "http://github.com/org-mime/org-mime"))]) -(org-make-toc . [(20191014 2307) ((emacs (25 1)) (dash (2 12)) (s (1 10 0)) (org (9 0))) "Automatic tables of contents for Org files" single ((:commit . "d2f61e3c7e995adf0954cd85139842e57d744eb4") (:keywords "org" "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-make-toc"))]) -(org-lookup-dnd . [(20190622 2224) ((emacs (24 4)) (org-pdfview (0 1))) "Reference the index of a D&D handbook pdf" single ((:commit . "af09bdf2c83499be9f7c271bb3c0cc3c46ed95f4") (:authors ("Malte Lau Petersen" . "maltelau@protonmail.com")) (:maintainer "Malte Lau Petersen" . "maltelau@protonmail.com") (:url . "https://gitlab.com/maltelau/org-lookup-dnd"))]) -(org-listcruncher . [(20180815 603) ((cl-lib (0 5)) (seq (2 3)) (emacs (24 4))) "Parse Org mode list contents into table" single ((:commit . "65c09c5deba065752eb88875c54dc26abcdfaffb") (:keywords "convenience") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:url . "https://github.com/dfeich/org-listcruncher"))]) -(org-linkany . [(20160207 411) ((log4e (0 2 0)) (yaxception (0 1))) "Insert link using anything.el/helm.el on org-mode" single ((:commit . "8cfe2f1a46e6654a79f56505349d1396263cecb3") (:keywords "org" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-linkany"))]) -(org-link-travis . [(20140405 2327) ((org (7))) "Insert/Export the link of Travis CI on org-mode" single ((:commit . "596615ad8373d9090bd4138da683524f0ad0bda5") (:keywords "org") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-link-travis"))]) -(org-link-minor-mode . [(20170805 1852) ((org (8))) "Enable org-mode links in non-org modes" single ((:commit . "7b92df60f3fee7f609d649d80ef243b45771ebea") (:authors ("Sean O'Halpin ")) (:maintainer "Sean O'Halpin ") (:url . "https://github.com/seanohalpin/org-link-minor-mode"))]) -(org-kindle . [(20190315 439) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "612a2894bbbff8a6cf54709d591fee86005755de") (:keywords "org" "link" "ebook" "kindle" "epub" "mobi") (:url . "https://github.com/stardiviner/org-kindle"))]) -(org-kanban . [(20191003 1455) ((s (0)) (dash (2 13 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "3007d636f0c7b69d767d7adcca4ab462708f9610") (:keywords "org-mode" "org" "kanban" "tools") (:authors ("Christian Köstlin" . "christian.koestlin@gmail.com")) (:maintainer "Christian Köstlin" . "christian.koestlin@gmail.com") (:url . "http://github.com/gizmomogwai/org-kanban"))]) -(org-journal-list . [(20190221 2052) ((emacs (25))) "Org mode Journal List" single ((:commit . "2b26d00181bb49bff64b31ad020490acd1b6ae02") (:authors ("Huy Tran" . "huytd189@gmail.com")) (:maintainer "Huy Tran" . "huytd189@gmail.com") (:url . "https://github.com/huytd/org-journal-list"))]) -(org-journal . [(20191102 1031) ((emacs (25 1))) "a simple org-mode based journaling mode" single ((:commit . "b4909dece7def25ab672f735818d57576b2e4bbf") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "http://github.com/bastibe/org-journal"))]) -(org-jira . [(20190930 1406) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "5123c29867e5da54d80e92f9a5a4259144451404") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/org-jira"))]) -(org-iv . [(20171001 1022) ((impatient-mode (1 0 0)) (org (8 0)) (cl-lib (0 5))) "a tool used to view html (in browser) generated by org-file once the org-file changes" tar ((:commit . "7f2bb1b32647655fd9d6684f6f09dcc66b61b0cd"))]) -(org-index . [(20190920 356) ((emacs (24 4))) "A personal adaptive index for org" single ((:commit . "aba9b1ea49e83c541c544e4030fcc2e0a55c908b") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-index"))]) -(org-if . [(20150920 1513) nil "Interactive Fiction Authoring System for Org-Mode." tar ((:commit . "fab602cc1bbee7a4e99c0083e129219d3f9ed2e8"))]) -(org-grep . [(20151202 1229) ((cl-lib (0 5))) "Kind of M-x rgrep adapted for Org mode." single ((:commit . "5bdd04c0f53b8a3d656f36ea17bba3df7f0cb684") (:authors ("François Pinard" . "pinard@iro.umontreal.ca")) (:maintainer "François Pinard" . "pinard@iro.umontreal.ca") (:url . "https://github.com/pinard/org-grep"))]) -(org-gnome . [(20150614 1457) ((alert (1 2)) (telepathy (0 1)) (gnome-calendar (0 1))) "Orgmode integration with the GNOME desktop" single ((:commit . "122e14cf6f8104150a65246a9a7c10e1d7939862") (:keywords "org" "gnome") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) -(org-gcal . [(20191018 921) ((request (20190901)) (request-deferred (20181129)) (alert (0)) (emacs (26))) "Org sync with Google Calendar" single ((:commit . "6821e349673e9ba8d7ae7b84789f931889273dc0") (:keywords "convenience") (:authors ("myuhe ")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "https://github.com/kidd/org-gcal.el"))]) -(org-fancy-priorities . [(20180328 2331) nil "Display org priorities as custom strings" single ((:commit . "819bb993b71e7253cefef7047306ab4e0f9d0a86") (:keywords "convenience" "faces" "outlines") (:authors ("Harry Bournis" . "harrybournis@gmail.com")) (:maintainer "Harry Bournis" . "harrybournis@gmail.com") (:url . "https://github.com/harrybournis/org-fancy-priorities"))]) -(org-evil . [(20180620 1517) ((dash (2 13 0)) (evil (0)) (monitor (0)) (org (0))) "Evil extensions for Org." tar ((:commit . "3b4620edc606412ef75c0b5aa637af22486eb126") (:keywords "convenience" "evil" "org") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:url . "https://github.com/guiltydolphin/org-evil"))]) -(org-emms . [(20181010 1114) ((emacs (24))) "Play multimedia files from org-mode" single ((:commit . "07a8917f3d628c32e5de1dbd118ac08203772533") (:keywords "multimedia") (:authors ("Jonathan Gregory ")) (:maintainer "Jonathan Gregory ") (:url . "https://gitlab.com/jagrg/org-emms"))]) -(org-elisp-help . [(20161122 55) ((cl-lib (0 5)) (org (9 0))) "org links to emacs-lisp documentation" single ((:commit . "3e33ab1a2933dd7f2782ef91d667a37f12d633ab") (:keywords "org" "remember" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/org-elisp-help"))]) -(org-ehtml . [(20150506 2358) ((web-server (20140109 2200)) (emacs (24 3))) "Export Org-mode files as editable web pages" tar ((:commit . "9df85de1a0fe1e7b2d6c000777c1a0c0217f92d0"))]) -(org-edit-latex . [(20170908 1522) ((emacs (24 4)) (auctex (11 90))) "Edit embedded LaTeX in a dedicated buffer" single ((:commit . "1f228310ef2f3f2959a527f6d99e42ce977384c8") (:keywords "org" "latex") (:authors ("James Wong" . "jianwang.academic@gmail.com")) (:maintainer "James Wong" . "jianwang.academic@gmail.com") (:url . "https://github.com/et2010/org-edit-latex"))]) -(org-easy-img-insert . [(20160915 2008) ((emacs (24 4))) "An easier way to add images from the web in org mode" single ((:commit . "9f8aaa7f68ff1f0d8d7b1e9b618abb15002f971e") (:keywords "convenience" "hypermedia" "files") (:authors ("Tashrif Sanil" . "tashrifsanil@kloke-source.com")) (:maintainer "Tashrif Sanil" . "tashrifsanil@kloke-source.com") (:url . "https://github.com/tashrifsanil/org-easy-img-insert"))]) -(org-dropbox . [(20150114 509) ((dash (2 2)) (names (20150000)) (emacs (24))) "move Dropbox notes from phone into org-mode datetree" single ((:commit . "75dab6d6f0438a7a8a18ccf3a5d55f50bf531f6e") (:keywords "dropbox" "android" "notes" "org-mode") (:authors ("Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com")) (:maintainer "Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com") (:url . "https://github.com/heikkil/org-dropbox"))]) -(org-drill-table . [(20180115 1009) ((s (1 7 0)) (dash (2 2 0)) (cl-lib (0 3)) (org (8 2)) (emacs (24 1))) "Generate drill cards from org tables" single ((:commit . "2729aaa42c1e2720d9bf7bcc125e92dcf48b7f7d") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) -(org-drill . [(20190727 1930) ((emacs (25 3)) (seq (2 14)) (org (9 2 4)) (persist (0 3))) "Self-testing using spaced repetition" single ((:commit . "7dece4a5e4b37ff32a7733e407d19ba67422008b") (:keywords "games" "outlines" "multimedia") (:authors ("Paul Sexton" . "eeeickythump@gmail.com")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk") (:url . "https://gitlab.com/phillord/org-drill/issues"))]) -(org-dp . [(20180311 923) ((cl-lib (0 5))) "Declarative Local Programming with Org Elements" tar ((:commit . "e720f1c155a795a5b65a04790ad195c413449716") (:authors ("Thorsten Jolitz ")) (:maintainer "Thorsten Jolitz ") (:url . "https://github.com/tj64/org-dp"))]) -(org-download . [(20191118 934) ((emacs (24 3)) (async (1 2))) "Image drag-and-drop for Org-mode." single ((:commit . "f434cec862e8d1d3b58573ab81078a4297315edc") (:keywords "multimedia" "images" "screenshots" "download") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel") (:url . "https://github.com/abo-abo/org-download"))]) -(org-dotemacs . [(20190903 2024) ((org (7 9 3)) (cl-lib (0 5))) "Store your emacs config as an org file, and choose which bits to load." single ((:commit . "ee59739c2d59151fe7d7d3034e87c7691120a5be") (:keywords "local") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/org-dotemacs"))]) -(org-doing . [(20161017 1620) nil "Keep track of what you're doing" tar ((:commit . "07ddbfc238cba31e4990c9b52e9a2757b39111da") (:keywords "tools" "org") (:authors ("Rudolf Olah")) (:maintainer "Rudolf Olah") (:url . "https://github.com/omouse/org-doing"))]) -(org-dashboard . [(20171223 1924) ((cl-lib (0 5))) "Visually summarize progress in org files" single ((:commit . "02c0699771d199075a286e4502340ca6e7c9e831") (:keywords "outlines" "calendar") (:authors ("Massimiliano Mirra" . "hyperstruct@gmail.com")) (:maintainer "Massimiliano Mirra" . "hyperstruct@gmail.com") (:url . "http://github.com/bard/org-dashboard"))]) -(org-d20 . [(20190628 1356) ((s (1 11 0)) (seq (2 19)) (dash (2 12 0)) (emacs (24))) "minor mode for d20 tabletop roleplaying games" single ((:commit . "0ca1b0a8d9ab0a7d687a9f2edb6eae2e57851129") (:keywords "outlines" "games") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:url . "https://spwhitton.name/tech/code/org-d20/"))]) -(org-cua-dwim . [(20120203 534) nil "Org-mode and Cua mode compatibility layer" single ((:commit . "a55d6c7009fc0b22f1110c07de629acc955c85e4") (:keywords "org-mode" "cua-mode") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler"))]) -(org-context . [(20170107 1337) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "a3b4a4ce6d15e3c2d45eb5dcb78bea81913f3e21") (:keywords "org" "capture" "agenda" "convenience") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:url . "https://github.com/thisirs/org-context"))]) -(org-commentary . [(20160802 637) ((dash (2 0)) (emacs (24 4)) (org (8 0))) "generate or update conventional library headers using Org mode files" tar ((:commit . "821ccb994811359c42f4e3d459e0e88849d42b75") (:keywords "convenience" "docs" "tools") (:authors ("Sergei Maximov" . "s.b.maximov@gmail.com")) (:maintainer "Sergei Maximov" . "s.b.maximov@gmail.com") (:url . "https://github.com/smaximov/org-commentary"))]) -(org-clock-today . [(20190915 701) ((emacs (25))) "Show total clocked time of the current day in the mode line" single ((:commit . "18af3fede1aa0ccab83ce9195f94f9097f51c548") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com") (:url . "https://github.com/mallt/org-clock-today-mode"))]) -(org-clock-split . [(20180909 2047) ((emacs (24))) "Split clock entries" single ((:commit . "b2f1497b62e7f4a767be02e249e4ac95d4f8f21c") (:keywords "calendar") (:authors ("Justin Taft ")) (:maintainer "Justin Taft ") (:url . "https://github.com/justintaft/emacs-org-clock-split"))]) -(org-clock-csv . [(20190418 1505) ((org (8 3)) (s (1 0))) "Export `org-mode' clock entries to CSV format." single ((:commit . "e2fbaa1ad1a1be40fceecde603a600b292b76acc") (:keywords "calendar" "data" "org") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:url . "https://github.com/atheriel/org-clock-csv"))]) -(org-clock-convenience . [(20190130 1610) ((cl-lib (0 5)) (org (8)) (emacs (24 3))) "convenience functions for org time tracking" single ((:commit . "7d14699a15ad6c5b9a63246a11188c77f8800e94") (:keywords "org") (:authors ("Derek Feichtinger ")) (:maintainer "Derek Feichtinger ") (:url . "https://github.com/dfeich/org-clock-convenience"))]) -(org-cliplink . [(20190608 2134) ((emacs (24 4))) "insert org-mode links from the clipboard" tar ((:commit . "82402cae7e118d67de7328417fd018a18f95fac2") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/org-cliplink"))]) -(org-chef . [(20191201 1435) ((org (0)) (emacs (24))) "Cookbook and recipe management with org-mode." tar ((:commit . "a40ad1e5cda5a80faca255a344c14280b841ebbd") (:keywords "convenience" "abbrev" "outlines" "org" "food" "recipes" "cooking") (:authors ("Calvin Beck" . "hobbes@ualberta.ca")) (:maintainer "Calvin Beck" . "hobbes@ualberta.ca") (:url . "https://github.com/Chobbes/org-chef"))]) -(org-category-capture . [(20180601 242) ((org (9 0 0)) (emacs (24))) "Contextualy capture of org-mode TODOs." single ((:commit . "de37d0094791ab1146276904f3a37eba699e0b60") (:keywords "org-mode" "todo" "tools" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))]) -(org-capture-pop-frame . [(20160518 1008) ((emacs (24 4))) "Run org-capture in a new pop frame" single ((:commit . "b16fd712de62cf0d1f9befd03be6ab5983cb3301") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org-capture-pop-frame.git"))]) -(org-caldav . [(20191024 724) ((org (7))) "Sync org files with external calendar through CalDAV" single ((:commit . "f530b94b6f8d8d1f8a207e48986da75227bd78a0") (:keywords "calendar" "caldav") (:authors ("David Engster" . "deng@randomsample.de")) (:maintainer "David Engster" . "deng@randomsample.de"))]) -(org-bullets . [(20190802 927) nil "Show bullets in org-mode as UTF-8 characters" single ((:commit . "c19b13be00df8d8dc596e4f1aef4a094b08ac801") (:authors ("sabof")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacsorphanage/org-bullets"))]) -(org-brain . [(20191110 1324) ((emacs (25 1)) (org (9 2))) "Org-mode concept mapping" single ((:commit . "32e2b38b9fd350de3a640f3ac85f00c7ae7e1d12") (:keywords "outlines" "hypermedia") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/org-brain"))]) -(org-bookmark-heading . [(20180904 1709) ((emacs (24 4)) (f (0 17 2))) "Emacs bookmark support for org-mode" single ((:commit . "eba5ef7a3c992c4a9da86f64d12fca0c1158208a") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-bookmark-heading"))]) -(org-board . [(20190203 1424) nil "bookmarking and web archival system for Org mode." single ((:commit . "2e01e801abc04b8fb718ca4bc19636242ac0cb52") (:keywords "org" "bookmarks" "archives") (:authors ("Charles A. Roelli " . "charles@aurox.ch")) (:maintainer "Charles A. Roelli " . "charles@aurox.ch") (:url . "https://github.com/scallywag/org-board"))]) -(org-beautify-theme . [(20170908 2218) nil "A sub-theme to make org-mode more beautiful." single ((:commit . "df6a1114fda313e1689363e196c8284fbe2a2738") (:keywords "org" "theme") (:authors ("Jonathan Arkell" . "jonnay@jonnay.net")) (:maintainer "Jonathan Arkell" . "jonnay@jonnay.net"))]) -(org-babel-eval-in-repl . [(20191110 344) ((eval-in-repl (0 9 2)) (matlab-mode (3 3 6)) (ess (16 10)) (emacs (24))) "Eval org-mode babel code blocks in various REPLs." tar ((:commit . "929d160685db57c4f0aedf26b52f9d7a918a40dd") (:keywords "literate programming" "reproducible research" "async execution") (:authors ("Takeshi Teshima" . "diadochos.developer@gmail.com")) (:maintainer "Takeshi Teshima" . "diadochos.developer@gmail.com") (:url . "https://github.com/diadochos/org-babel-eval-in-repl"))]) -(org-autolist . [(20170924 1901) nil "Improved list management in org-mode" single ((:commit . "c82d1e83e982b5f0c106b8800e5b0cfd5f73fdc1") (:keywords "lists" "checklists" "org-mode") (:authors ("Calvin Young")) (:maintainer "Calvin Young") (:url . "https://github.com/calvinwyoung/org-autolist"))]) -(org-attach-screenshot . [(20180420 525) nil "screenshots integrated with org attachment dirs" single ((:commit . "6b1edbd2384191122a30788ac72f2233c2df0294") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org-screenshot"))]) -(org-analyzer . [(20191001 1717) nil "org-analyzer is a tool that extracts time tracking data from org files." tar ((:commit . "19da62aa4dcf1090be8f574f6f2d4c7e116163a8"))]) -(org-alert . [(20180524 133) ((s (1 10 0)) (dash (2 11 0)) (alert (1 2))) "Notify org deadlines via notify-send" single ((:commit . "f87bff4acbd839acb4d2245b56b2c3d21f950911") (:keywords "org" "org-mode" "notify" "notifications" "calendar") (:authors ("Stephen Pegoraro" . "spegoraro@tutive.com")) (:maintainer "Stephen Pegoraro" . "spegoraro@tutive.com") (:url . "https://github.com/groksteve/org-alert"))]) -(org-agenda-property . [(20140626 2116) ((emacs (24 2))) "Display org properties in the agenda buffer." single ((:commit . "3b469f3e93de0036547f3631cd0366d53f7584c8") (:keywords "calendar") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/org-agenda-property"))]) -(org-ac . [(20170401 1307) ((auto-complete-pcmp (0 0 1)) (log4e (0 2 0)) (yaxception (0 1))) "Some auto-complete sources for org-mode" single ((:commit . "41e3ef8e4039619d0370c23c66730b3b2e9e32ed") (:keywords "org" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-ac"))]) -(ordinal . [(20190104 1421) ((emacs (24)) (cl-lib (0 5))) "Convert number to ordinal number notation" single ((:commit . "75af95abbac3e30c4dd804411cb3e867c741a747") (:keywords "lisp") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/ordinal.el"))]) -(orca . [(20191112 1629) ((emacs (24 3))) "Org Capture" single ((:commit . "6ecf211b56e4296898aa87eec8c6fed365a5d220") (:keywords "org" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/orca"))]) -(operate-on-number . [(20150707 623) nil "Operate on number at point with arithmetic functions" single ((:commit . "ceb3be565a29326c1098244fac0c50606723a56e") (:keywords "editing") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/operate-on-number.el"))]) -(openwith . [(20120531 2136) nil "Open files with external programs" single ((:commit . "aeb78782ec87680ea9f082a3f20a3675b3770cf9") (:keywords "files" "processes") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at") (:url . "https://bitbucket.org/jpkotta/openwith"))]) -(openstack-cgit-browse-file . [(20130819 927) nil "Browse the current file in OpenStack cgit" single ((:commit . "244219288b9aef41155044697bb114b7af83ab8f") (:keywords "convenience" "vc" "git" "cgit" "gerrit" "openstack") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/openstack-cgit-browse-file"))]) -(opensource . [(20160926 1616) ((s (1 11 0)) (dash (2 12 1)) (pkg-info (0 6 0)) (request (0 2 0))) "Client for Opensource API" tar ((:commit . "13499b7ae602c735e40c1c494bda6252a2f1c98f") (:keywords "opensource") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/OpenSourceOrg/el-opensourceorg"))]) -(opener . [(20161207 1810) ((request (0 2 0)) (emacs (24)) (cl-lib (0 5))) "opening urls as buffers" tar ((:commit . "c384f67278046fdcd220275fdd212ab85672cbeb") (:keywords "url" "http" "files") (:authors ("Tim Reddehase" . "tr@rightsrestricted.com")) (:maintainer "Tim Reddehase" . "tr@rightsrestricted.com") (:url . "https://github.com/0robustus1/opener.el"))]) -(opencl-mode . [(20190615 1957) nil "Syntax coloring for opencl kernels" single ((:commit . "55cb49c8243e6420961d719faced035bc547c1ef") (:keywords "c" "opencl") (:authors ("Salmane Bah" . "salmane.bah@u-bordeaux.fr")) (:maintainer "Salmane Bah" . "salmane.bah@u-bordeaux.fr") (:url . "https://github.com/salmanebah/opencl-mode"))]) -(opencc . [(20170722 816) ((emacs (24 4))) "中文简繁转换 <-> 中文簡繁轉換 (Convert Chinese with OpenCC)" single ((:commit . "8c539f72669ba9a99d8b5198db5ea930897ad1b9") (:keywords "chinese") (:authors ("徐春阳" . "mail@xuchunyang.me")) (:maintainer "徐春阳" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/emacs-opencc"))]) -(open-junk-file . [(20161210 1114) nil "Open a junk (memo) file to try-and-error" single ((:commit . "558bec7372b0fed4c4cb6074ab906535fae615bd") (:keywords "convenience" "tools") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/open-junk-file.el"))]) -(open-in-msvs . [(20170123 2228) nil "Open current file:line:column in Microsoft Visual Studio" tar ((:commit . "e0d071c83188ad5db8f3297d6ce784b4ed554a04") (:keywords "convenience" "usability" "integration" "visual studio" "msvs" "ide") (:authors ("Evgeny Panasyuk")) (:maintainer "Evgeny Panasyuk") (:url . "https://github.com/evgeny-panasyuk/open-in-msvs"))]) -(opam . [(20150719 1220) ((emacs (24 1))) "OPAM tools" single ((:commit . "4d589de5765728f56af7078fae328b6792de8600") (:keywords "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/opam.el"))]) -(one-time-pad-encrypt . [(20160329 1513) nil "One time pad encryption within file" single ((:commit . "87cc1f124024ce3d277299ca0ac703f182937d9f") (:keywords "convenience") (:authors ("Garvin Guan" . "garvin.guan@gmail.com")) (:maintainer "Garvin Guan" . "garvin.guan@gmail.com") (:url . "https://github.com/garvinguan/emacs-one-time-pad/"))]) -(one-themes . [(20190424 740) ((emacs (24))) "One Colorscheme" tar ((:commit . "e62e4ebef7ef8ccb1e90781d613638d30cf24d7a") (:authors ("Balaji Sivaraman" . "balaji@balajisivaraman.com")) (:maintainer "Balaji Sivaraman" . "balaji@balajisivaraman.com") (:url . "http://github.com/balajisivaraman/emacs-one-themes"))]) -(on-screen . [(20160302 950) ((cl-lib (0))) "guide your eyes while scrolling" single ((:commit . "206468aa4de299ad26c2db12b757f5ad7290912f") (:keywords "convenience") (:authors ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") (:url . "https://github.com/michael-heerdegen/on-screen.el"))]) -(on-parens . [(20180202 2241) ((dash (2 10 0)) (emacs (24)) (evil (1 1 6)) (smartparens (1 6 3))) "smartparens wrapper to fit with evil-mode/vim normal-state" single ((:commit . "7a41bc02bcffd265f8a69ed4b4e0df3c3009aaa4") (:keywords "evil" "smartparens") (:authors ("William G Hatch")) (:maintainer "William G Hatch"))]) -(omtose-phellack-theme . [(20161111 2120) nil "A dark theme, with cold bluish touch." tar ((:commit . "66f99633e199e65bd28641626435e8e59246529a"))]) -(omnisharp . [(20191015 635) ((emacs (24 4)) (flycheck (30)) (dash (2 12 0)) (auto-complete (1 4)) (popup (0 5 1)) (csharp-mode (0 8 7)) (cl-lib (0 5)) (s (1 10 0)) (f (0 19 0))) "Omnicompletion (intellisense) and more for C#" tar ((:commit . "e658a18a762438c3e1737612737b05d02a21ca2a") (:keywords "languages" "csharp" "c#" "ide" "auto-complete" "intellisense") (:authors ("Mika Vilpas and others")) (:maintainer "Mika Vilpas and others") (:url . "https://github.com/Omnisharp/omnisharp-emacs"))]) -(omnibox . [(20180423 49) ((emacs (26 1)) (dash (2 13)) (frame-local (0 0 1))) "Selection package" single ((:commit . "8ee75c71c20c438ebc43ba24ef6f543633d118f3") (:keywords "completion" "selection" "convenience" "frames") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:url . "https://github.com/sebastiencs/omnibox"))]) -(omni-tags . [(20170426 2109) ((pcre2el (1 7)) (cl-lib (0 5))) "Highlight and Actions for 'Tags'" tar ((:commit . "8f0f6c302fab900b7681e5c039f90850cbbabd33") (:keywords "convenience") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "http://github.com/AdrieanKhisbe/omni-tags.el"))]) -(omni-scratch . [(20171009 2151) nil "Easy and mode-specific draft buffers" single ((:commit . "9eee3161e5cb6df58618548a2173f4da7d194814") (:keywords "convenience" "languages" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-scratch.el"))]) -(omni-quotes . [(20170425 1832) ((dash (2 8)) (omni-log (0 3 3)) (f (0 19 0)) (s (1 11 0)) (ht (2 1))) "Random quotes displayer" tar ((:commit . "454116c1dd6581baaeefd6b9310b1b6b7a5c36d0") (:keywords "convenience") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-quotes.el"))]) -(omni-log . [(20170930 1235) ((emacs (24)) (ht (2 0)) (s (1 6 1)) (dash (2 13 0))) "Logging utilities" tar ((:commit . "11e959473c1bd9415d0cda785940c36ba6ad44ab") (:keywords "convenience" "languages" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-log.el"))]) -(omni-kill . [(20171016 2140) nil "Kill all the things" single ((:commit . "904549c8fd6ac3cf22b5d7111ca8944e179cffea") (:keywords "convenience" "editing" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr"))]) -(om-mode . [(20140915 2110) nil "Insert Om component template with life cycle." single ((:commit . "cdc0c2912321f8438b0f3449ba8aca50ec150bba") (:keywords "clojurescript") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))]) -(olivetti . [(20190923 840) ((emacs (24 5))) "Minor mode for a nice writing environment" single ((:commit . "c7784fe2dccf676310a9a602b6eedc2a7b667499") (:keywords "wp" "text") (:authors ("Paul W. Rankin" . "pwr@sdf.org")) (:maintainer "Paul W. Rankin" . "pwr@sdf.org") (:url . "https://gthub.com/rnkn/olivetti"))]) -(oldlace-theme . [(20150705 1300) ((emacs (24))) "Emacs 24 theme with an 'oldlace' background." single ((:commit . "5c6f437203b0783b36a7aff4a578de4a0c8c4ee6") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) -(old-norse-input . [(20170816 1842) ((emacs (24))) "An input method for Old Norse" single ((:commit . "c2e21ee72c3768e9152aff6baf12a19cde1d0c53") (:keywords "languages") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:url . "https://github.com/david-christiansen/emacs-old-norse-input"))]) -(offlineimap . [(20150916 1158) nil "Run OfflineIMAP from Emacs" single ((:commit . "cc3e067e6237a1eb7b21c575a41683b1febb47f1") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "http://julien.danjou.info/offlineimap-el.html"))]) -(oer-reveal . [(20191024 907) ((emacs (24 4)) (org-re-reveal (2 12 0))) "OER with reveal.js, plugins, and org-re-reveal" tar ((:commit . "641c905b7453855bc99ba64441d1346b03d44fae") (:keywords "hypermedia" "tools" "slideshow" "presentation" "oer") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:url . "https://gitlab.com/oer/oer-reveal"))]) -(octopress . [(20190123 107) nil "A lightweight wrapper for Jekyll and Octopress." tar ((:commit . "f2c92d5420f14fc9167c7de1873836510e652de2") (:keywords "octopress" "blog") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/octopress.el"))]) -(octo-mode . [(20161008 1229) ((emacs (24))) "Major mode for Octo assembly language" single ((:commit . "bd4db7e5e3275b24c74e6a23c11d04f54e9feca5") (:keywords "languages") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/octo-mode"))]) -(octicons . [(20151101 340) ((cl-lib (0 5))) "octicons utility" tar ((:commit . "a61e561966ffd8faa3b48ce5b3a4eec10c59708b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-octicons"))]) -(ocp-indent . [(20190726 1452) nil "automatic indentation with ocp-indent" single ((:commit . "9e26c0a2699b7076cebc04ece59fb354eb84c11c") (:keywords "ocaml" "languages") (:url . "http://www.typerex.org/ocp-indent.html"))]) -(ocodo-svg-modelines . [(20150516 1419) ((svg-mode-line-themes (0))) "A collection of beautiful SVG modelines" tar ((:commit . "c7b0789a177219f117c4de5659ecfa8622958c40"))]) -(oceanic-theme . [(20161015 819) nil "Oceanic theme." single ((:commit . "a92ee9b470843c923e6cdcafdd65106ff994d04d") (:keywords "oceanic" "color" "theme") (:authors ("Tengfei Guo")) (:maintainer "Tengfei Guo") (:url . "https://github.com/terry3/oceanic-theme"))]) -(occur-x . [(20130610 1343) nil "Extra functionality for occur" single ((:commit . "352f5fab207d8a1d3dd048073ff127a83e97c82b") (:keywords "occur" "search" "convenience") (:authors ("Juan-Leon Lahoz" . "juanleon1@gmail.com")) (:maintainer "Juan-Leon Lahoz" . "juanleon1@gmail.com"))]) -(occur-context-resize . [(20170904 2309) nil "dynamically resize context around matches in occur-mode" single ((:commit . "cdee5a631ceed9337579d4090e0acf8140747f80") (:keywords "matching") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:url . "https://github.com/dgtized/occur-context-resize.el"))]) -(occidental-theme . [(20130312 1958) nil "Custom theme for faces based on Adwaita" single ((:commit . "fd2db7256d4f78c43d99c3cddb1c39106d479816") (:authors ("William Stevenson" . "yhvh2000@gmail.com") ("Erik Timan" . "dev@timan.info")) (:maintainer "William Stevenson" . "yhvh2000@gmail.com") (:url . "http://github.com/olcai/occidental-theme"))]) -(obsidian-theme . [(20170719 948) nil "port of the eclipse obsidian theme" single ((:commit . "f45efb2ebe9942466c1db6abbe2d0e6847b785ea") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/obsidian-theme"))]) -(objed . [(20191107 1952) ((emacs (25)) (cl-lib (0 5))) "Navigate and edit text objects." tar ((:commit . "4a954dc34e258436761ad354930f1d7478e55457") (:keywords "convenience") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/objed"))]) -(objc-font-lock . [(20141021 1822) nil "Highlight Objective-C method calls." single ((:commit . "34b457d577f97ca94b8792d025f9a909c7610612") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/objc-font-lock"))]) -(obfusurl . [(20170809 1524) ((cl-lib (0 5))) "Obfuscate URLs so they aren't spoilers" single ((:commit . "7a5a41905000ce2ec1fd72509a5567e5fd9f47e5") (:keywords "convenience" "web" "text") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/obfusurl.el"))]) -(oberon . [(20120715 909) nil "Major mode for editing Oberon/Oberon-2 program texts" single ((:commit . "fb57d18ce13835a8a69b6bafecdd9193ca9a59a3") (:keywords "oberon" "oberon-2" "languages" "oop") (:authors ("Karl Landström" . "karl@karllandstrom.se")) (:maintainer "Karl Landström" . "karl@karllandstrom.se"))]) -(ob-uart . [(20170521 858) nil "org-babel support for UART communication" single ((:commit . "90daeac90a9e75c20cdcf71234c67b812110c50e") (:keywords "tools" "comm" "org-mode" "uart" "literate programming" "reproducible development") (:authors ("Andreas Müller")) (:maintainer "Andreas Müller") (:url . "https://www.0x7.ch"))]) -(ob-typescript . [(20190910 946) ((emacs (24)) (org (8 0))) "org-babel functions for typescript evaluation" single ((:commit . "0b2766b9d136cd6d81f4c15f1ad4b28542f484b9") (:keywords "literate programming" "reproducible research" "typescript") (:authors ("KURASHIKI Satoru")) (:maintainer "KURASHIKI Satoru") (:url . "https://github.com/lurdan/ob-typescript"))]) -(ob-translate . [(20170720 1919) ((google-translate (0 11)) (org (8))) "Translation of text blocks in org-mode." single ((:commit . "9d9054a51bafd5a29a8135964069b4fa3a80b169") (:keywords "org" "babel" "translate" "translation") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-translate"))]) -(ob-tmux . [(20190708 1202) ((emacs (25 1)) (seq (2 3)) (s (1 9 0))) "Babel Support for Interactive Terminal" single ((:commit . "3687ed7b874bdfe14617f5d14492887cb0836a85") (:keywords "literate programming" "interactive shell" "tmux") (:authors ("Allard Hendriksen")) (:maintainer "Allard Hendriksen") (:url . "https://github.com/ahendriksen/ob-tmux"))]) -(ob-swift . [(20170921 1325) ((org (8))) "org-babel functions for swift evaluation" single ((:commit . "ed478ddbbe41ce5373efde06b4dd0c3663c9055f") (:keywords "org" "babel" "swift") (:authors ("Feng Zhou" . "zf.pascal@gmail.com")) (:maintainer "Feng Zhou" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-swift"))]) -(ob-svgbob . [(20190911 300) ((emacs (24))) "Babel Functions for svgbob" single ((:commit . "5747f96fb4fdb8711546b3313df9412177eb3c1a") (:keywords "tools" "files") (:authors ("Marcio Giaxa" . "i@mgxm.me")) (:maintainer "Marcio Giaxa" . "i@mgxm.me") (:url . "https://github.com/mgxm/ob-svgbob"))]) -(ob-sql-mode . [(20190421 1539) ((emacs (24 4))) "SQL code blocks evaluated by sql-mode" single ((:commit . "b31a016585324ad91f1742ff6205bcb76f3ece6e") (:keywords "languages" "org" "org-babel" "sql") (:authors (nil . "Nik Clayton nik@google.com")) (:maintainer nil . "Nik Clayton nik@google.com") (:url . "http://github.com/nikclayton/ob-sql-mode"))]) -(ob-sml . [(20130829 1843) ((sml-mode (6 4))) "org-babel functions for template evaluation" single ((:commit . "958165c92b6cff6cada5c85c8ae5887806b8451b") (:keywords "literate programming" "reproducible research") (:authors ("David Nolen")) (:maintainer "David Nolen") (:url . "http://orgmode.org"))]) -(ob-sagemath . [(20191106 828) ((sage-shell-mode (0 0 8)) (s (1 8 0)) (emacs (24))) "org-babel functions for SageMath evaluation" tar ((:commit . "79645bce0c25a650bae61e550434bed836995dce") (:keywords "sagemath" "org-babel") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/ob-sagemath"))]) -(ob-rust . [(20180911 1535) nil "Org-babel functions for Rust" tar ((:commit . "6a82587598cd097e9642be916243c31f1231b24a") (:keywords "rust" "languages" "org" "babel") (:authors ("Mican Zhang")) (:maintainer "Mican Zhang") (:url . "https://github.com/micanzhang/ob-rust"))]) -(ob-restclient . [(20191119 924) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "fa4ac671756c9d4e395bd481405239d06b202bae") (:keywords "literate programming" "reproducible research") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:url . "https://github.com/alf/ob-restclient.el"))]) -(ob-prolog . [(20190410 2130) nil "org-babel functions for prolog evaluation." single ((:commit . "331899cfe345c934026c70b78352d320f7d8e239") (:keywords "literate programming" "reproducible research") (:authors ("Bjarte Johansen")) (:maintainer "Bjarte Johansen") (:url . "https://github.com/ljos/ob-prolog"))]) -(ob-nim . [(20170809 1830) ((cl-lib (0 5))) "Babel Functions for nim" single ((:commit . "bf1642cb93f0a898804dc13fd9408d2964403bd2") (:keywords "literate programming" "reproducible research") (:authors ("Lompik")) (:maintainer "Lompik"))]) -(ob-mongo . [(20170720 1919) ((org (8))) "Execute mongodb queries within org-mode blocks." single ((:commit . "371bf19c7c10eab2f86424f8db8ab685997eb5aa") (:keywords "org" "babel" "mongo" "mongodb") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-mongo"))]) -(ob-ml-marklogic . [(20190312 1314) nil "org-babel functions for MarkLogic evaluation" tar ((:commit . "d5660ad14f29e17cd26ae92eeb585b24030e9570") (:keywords "marklogic" "xquery" "javascript" "sparql") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "http://github.com/ndw/ob-ml-marklogic"))]) -(ob-mermaid . [(20180522 1659) nil "org-babel support for mermaid evaluation" single ((:commit . "5deaea757b3a5de874d94e40c03116fbc8195308") (:keywords "lisp") (:authors ("Alexei Nunez" . "alexeirnunez@gmail.com")) (:maintainer "Alexei Nunez" . "alexeirnunez@gmail.com") (:url . "https://github.com/arnm/ob-mermaid"))]) -(ob-lfe . [(20170725 1420) ((org (8))) "org-babel functions for lfe evaluation" single ((:commit . "f7780f58e650b4d29dfd834c662b1d354b620a8e") (:keywords "org" "babel" "lfe" "lisp" "erlang") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-lfe"))]) -(ob-kotlin . [(20180823 1321) ((org (8))) "org-babel functions for kotlin evaluation" single ((:commit . "96e420cbd2e9ea8a77043e5dcaebdfc6da17492a") (:keywords "org" "babel" "kotlin") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-kotlin"))]) -(ob-ipython . [(20180224 953) ((s (1 9 0)) (dash (2 10 0)) (dash-functional (1 2 0)) (f (0 17 2)) (emacs (24))) "org-babel functions for IPython evaluation" tar ((:commit . "7147455230841744fb5b95dcbe03320313a77124") (:keywords "literate programming" "reproducible research") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "http://www.gregsexton.org"))]) -(ob-hy . [(20180702 540) ((emacs (24 4))) "org-babel functions for Hy-lang evaluation" tar ((:commit . "a42ecaf440adc03e279afe43ee5ef6093ddd542a") (:keywords "hy" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-hy"))]) -(ob-http . [(20180707 1448) ((s (1 9 0)) (cl-lib (0 5))) "http request in org-mode babel" tar ((:commit . "b1428ea2a63bcb510e7382a1bf5fe82b19c104a7") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-http"))]) -(ob-html-chrome . [(20181219 1042) ((emacs (24 4)) (f (0 20 0)) (s (1 7 0))) "HTML code blocks converted to PNG using Chrome" single ((:commit . "7af6e4a24ed0aaf67751bdf752c7ca0ba02bb8d4") (:keywords "languages" "org" "org-babel" "chrome" "html") (:authors (nil . "Nik Clayton nik@ngo.org.uk")) (:maintainer nil . "Nik Clayton nik@ngo.org.uk") (:url . "http://github.com/nikclayton/ob-html-chrome"))]) -(ob-go . [(20190201 2040) nil "org-babel functions for go evaluation" tar ((:commit . "2067ed55f4c1d33a43cb3f6948609d240a8915f5") (:keywords "golang" "go" "literate programming" "reproducible research") (:authors ("K. Adam Christensen")) (:maintainer "K. Adam Christensen") (:url . "http://orgmode.org"))]) -(ob-fsharp . [(20170618 1429) ((emacs (25)) (fsharp-mode (1 9 8))) "Org-Babel F#" single ((:commit . "0b2fdd9bb4f38af8b5cf4914627af52f5b43d9f7") (:keywords "literate programming" "reproducible research") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:url . "https://github.com/juergenhoetzel/ob-fsharp"))]) -(ob-elvish . [(20180427 1900) nil "org-babel functions for Elvish shell" single ((:commit . "369181ceae1190bf971c71aebf9fc6133bd98c39") (:keywords "literate programming" "elvish" "shell" "languages" "processes" "tools") (:authors ("Diego Zamboni" . "diego@zzamboni.org")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:url . "https://github.com/zzamboni/ob-elvish"))]) -(ob-elixir . [(20170725 1419) ((org (8))) "org-babel functions for elixir evaluation" single ((:commit . "8990a8178b2f7bd93504a9ab136622aab6e82e32") (:keywords "org" "babel" "elixir") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-elixir"))]) -(ob-diagrams . [(20160407 1237) nil "org-babel functions for diagrams evaluation" single ((:commit . "ed6649616325ca5b2d2109f74aded8bcb8aa5186") (:keywords "literate programming" "reproducible research") (:authors ("Daniel Bergey")) (:maintainer "Daniel Bergey") (:url . "http://orgmode.org"))]) -(ob-dart . [(20170106 1624) nil "org-babel functions for Dart evaluation" single ((:commit . "04d63b922a5469506560ca0c00678e57131e0269") (:keywords "literate programming" "reproducible research" "emacs" "org" "babel" "dart") (:authors ("Milan Zimmermann")) (:maintainer "Milan Zimmermann") (:url . "http://github.org/mzimmerm/ob-dart"))]) -(ob-dao . [(20170816 1558) ((org (8))) "Org Babel Functions for Dao" single ((:commit . "fa92f62a63c684d689f57e790e5dd614c5bba270") (:keywords "literate programming" "reproducible research" "org" "babel" "dao") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/ob-dao"))]) -(ob-cypher . [(20170725 1420) ((s (1 9 0)) (cypher-mode (0 0 6)) (dash (2 10 0)) (dash-functional (1 2 0))) "query neo4j using cypher in org-mode blocks" single ((:commit . "114bdf6db20ee0ade060bb5df379ddee48ff4f26") (:keywords "org" "babel" "cypher" "neo4j") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-cypher"))]) -(ob-crystal . [(20180126 718) ((emacs (24 3))) "org-babel functions for Crystal evaluation" tar ((:commit . "d84c1adee4b269cdba06a97caedb8071561a09af") (:keywords "crystal" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-crystal"))]) -(ob-coffeescript . [(20180126 719) ((emacs (24 4))) "org-babel functions for coffee-script evaluation, and fully implementation!" single ((:commit . "5a5bb04aea9c2a6eab5b05f90f5c7cb6de7b4261") (:keywords "coffee-script" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-coffeescript"))]) -(ob-coffee . [(20170725 1424) ((org (8))) "org-babel functions for coffee-script evaluation" tar ((:commit . "7f0b330273e8af7777de87a75fe52a89798e4548") (:keywords "org" "babel" "coffee-script") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-coffee"))]) -(ob-clojurescript . [(20180406 1828) ((emacs (24 4)) (org (9 0))) "org-babel functions for ClojureScript evaluation" single ((:commit . "17ee1558aa94c7b0246fd03f684884122806cfe7") (:keywords "literate programming" "reproducible research") (:authors ("Larry Staton Jr.")) (:maintainer "Larry Staton Jr.") (:url . "https://gitlab.com/statonjr/ob-clojurescript"))]) -(ob-cfengine3 . [(20191011 1721) nil "Org Babel functions for CFEngine 3" single ((:commit . "195ba4694a0ec18d3fb89342e8e0988b382a5b1a") (:keywords "tools" "convenience") (:authors ("Nick Anderson" . "nick@cmdln.org")) (:maintainer "Nick Anderson" . "nick@cmdln.org") (:url . "https://github.com/nickanderson/ob-cfengine3"))]) -(ob-browser . [(20170720 1918) ((org (8))) "Render HTML in org-mode blocks." tar ((:commit . "a347d9df1c87b7eb660be8723982c7ad2563631a") (:keywords "org" "babel" "browser" "phantomjs") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-browser"))]) -(ob-blockdiag . [(20190720 1858) nil "org-babel functions for blockdiag evaluation" single ((:commit . "272fafcf3bc37f9de41b11beb6a33e0dbf0a1909") (:keywords "tools" "convenience") (:authors ("Dmitry Moskowski")) (:maintainer "Dmitry Moskowski") (:url . "https://github.com/corpix/ob-blockdiag.el"))]) -(ob-axiom . [(20190623 2052) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "3e7885d694efef923e7b53827d277c28bfa09320") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions")) (:maintainer "Paul Onions"))]) -(ob-async . [(20190916 1537) ((async (1 9)) (org (9 0 1)) (emacs (24 4)) (dash (2 14 1))) "Asynchronous org-babel src block execution" single ((:commit . "80a30b96a007d419ece12c976a81804ede340311") (:keywords "tools") (:authors ("Andrew Stahlman" . "andrewstahlman@gmail.com")) (:maintainer "Andrew Stahlman" . "andrewstahlman@gmail.com") (:url . "https://github.com/astahlman/ob-async"))]) -(ob-applescript . [(20190709 1607) nil "Org-babel functions for AppleScript" single ((:commit . "2b07b77b75bd02f2102f62e6d52ffdd0f921439a") (:keywords "literate programming" "reproducible research" "mac") (:authors ("Stig Brautaset")) (:maintainer "Stig Brautaset") (:url . "http://github.com/stig/ob-applescript.el"))]) -(ob-ammonite . [(20190813 59) ((s (1 12 0)) (ammonite-term-repl (0 1)) (xterm-color (1 7))) "org-babel for scala evaluation in Ammonite." single ((:commit . "39937dff395e70aff76a4224fa49cf2ec6c57cca") (:keywords "tools" "ammnite" "org-mode" "scala" "org-babel") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:url . "https://github.com/zwild/ob-ammonite"))]) -(oauth . [(20130128 151) nil "Oauth library." tar ((:commit . "ee4744ad76a1560281b0c4944575a3bd598c6458") (:keywords "comm") (:authors ("Peter Sanford ")) (:maintainer "Peter Sanford "))]) -(o-blog . [(20151202 2339) nil "Standalone orgmode blog exporter" tar ((:commit . "e466c59478feddc8126c43c1b98550474af484c0") (:keywords "emacs") (:authors ("Sébastien Gross ")) (:maintainer "Sébastien Gross "))]) -(nz-holidays . [(20190415 703) nil "New Zealand public holidays for calendar." single ((:commit . "afc875cf40789fa45a4a811685b0a7c4f239392f") (:keywords "calendar") (:authors ("Sod Oscarfono" . "sod@oscarfono.com")) (:maintainer "Sod Oscarfono" . "sod@oscarfono.com") (:url . "https://github.com/techquila/nz-holidays"))]) -(nyx-theme . [(20170910 1307) ((emacs (24))) "Dark theme" single ((:commit . "afe2b8c3b5421b4c292d182dcf77079b278e93d8") (:keywords "themes" "dark-theme") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "guido.schmidt.2912@gmail.com") (:url . "https://github.com/GuidoSchmidt/emacs-nyx-theme"))]) -(nyan-mode . [(20170423 740) nil "Nyan Cat shows position in current buffer in mode-line." tar ((:commit . "a85ac925367ddc542827182a2d9f0133b421c41b") (:keywords "nyan" "cat" "lulz" "scrolling" "pop tart cat" "build something amazing") (:authors ("Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com")) (:maintainer "Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com") (:url . "https://github.com/TeMPOraL/nyan-mode/"))]) -(nvm . [(20190912 626) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (dash-functional (2 4 0))) "Manage Node versions within Emacs" single ((:commit . "e93e5216e311c665c593ac68c5456d624120ea42") (:keywords "node" "nvm") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/nvm.el"))]) -(nv-delete-back . [(20170224 1249) ((emacs (24))) "backward delete like modern text editors" single ((:commit . "b17cb826f14c18c2875d112574edb5e4f46f5296") (:keywords "lisp") (:authors ("Nicolas Vaughan ")) (:maintainer "Nicolas Vaughan "))]) -(nummm-mode . [(20131117 1014) nil "Display the number of minor modes instead of their names" single ((:commit . "81951e12032274543c5f7a585b29bd93961e94e4") (:authors ("Andreu Gil" . "agpchil@gmail.com")) (:maintainer "Andreu Gil" . "agpchil@gmail.com") (:url . "http://github.com/agpchil/nummm-mode"))]) -(numbers . [(20170802 1134) ((emacs (24))) "Display information and trivia about numbers" single ((:commit . "dd02508b788a13b7d4dbcc4923fa23134b783ab3") (:keywords "games" "trivia" "maths" "numbers") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/numbers.el"))]) -(number-lock . [(20160830 200) nil "Enter symbols on your number keys without pressing shift" single ((:commit . "74417b1238953bf485961a0dd7d20f5c36ae25ea") (:keywords "convenience") (:authors ("Liu233w" . "wwwlsmcom@outlook.com")) (:maintainer "Liu233w" . "wwwlsmcom@outlook.com") (:url . "https://github.com/Liu233w/number-lock.el"))]) -(number . [(20170901 1312) nil "Working with numbers at point." single ((:commit . "bbc278d34dbcca83e70e3be855ec98b23debfb99"))]) -(nubox . [(20170619 910) nil "Nubox color theme (dark, light and tty versions)" tar ((:commit . "1ccb8035ae42727ba6bdd5c1106fbceddeeed370") (:keywords "faces") (:authors ("Martijn Terpstra" . "bigmartijn@gmail.com")) (:maintainer "Martijn Terpstra" . "bigmartijn@gmail.com"))]) -(nu-mode . [(20190404 2032) ((undo-tree (0 6 5)) (ace-window (0)) (lv (0)) (avy (0)) (which-key (0)) (transpose-frame (0))) "Modern Emacs Prompts Based Keybinding." tar ((:commit . "d5fb4d26d1b0bb383ea2827cc5af5dfb2a269d2b"))]) -(nswbuff . [(20191013 2037) ((emacs (25 1))) "Quick switching between buffers." single ((:commit . "19c04c1042fa1ff45bf923e9e50271c0bb57268d") (:keywords "extensions" "convenience") (:authors ("David Ponce" . "david@dponce.com") ("Kahlil (Kal) HODGSON" . "dorge@tpg.com.au") ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://github.com/joostkremers/nswbuff"))]) -(nsis-mode . [(20190615 1827) nil "NSIS-mode" tar ((:commit . "0a2e6ece2fe682dced4d31688b38bb472a877cdf") (:keywords "nsis") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/nsis-mode"))]) -(ns-auto-titlebar . [(20181022 2154) ((emacs (24 4))) "Set the MacOS transparent titlebar to match theme" single ((:commit . "1efc30d38509647b417f05587fd7003457719256") (:keywords "frames") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ns-auto-titlebar"))]) -(nrepl-sync . [(20140807 1554) ((cider (0 6))) "connect to nrepl port and eval .sync.clj." single ((:commit . "bab53a2361526d63a24cda176d07a1247bf5b399") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk") (:url . "https://github.com/phillord/lein-sync"))]) -(nrepl-eval-sexp-fu . [(20140311 1041) ((highlight (0 0 0)) (smartparens (0 0 0)) (thingatpt (0 0 0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "3a24b7d4bca13e87c987a4ddd212da914ff59191") (:keywords "lisp" "highlight" "convenience") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))]) -(npm-mode . [(20190616 2025) ((emacs (24 1))) "minor mode for working with npm projects" single ((:commit . "3ee7c0bad5b7a041d4739ef3aaa06a3dc764e5eb") (:keywords "convenience" "project" "javascript" "node" "npm") (:authors ("Allen Gooch" . "allen.gooch@gmail.com")) (:maintainer "Allen Gooch" . "allen.gooch@gmail.com") (:url . "https://github.com/mojochao/npm-mode"))]) -(noxml-fold . [(20170823 1357) nil "Fold away XML things." single ((:commit . "46c7f6a008672213238a9f8d7a416ce80916aa62") (:keywords "xml" "folding") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/noxml-fold"))]) -(nova-theme . [(20191105 1829) ((emacs (24 3))) "A dark, pastel color theme" single ((:commit . "fc4ce3f420a7456a9ca4166d8d3038c10b61a53c") (:keywords "theme" "dark" "nova" "pastel" "faces") (:authors ("Muir Manders" . "muir+emacs@mnd.rs")) (:maintainer "Muir Manders" . "muir+emacs@mnd.rs") (:url . "https://github.com/muirmanders/emacs-nova-theme"))]) -(nov . [(20190821 1920) ((dash (2 12 0)) (esxml (0 3 3)) (emacs (24 4))) "Featureful EPUB reader mode" single ((:commit . "ecbdecc927a3b3f7e0927d225e6e6464c244c2ae") (:keywords "hypermedia" "multimedia" "epub") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:url . "https://github.com/wasamasa/nov.el"))]) -(notmuch-labeler . [(20131230 1719) ((notmuch (0))) "Improve notmuch way of displaying labels" tar ((:commit . "d65d1129555d368243df4770ecc1e7ccb88efc58") (:keywords "emacs" "package" "elisp" "notmuch" "emails") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/notmuch-labeler"))]) -(notmuch . [(20190525 1602) nil "run notmuch within emacs" tar ((:commit . "dc2b5a031bb63cd71133237ca5d74ef1223a8925") (:url . "https://notmuchmail.org/"))]) -(nose . [(20140520 1648) nil "Easy Python test running in Emacs" single ((:commit . "194d7789bf797f31ea0adc45f08beb66ae9ea98e") (:keywords "nose" "python" "testing"))]) -(northcode-theme . [(20180423 1649) ((emacs (24))) "A dark theme focused on blue and orange colors." single ((:commit . "4d3750461ba25ec45321318b5f1af4e8fdf16147") (:authors ("Andreas Larsen" . "andreas@northcode.no")) (:maintainer "Andreas Larsen" . "andreas@northcode.no") (:url . "https://github.com/Northcode/northcode-theme.el"))]) -(nordless-theme . [(20190802 725) ((colorless-themes (0 1))) "A colorless theme inspired by nord" single ((:commit . "12678144d17edf36d34e6bcdc5435593e191d96d") (:keywords "theme") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://git.sr.ht/~lthms/colorles-themes.el"))]) -(nord-theme . [(20190616 1757) ((emacs (24))) "An arctic, north-bluish clean and elegant theme" single ((:commit . "52756cdc909b29691eef228897b3de561cd99f43") (:authors ("Arctic Ice Studio" . "development@arcticicestudio.com")) (:maintainer "Arctic Ice Studio" . "development@arcticicestudio.com") (:url . "https://github.com/arcticicestudio/nord-emacs"))]) -(nofrils-acme-theme . [(20180620 1248) ((emacs (24))) "Port of \"No Frils Acme\" Vim theme." tar ((:commit . "98ad7bfaff1d85b33dc162645670285b067c6f92") (:authors ("Eric Sessoms" . "esessoms@protonmail.com")) (:maintainer "Eric Sessoms" . "esessoms@protonmail.com") (:url . "https://gitlab.com/esessoms/nofrils-theme"))]) -(noflet . [(20141102 1454) nil "locally override functions" single ((:commit . "7ae84dc3257637af7334101456dafe1759c6b68a") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-noflet"))]) -(nodenv . [(20181023 1543) ((emacs (24 4))) "Integration with nodenv" tar ((:commit . "832fb0cbac4513edde7ebd6d1ab971c54313be36") (:keywords "node" "environment" "tools") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/nodenv.el"))]) -(nodemcu-mode . [(20180501 2225) ((emacs (25))) "Minor mode for NodeMCU" single ((:commit . "8effd9f3df40b6b92a2f05e4d54750b624afc4a7") (:keywords "tools") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/nodemcu-mode"))]) -(nodejs-repl . [(20190616 1753) nil "Run Node.js REPL" single ((:commit . "d43b8b276a90ccf980150a7d6fbb1f4d2a7cbe20") (:authors ("Takeshi Arabiki")) (:maintainer "Takeshi Arabiki"))]) -(node-resolver . [(20140930 1723) ((cl-lib (0 5))) "hook to install node modules in background" single ((:commit . "ef9d0486907a746a80b02ffc6208a09c168a9f7c") (:keywords "convenience" "nodejs" "javascript" "npm") (:authors ("Dave Justice")) (:maintainer "Dave Justice") (:url . "https://github.com/meandavejustice/node-resolver.el"))]) -(noctilux-theme . [(20161113 1442) ((emacs (24))) "Dark theme inspired by LightTable" single ((:commit . "a3265a1be7f4d73f44acce6d968ca6f7add1f2ca") (:authors ("Simon Manning" . "simon@ecksdee.org")) (:maintainer "Simon Manning" . "simon@ecksdee.org") (:url . "https://github.com/sjrmanning/noctilux-theme"))]) -(nocomments-mode . [(20170213 2037) nil "Minor mode that makes comments invisible." single ((:commit . "5a41a20cc44dfe4a9ea584354ed6dbc15dd92f46") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/nocomments-mode"))]) -(noccur . [(20191015 719) nil "Run multi-occur on project/dired files" single ((:commit . "fa91647a305e89561d3dbe53da002fff49abe0bb") (:keywords "convenience") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) -(noaa . [(20190202 1634) ((request (0 2 0)) (cl-lib (0 5)) (emacs (24)) (dash (2 14 1))) "Get NOAA weather data" single ((:commit . "532eb14328027ee29e124768feec23a8ef7ee798") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/noaa"))]) -(no-spam . [(20190724 1854) ((emacs (25 1))) "Add repeat delays to commands" single ((:commit . "860860e4a0d59bd15c8e092dc42f5f7f769a428e") (:keywords "keyboard" "tools") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:url . "https://github.com/mamapanda/no-spam"))]) -(no-littering . [(20191114 913) ((cl-lib (0 5))) "help keeping ~/.emacs.d clean" single ((:commit . "64de979ffba8af5541fd072b9227ec6b4c3c940f") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/no-littering"))]) -(no-emoji . [(20180515 1837) ((emacs (24))) "Show :emoji-name: instead of emoji characters" single ((:commit . "ebceeab50dbfe4d60235180a57633745dbc18c77") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/no-emoji"))]) -(nnreddit . [(20191123 2207) ((emacs (25)) (virtualenvwrapper (20190223)) (json-rpc (20180104)) (dash (20190401)) (anaphora (20180618)) (request (20190819))) "Gnus Backend For Reddit" tar ((:commit . "35c0a3d0b50dc718b4ee386818bc2ecb7afb419a") (:url . "https://github.com/dickmao/nnreddit"))]) -(nnir-est . [(20180710 2103) nil "Gnus nnir interface for HyperEstraier" single ((:commit . "6d0d5c8e33f4e4ccbc22350324c0990d2676fb5a") (:keywords "mail") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "https://github.com/kawabata/nnir-est"))]) -(nnhackernews . [(20191123 1512) ((emacs (25 2)) (request (20190819)) (dash (20190401)) (dash-functional (20180107)) (anaphora (20180618))) "Gnus backend for Hacker News" single ((:commit . "b7fc4635627e56a2d05d5441ccd0d122f84201b5") (:keywords "news") (:url . "https://github.com/dickmao/nnhackernews"))]) -(nm . [(20151110 1910) ((notmuch (0 21)) (peg (0 6)) (company (0)) (emacs (24 3))) "NEVERMORE: an email interface for Notmuch" tar ((:commit . "5a3f29174b3a4b2b2e7a700a862f3b16a942687e") (:authors ("Trevor Jim")) (:maintainer "Trevor Jim") (:url . "https://github.com/tjim/nevermore"))]) -(nlinum-relative . [(20160526 708) ((emacs (24 4)) (nlinum (1 5))) "Relative line number with nlinum" single ((:commit . "5b9950c97ba79a6f0683e38b13da23f39e01031c") (:keywords "convenience") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))]) -(nlinum-hl . [(20190301 2117) ((emacs (24 4)) (nlinum (1 7)) (cl-lib (0 5))) "heal nlinum's line numbers" single ((:commit . "dc6b365a58e06c7d637a76a31c71a40b20da8b56") (:keywords "nlinum" "highlight" "current" "line" "faces") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-nlinum-hl"))]) -(nixos-options . [(20160209 1841) ((emacs (24))) "Interface for browsing and completing NixOS options." single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:keywords "unix") (:authors ("Diego Berrocal" . "cestdiego@gmail.com") ("Travis B. Hartwell" . "nafai@travishartwell.net")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/travisbhartwell/nix-emacs/"))]) -(nix-update . [(20190124 1935) ((emacs (25))) "Update \"fetch\" blocks in .nix expressions" single ((:commit . "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7") (:keywords "nix") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/nix-update-el"))]) -(nix-sandbox . [(20191126 759) ((dash (2 12 1)) (s (1 10 0))) "Utility functions to work with nix-shell sandboxes" single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:authors ("Sven Keidel" . "svenkeidel@gmail.com")) (:maintainer "Sven Keidel" . "svenkeidel@gmail.com") (:url . "https://github.com/travisbhartwell/nix-emacs"))]) -(nix-mode . [(20190904 1440) ((emacs (25))) "Major mode for editing .nix files" tar ((:commit . "5b5961780f3b1c1b62453d2087f775298980f10d") (:keywords "nix" "languages" "tools" "unix") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/NixOS/nix-mode"))]) -(nix-haskell-mode . [(20190615 135) ((emacs (25)) (haskell-mode (16 0)) (nix-mode (1 3 0))) "haskell-mode integrations for Nix" single ((:commit . "68efbcbf949a706ecca6409506968ed2ef928a20") (:keywords "nix" "haskell" "languages" "processes") (:authors ("Matthew Bauer" . "mjbauer95@gmail.com")) (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/matthewbauer/nix-haskell"))]) -(nix-buffer . [(20180212 1518) ((f (0 17 3)) (emacs (24 4))) "Set up buffer environments with nix" single ((:commit . "db57cda36e7477bdc7ef5a136357b971b1d4d099") (:authors ("Shea Levy")) (:maintainer "Shea Levy") (:url . "https://github.com/shlevy/nix-buffer/tree/master/"))]) -(ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "3b82f99a8843813704345e625034f6c6f3e462d7"))]) -(nimbus-theme . [(20191123 1238) ((emacs (24))) "An awesome dark theme." single ((:commit . "c3d2b591de0763df11dbf62101578ca385ebe7cf") (:keywords "faces") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") ("See README.md for full list of contributors.")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:url . "https://github.com/m-cat/nimbus-theme"))]) -(nim-mode . [(20190823 1009) ((emacs (24 4)) (epc (0 1 1)) (let-alist (1 0 1)) (commenter (0 5 1)) (flycheck-nimsuggest (0 8 1))) "A major mode for the Nim programming language" tar ((:commit . "3fb6643ff684c5b5f3812cf66ea370a9c0e9559e") (:keywords "nim" "languages") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner" . "hafnersimon@gmail.com"))]) -(nikola . [(20170703 2021) ((async (1 5)) (emacs (24 3))) "Simple wrapper for nikola" single ((:commit . "964715ac30943c9d6976999cad208dc60d09def0") (:keywords ":" "nikola") (:authors (": drymer ")) (:maintainer ": drymer ") (:url . ": https://git.daemons.it/drymer/nikola.el"))]) -(night-owl-theme . [(20190825 1559) ((emacs (24))) "A color theme for the night owls out there" single ((:commit . "44c1b98f7c0d8b7ad31d6e1b3382bcf0294e03f2") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "http://github.com/aaronjensen/night-owl-theme"))]) -(niconama . [(20170910 1501) ((emacs (24)) (request (20170131 1747)) (cl-lib (0 5))) "Tools for Niconico Live Broadcast" single ((:commit . "96e7553e50e6bf7b58aac50f52c9b0b8edb41c56") (:keywords "comm") (:url . "https://github.com/NOBUTOKA/niconama.el"))]) -(niceify-info . [(20160416 1244) nil "improve usability of Info pages" single ((:commit . "38df5062bc3b99d1074cab3e788b5ed66732111c"))]) -(nginx-mode . [(20170612 437) nil "major mode for editing nginx config files" single ((:commit . "a2bab83c2eb233d57d76b236e7c141c2ccc97005") (:keywords "languages" "nginx") (:authors ("Andrew J Cosgriff" . "andrew@cosgriff.name")) (:maintainer "Andrew J Cosgriff" . "andrew@cosgriff.name"))]) -(ng2-mode . [(20190524 1912) ((typescript-mode (0 1))) "Major modes for editing Angular 2" tar ((:commit . "52fdfe27247548b46f6171eebaf887a90dd67463") (:keywords "typescript" "angular" "angular2" "template") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ng2-mode"))]) -(nexus . [(20140114 1305) nil "REST Client for Nexus Maven Repository servers" tar ((:commit . "c46f499951b90839aa8683779fe43d8f01672a60") (:keywords "comm") (:authors ("Juergen Hoetzel" . "juergen@archlinux.org")) (:maintainer "Juergen Hoetzel" . "juergen@archlinux.org"))]) -(newlisp-mode . [(20160226 1545) nil "newLISP editing mode for Emacs" single ((:commit . "ac23be40c81a360988ab803d365f1510733f6db4") (:keywords "language" "lisp" "newlisp") (:authors ("KOBAYASHI Shigeru ")) (:maintainer "KOBAYASHI Shigeru ") (:url . "https://github.com/kosh04/newlisp-mode"))]) -(never-comment . [(20140104 2207) nil "Never blocks are comment" single ((:commit . "74ded8f1e7f23240f5f6032d0451fb0a51733bc4") (:authors ("Scott Frazer")) (:maintainer "Toon Claes") (:url . "http://stackoverflow.com/a/4554658/89376"))]) -(network-watch . [(20171123 1146) ((emacs (24 3))) "Support for intermittent network connectivity" single ((:commit . "958dd0d419e4f9402648a86b754091ba346e01b8") (:keywords "unix" "tools" "hardware" "lisp") (:authors ("Juan Amiguet Vercher" . "jamiguet@gmail.com")) (:maintainer "Juan Amiguet Vercher" . "jamiguet@gmail.com") (:url . "https://github.com/jamiguet/network-watch"))]) -(netrunner . [(20160910 2332) ((popup (0 5 3)) (company (0 9 0)) (helm (1 9 5))) "Create Android: Netrunner decklists using Company, Helm and org-mode" single ((:commit . "c64672992175c8c1073c0f56c2e471839db71a0f") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/netrunner"))]) -(netherlands-holidays . [(20150202 1617) nil "Netherlands holidays for Emacs calendar." single ((:commit . "26236178cdd650df9958bf5a086e184096559f00") (:keywords "calendar") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/netherlands-holidays"))]) -(netease-music . [(20190708 215) ((names (0 5)) (emacs (25))) "listen netease music" single ((:commit . "39a7d7a15f63435d9efaf469ea7c971069c07acb") (:keywords "multimedia" "chinese" "music") (:authors ("hiro方圆" . "wfy11235813@gmail.com")) (:maintainer "hiro方圆" . "wfy11235813@gmail.com") (:url . "https://github.com/nicehiro/netease-music"))]) -(nerdtab . [(20180811 339) ((emacs (24 5))) "Keyboard-oriented tabs" single ((:commit . "74ccc14d7956712e477a34b4a733284e8b3832a6") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/nerdtab"))]) -(neotree . [(20181121 2026) ((cl-lib (0 5))) "A tree plugin like NerdTree for Vim" tar ((:commit . "c2420a4b344a9337760981c451783f0ff9df8bbf") (:authors ("jaypei" . "jaypei97159@gmail.com")) (:maintainer "jaypei" . "jaypei97159@gmail.com") (:url . "https://github.com/jaypei/emacs-neotree"))]) -(neon-mode . [(20180406 1156) nil "Simple major mode for editing neon files" single ((:commit . "99d15e46beaf1e7d71e39a00cce810df1f33229d") (:keywords "conf") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) -(nemerle . [(20161029 2023) nil "major mode for editing nemerle programs" single ((:commit . "f7ebf8f2cff477c3d9b8abdb6470e7b8d80f51ce") (:keywords "nemerle" "mode" "languages") (:authors ("Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl")) (:maintainer "Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl"))]) -(neato-graph-bar . [(20181130 1649) ((emacs (24 3))) "Neat-o graph bars CPU/memory etc." single ((:commit . "a7ae35afd67911e8924f36e646bce0d3e3c1bbe6") (:authors ("Robert Cochran" . "robert-git@cochranmail.com")) (:maintainer "Robert Cochran" . "robert-git@cochranmail.com") (:url . "https://gitlab.com/RobertCochran/neato-graph-bar"))]) -(nclip . [(20130617 2015) nil "Network (HTTP) Clipboard" tar ((:commit . "af88e38b1f04be02bf2e57affc662dbd0f828e67") (:keywords "nclip" "clipboard" "network") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://www.github.com/maio/nclip.el"))]) -(ncl-mode . [(20180129 703) ((emacs (24))) "Major Mode for editing NCL scripts and other goodies" tar ((:commit . "602292712a9e6b7e7c25155978999e77d06b7338"))]) -(naysayer-theme . [(20190704 201) ((emacs (24))) "The naysayer color theme" single ((:commit . "8eed91b268403cb9043e0c9d9aaf324db1ab7d7e") (:authors ("Nick Aversano" . "nickav@users.noreply.github.com")) (:maintainer "Nick Aversano" . "nickav@users.noreply.github.com") (:url . "https://github.com/nickav/naysayer-theme.el"))]) -(navorski . [(20141203 1824) ((s (1 9 0)) (dash (1 5 0)) (multi-term (0 8 14))) "Helping you live in the terminal, like Viktor did." single ((:commit . "698c1c62da70164aebe9a7a5d034778fbc30ea5b") (:keywords "terminal") (:authors ("Roman Gonzalez , Tavis Rudd" . "tavis@birdseye-sw.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) -(navigel . [(20190828 449) ((emacs (25 1)) (tablist (1 0))) "Facilitate the creation of tabulated-list based UIs" single ((:commit . "6f53ec5c5c070b524624ef23ea6a096f9d7c8af7") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/navigel"))]) -(navi2ch . [(20150330 216) nil "Navigator for 2ch for Emacsen" tar ((:commit . "f39d93c32acd5b9c3a7fb1a9fe14c5e1c4b5288e") (:keywords "network" "2ch") (:authors ("Taiki SUGAWARA" . "taiki@users.sourceforge.net")) (:maintainer "Taiki SUGAWARA" . "taiki@users.sourceforge.net"))]) -(navi-mode . [(20190720 2003) ((outshine (2 0)) (outorg (2 0))) "major-mode for easy buffer-navigation" single ((:commit . "7eb7cf0c4a6ee537ec462f5ec90f00d12e3ca9c2") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/navi"))]) -(nav-flash . [(20140508 2041) nil "Briefly highlight the current line" single ((:commit . "53f5bc59e3f32c1192d15637d3979732dacb2c35") (:keywords "extensions" "navigation" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/nav-flash"))]) -(nav . [(20120507 707) nil "Emacs mode for filesystem navigation" tar ((:commit . "c5eb234c063f435dbdcd1f8bdc46cfc68c973ebe") (:authors ("Issac Trotts" . "issactrotts@google.com")) (:maintainer "Issac Trotts" . "issactrotts@google.com"))]) -(nasm-mode . [(20190410 342) ((emacs (24 3))) "NASM x86 assembly major mode" single ((:commit . "65ca6546fc395711fac5b3b4299e76c2303d43a8") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/nasm-mode"))]) -(nash-mode . [(20160830 1212) nil "Nash major mode" single ((:commit . "2cd96535eb7d669a94306183e95ee37333872c1a") (:keywords "nash" "languages") (:authors ("Tiago Natel de Moura")) (:maintainer "Tiago Natel de Moura") (:url . "https://github.com/tiago4orion/nash-mode.el"))]) -(narrowed-page-navigation . [(20150109 519) ((emacs (24)) (cl-lib (0 5))) "A minor mode for showing one page at a time" single ((:commit . "b215adbac4873f56fbab65772062f0f5be8058a1") (:keywords "outlines") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))]) -(narrow-reindent . [(20150722 1906) ((emacs (24 4))) "Defines a minor mode to left-align narrowed regions." single ((:commit . "87466aac4dbeb79597124dd077bf5c704872fd3d") (:authors ("J David Smith" . "emallson@atlanis.net")) (:maintainer "J David Smith" . "emallson@atlanis.net") (:url . "https://github.com/emallson/narrow-reindent.el"))]) -(naquadah-theme . [(20190225 1427) nil "A theme based on Tango color set" single ((:commit . "430c3b7bd51922cb616b3f60301f4e2604816ed8"))]) -(nanowrimo . [(20151105 228) nil "Track progress for nanowrimo" single ((:commit . "b1d41458926ccb39cefbb1bb74aefe4f02fd349f") (:authors ("Ivan Andrus ")) (:maintainer "Ivan Andrus ") (:url . "https://bitbucket.org/gvol/nanowrimo-mode"))]) -(nand2tetris-assembler . [(20171201 1813) ((nand2tetris (1 1 0))) "Assembler For the Nand2tetris Course" single ((:commit . "33acee34d24b1c6a87db833b7d23449cf858f64f") (:keywords "nand2tetris-assembler" "hdl") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/CestDiego/nand2tetris-assembler.el/"))]) -(nand2tetris . [(20171201 1813) ((emacs (24))) "Major mode for HDL files in the nand2tetris course" tar ((:commit . "33acee34d24b1c6a87db833b7d23449cf858f64f") (:keywords "nand2tetris" "hdl") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/CestDiego/nand2tetris.el/"))]) -(namespaces . [(20130326 2250) nil "An implementation of namespaces for Elisp, with an emphasis on immutabilty." single ((:commit . "3d02525d9b9a5ae6e7be3adefd880121436e6270") (:authors ("Chris Barrett")) (:maintainer "Chris Barrett") (:url . "https://github.com/chrisbarrett/elisp-namespaces"))]) -(names . [(20180321 1155) ((emacs (24 1)) (cl-lib (0 5))) "Namespaces for emacs-lisp. Avoid name clobbering without hiding symbols." tar ((:commit . "d8baba5360e5253938a25d3e005455b6d2d86971") (:keywords "extensions" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/names"))]) -(nameless . [(20190429 1202) ((emacs (24 4))) "Hide package namespace in your emacs-lisp code" single ((:commit . "a3a1ce3ec0c5724bcbfe553d831bd4f6b3fe863a") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/nameless"))]) -(nameframe-projectile . [(20160928 403) ((nameframe (0 4 1 -2)) (projectile (0 13 0))) "Nameframe integration with Projectile" single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))]) -(nameframe-perspective . [(20170406 119) ((nameframe (0 4 1 -2)) (perspective (1 12))) "Nameframe integration with perspective.el" single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))]) -(nameframe . [(20171107 56) nil "Manage frames by name." single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))]) -(named-timer . [(20181120 2224) ((emacs (24 4))) "Simplified timer management for Emacs Lisp" single ((:commit . "670b81e3eddef2e7353a4eedc9553a85306445db") (:keywords "tools") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/emacs-named-timer"))]) -(name-this-color . [(20151014 2030) ((emacs (24)) (cl-lib (0 5)) (dash (2 11 0))) "Match RGB codes to names easily and precisely" single ((:commit . "e37cd1291d5d68d4c8d6386eab9cb9d94fd3bcfa") (:keywords "lisp" "color" "hex" "rgb" "shade" "name") (:url . "https://github.com/knl/name-this-color.el"))]) -(n4js . [(20150714 231) ((emacs (24)) (cypher-mode (0))) "Neo4j Shell" single ((:commit . "3991ed8975151d5e8d568e952362df810f7ffab7") (:keywords "neo4j" "shell" "comint") (:authors ("TruongTx" . "me@truongtx.me")) (:maintainer "TruongTx" . "me@truongtx.me") (:url . "https://github.com/tmtxt/n4js.el"))]) -(myterminal-controls . [(20190426 421) ((emacs (24))) "Quick toggle controls at a key-stroke" single ((:commit . "733cdd7ab4f172b6dca09720fc5ae7dbc248c822") (:keywords "convenience" "shortcuts") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) -(mysql2sqlite . [(20170725 2216) nil "Convert mysql databases into sqlite databases." single ((:commit . "8e6e74451c942e2e92f90dc13222b95a7dbb285e"))]) -(mysql-to-org . [(20181012 2034) ((emacs (24 3)) (s (1 11 0))) "Minor mode to output the results of mysql queries to org tables" single ((:commit . "7c986065adcbe13a525e1da5db8aa4c80b0ef7a3") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) -(myrddin-mode . [(20190804 2205) ((emacs (24 3))) "Major mode for editing Myrddin source files" single ((:commit . "b996da5e3bae842eacba4b3e429899bb841b077e") (:keywords "languages") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:url . "https://git.sr.ht/~jakob/myrddin-mode"))]) -(mynt-mode . [(20150512 2049) ((virtualenvwrapper (20131514))) "Minor mode to work with the mynt static site generator" single ((:commit . "23d4489167bfa899634548cb41ed32fdeb3600c9") (:keywords "convenience") (:authors ("Christian Brassat")) (:maintainer "Christian Brassat") (:url . "https://github.com/crshd/mynt-mode"))]) -(mykie . [(20150808 2205) ((emacs (24 3)) (cl-lib (0 5))) "Command multiplexer: Register multiple functions to a keybind" tar ((:commit . "7676f0e883af1d1054e404e97691f3c13aba196f") (:keywords "emacs" "configuration" "keybind") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:url . "https://github.com/yuutayamada/mykie-el"))]) -(myanmar-input-methods . [(20160106 1537) nil "Emacs Input Method for Myanmar" single ((:commit . "9d4e0d6358c61bde7a2274e430ef71683faea32e") (:keywords "myanmar" "unicode" "keyboard") (:authors ("Ye Lin Kyaw" . "yelinkyaw@gmail.com")) (:maintainer "Ye Lin Kyaw" . "yelinkyaw@gmail.com") (:url . "http://github.com/yelinkyaw/emacs-myanmar-input-methods"))]) -(mxf-view . [(20180501 740) ((emacs (25))) "Simple MXF viewer" single ((:commit . "6ca3cc93d995fac5fc4d72275e1e984e9857ffcb") (:keywords "data" "multimedia") (:authors ("Tomotaka SUWA" . "tomotaka.suwa@gmail.com")) (:maintainer "Tomotaka SUWA" . "tomotaka.suwa@gmail.com") (:url . "https://github.com/t-suwa/mxf-view"))]) -(mwim . [(20181110 1900) nil "Switch between the beginning/end of line or code" single ((:commit . "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/mwim.el"))]) -(mw-thesaurus . [(20190620 2330) ((emacs (25)) (request (0 3 0)) (dash (2 16 0))) "Merriam-Webster Thesaurus" single ((:commit . "8327bae11588bcad5d73dcfbeb5e8d10f623d6b6") (:keywords "wp" "matching") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/mw-thesaurus.el"))]) -(mvn . [(20181002 1617) nil "helpers for compiling with maven" single ((:commit . "ffa40235b7dabb6c6c165f64f32a963cde8031f0") (:keywords "compilation" "maven" "java") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:url . "https://github.com/apgwoz/mvn-el"))]) -(mutt-mode . [(20191102 2330) ((emacs (24))) "major mode for editing mutt configuration" single ((:commit . "1d495de49e6f536459b00d5396a2f5ce5ad4757b") (:keywords "languages") (:authors ("Felix Weilbach" . "felix.weilbach@t-online.de")) (:maintainer "Felix Weilbach" . "felix.weilbach@t-online.de") (:url . "https://gitlab.com/flexw/mutt-mode"))]) -(mutant . [(20160124 1353) ((emacs (24 4)) (dash (2 1 0))) "An interface for the Mutant testing tool" single ((:commit . "de9cdefe48c880128a8f62c6699d7416e9c8ced1") (:keywords "mutant" "testing") (:authors ("Pedro Lambert")) (:maintainer "Pedro Lambert") (:url . "http://github.com/p-lambert/mutant.el"))]) -(mustard-theme . [(20170808 1319) ((emacs (24 0))) "an Emacs 24 theme based on Mustard (tmTheme)" single ((:commit . "3b15d992c79590d7ea2503004e2a863b57e274b5") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(mustang-theme . [(20170719 946) nil "port of vim's mustang theme" single ((:commit . "dda6d04803f1c9b196b620ef564e7768fee15de2") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/mustang-theme"))]) -(mustache-mode . [(20141024 1432) nil "A major mode for editing Mustache files." single ((:commit . "bf9897eb287ca47ced65d7d4e07ea61ea0aec39f") (:authors ("Tony Gentilcore") ("Chris Wanstrath") ("Daniel Hackney")) (:maintainer "Tony Gentilcore"))]) -(mustache . [(20190905 2214) ((ht (0 9)) (s (1 3 0)) (dash (1 2 0))) "a mustache templating library in emacs lisp" tar ((:commit . "6443e1563ddf4eee2236ca1bb1fe87ddfde4b2bb"))]) -(multitran . [(20190714 1049) ((emacs (24)) (cl-lib (0 5))) "Interface to multitran" single ((:commit . "eea1e4a57870dd6ee6c6f0a85e53cb66af8954de") (:keywords "dictionary" "hypermedia") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) -(multiple-cursors . [(20190820 749) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "b9b851a7670f4348f3a08b11ef12ed99676c8b84"))]) -(multifiles . [(20130615 2133) nil "View and edit parts of multiple files in one buffer" single ((:commit . "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897") (:keywords "multiple" "files") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) -(multicolumn . [(20150202 2251) nil "Creating and managing multiple side-by-side windows." single ((:commit . "c7a3afecd470859b2e60aa7c554d6e4d436df7fa") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/multicolumn"))]) -(multi-web-mode . [(20130824 354) nil "multiple major mode support for web editing" tar ((:commit . "ad1c8d1c870334052d244c7ae3636cb7b9357b7c") (:keywords "convenience" "languages" "wp") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:url . "https://github.com/fgallina/multi-web-mode"))]) -(multi-term . [(20191104 1156) nil "Managing multiple terminal buffers in Emacs." single ((:commit . "8deb0f2252399cca2426eb3cc3e9646c5de726b3") (:keywords "term" "terminal" "multiple buffer") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:url . "http://www.emacswiki.org/emacs/download/multi-term.el"))]) -(multi-run . [(20190507 2349) ((emacs (24)) (window-layout (1 4))) "Efficiently manage multiple remote nodes" tar ((:commit . "c6256b0cc2876c29faf381d8324b31b911045a27") (:keywords "multiple shells" "multi-run" "remote nodes") (:authors ("Sagar Jha")) (:maintainer "Sagar Jha") (:url . "https://www.github.com/sagarjha/multi-run"))]) -(multi-project . [(20191117 1203) ((emacs (25))) "Find files, compile, and search for multiple projects." single ((:commit . "4045823d51f6330466b6ab83828b6c598ac817a0") (:keywords "convenience" "project" "management") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://hg.osdn.net/view/multi-project/multi-project"))]) -(multi-line . [(20170822 226) ((emacs (24 3)) (s (1 9 0)) (cl-lib (0 5)) (dash (2 12 0)) (shut-up (0 3 2))) "multi-line statements" tar ((:commit . "d5ae863ced0adeb7032ada398005f27a6c669d79") (:keywords "multi" "line" "length" "whitespace" "programming" "tools" "convenience" "files") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/multi-line"))]) -(multi-compile . [(20160306 2223) ((emacs (24)) (dash (2 12 1))) "Multi target interface to compile." single ((:commit . "bd0331854774e7a269ce8a7dd49580cd397c0ec2") (:keywords "tools" "compile" "build") (:authors ("Kvashnin Vladimir" . "reangd@gmail.com")) (:maintainer "Kvashnin Vladimir" . "reangd@gmail.com") (:url . "https://github.com/ReanGD/emacs-multi-compile"))]) -(multi . [(20131013 1544) ((emacs (24))) "Clojure-style multi-methods for emacs lisp" single ((:commit . "0987ab71692717ed457cb3984de184db9185806d") (:keywords "multimethod" "generic" "predicate" "dispatch") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:url . "http://github.com/kurisuwhyte/emacs-multi"))]) -(muban . [(20180415 1219) ((emacs (25))) "Lightweight template expansion tool" single ((:commit . "7078e439ee0433a8fbd1cb174464496f9a9d00fa") (:keywords "abbrev" "tools") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:url . "https://github.com/jiahaowork/muban.el"))]) -(mu4e-query-fragments . [(20170923 1322) ((emacs (24 4))) "mu4e query fragments extension" single ((:commit . "34ddad4e6785f575333efcc66153d892daa1c884") (:keywords "mu4e" "mail" "convenience") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/mu4e-query-fragments.el"))]) -(mu4e-overview . [(20191020 842) ((emacs (26))) "Show overview of maildir" single ((:commit . "c34f45b3ab9cce892835e14c6701b531a4f54cce") (:keywords "mail" "tools") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/mu4e-overview"))]) -(mu4e-maildirs-extension . [(20180606 812) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "3ef4c48516be66e73d24fe764aadbcfc126b7964") (:authors ("Andreu Gil Pàmies" . "agpchil@gmail.com")) (:maintainer "Andreu Gil Pàmies" . "agpchil@gmail.com") (:url . "http://github.com/agpchil/mu4e-maildirs-extension"))]) -(mu4e-jump-to-list . [(20190419 1442) ((emacs (24 4)) (cl-lib (0 5))) "mu4e jump-to-list extension" single ((:commit . "358bba003543b49ffa266e503e54aebd0ebe614b") (:keywords "mu4e" "mail" "convenience") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/mu4e-jump-to-list.el"))]) -(mu4e-conversation . [(20190609 812) ((emacs (25 1))) "Show a complete thread in a single buffer" single ((:commit . "98110bb9c300fc9866dee8e0023355f9f79c9b96") (:keywords "mail" "convenience" "mu4e") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/mu4e-conversation"))]) -(mu4e-alert . [(20190418 558) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 3))) "Desktop notification for mu4e" single ((:commit . "91f0657c5b245a9de57aa38391221fb5d141d9bd") (:keywords "mail" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/mu4e-alert"))]) -(mu2tex . [(20190520 503) nil "Convert plain text molecule names and units to TeX" single ((:commit . "9467076ee4115d7fc19abaeadecc603e9115bf8d") (:keywords "tex") (:authors ("Carsten Dominik" . "dominik@.uva.nl")) (:maintainer "Carsten Dominik" . "dominik@.uva.nl") (:url . "https://github.com/cdominik/mu2tex"))]) -(mu-cite . [(20190803 439) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "b2c83bbce4646d100b942f0f0de0877a8d47298c"))]) -(mtg-deck-mode . [(20180613 2010) ((emacs (25 1))) "Major mode to edit MTG decks" tar ((:commit . "8265b8ed17fcd4406760c19aa6ee9c76068b1ab0") (:keywords "data" "mtg" "magic") (:authors ("Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com")) (:maintainer "Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com") (:url . "https://github.com/mattiasb/mtg-deck-mode"))]) -(msvc . [(20190426 1045) ((emacs (24)) (cl-lib (0 5)) (cedet (1 0)) (ac-clang (2 0 0))) "Microsoft Visual C/C++ mode" tar ((:commit . "c3b86fb517e95c9ae4d6b851984f4f4ed1864c06") (:keywords "languages" "completion" "syntax check" "mode" "intellisense") (:authors ("yaruopooner [https://github.com/yaruopooner]")) (:maintainer "yaruopooner [https://github.com/yaruopooner]") (:url . "https://github.com/yaruopooner/msvc"))]) -(ms-python . [(20190413 516) ((emacs (26 1)) (lsp-mode (5 0))) "A lsp client for microsoft python language server." single ((:commit . "d95ac8f1633764cdb4bb43bf44c2eb6b225f9f93") (:keywords "tools") (:authors ("Yong Cheng" . "xhcoding@163.com")) (:maintainer "Yong Cheng" . "xhcoding@163.com") (:url . "https://github.com/xhcoding/ms-python"))]) -(mqtt-mode . [(20180605 1731) ((emacs (25)) (dash (2 12 0))) "client for interaction with MQTT servers" single ((:commit . "36d1d4296d79e17b8f35e8e14f2708980eb502db") (:keywords "tools") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/mqtt-mode"))]) -(mqr . [(20180527 1204) ((emacs (24 4))) "Multi-dimensional query and replace" single ((:commit . "4ade19d4620b8b61340290bf63fa56d5e493859f") (:keywords "convenience" "extensions" "lisp") (:authors ("Tino Calancha" . "tino.calancha@gmail.com")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:url . "https://github.com/calancha/multi-replace"))]) -(mpv . [(20180602 1014) ((cl-lib (0 5)) (emacs (24)) (json (1 3)) (org (8 0))) "control mpv for easy note-taking" single ((:commit . "9dedf3b7c1bfd778284df7f394207ce0447ea7aa") (:keywords "tools" "multimedia") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com") (:url . "https://github.com/kljohann/mpv.el"))]) -(mpmc-queue . [(20180303 2029) ((emacs (26 0)) (queue (0 2 0))) "a multiple-producer-multiple-consumer queue" single ((:commit . "df07d6bef7468edb1d73ef73b8331b94d0e5d0ca") (:keywords "lisp" "async") (:authors ("Sho Mizoe" . "sho.mizoe@gmail.com")) (:maintainer "Sho Mizoe" . "sho.mizoe@gmail.com") (:url . "https://github.com/smizoe/mpmc-queue"))]) -(mpdel . [(20190911 632) ((emacs (25 1)) (libmpdel (1 0 0)) (navigel (0 6 0))) "Play and control your MPD music" tar ((:commit . "e09904bf31ed465ea93ef2c165e8a6f705229f57") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/mpdel"))]) -(mpages . [(20150710 1404) nil "An Emacs buffer for quickly writing your Morning Pages" single ((:commit . "39a72a0931ab1cdbfdf0ab9f412dc12d43a3829f") (:authors ("Sean Levin")) (:maintainer "Sean Levin") (:url . "https://github.com/slevin/mpages"))]) -(mozc-temp . [(20160228 840) ((emacs (24)) (dash (2 10 0)) (mozc (0))) "Use mozc temporarily" single ((:commit . "01f09b6c0b308e9f7057fb2aa80171e2ce328bb8") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/mozc-temp"))]) -(mozc-popup . [(20150224 34) ((popup (0 5 2)) (mozc (0))) "Mozc with popup" single ((:commit . "f0684b875a7427ec08f8df13939a486e5d5cf420") (:keywords "i18n" "extentions") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))]) -(mozc-im . [(20160412 22) ((mozc (0))) "Mozc with input-method-function interface." single ((:commit . "df614a1076c28a11551fb3e822868bae47e855a5") (:keywords "i18n" "extentions") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))]) -(mozc-cand-posframe . [(20190817 2037) ((emacs (26 1)) (posframe (0 5 0)) (mozc (20180101 800))) "Posframe frontend for mozc.el" single ((:commit . "20df08f0bf239bc2a686ff2c6d9390b5ea6d89fa") (:keywords "i18n" "tooltip") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/mozc-posframe"))]) -(mozc . [(20180101 800) nil "minor mode to input Japanese with Mozc" single ((:commit . "afb03ddfe72dde4cf2409863a3bfea160f7a66d8") (:keywords "mule" "multilingual" "input method"))]) -(moz-controller . [(20151209 206) ((moz (0))) "Control Firefox from Emacs" single ((:commit . "46f665c03574fa922de767fc29795e0db4a7c5c6") (:authors ("任文山 (Ren Wenshan) ")) (:maintainer "任文山 (Ren Wenshan) ") (:url . "https://github.com/RenWenshan/emacs-moz-controller"))]) -(moz . [(20150805 1706) nil "Lets current buffer interact with inferior mozilla." single ((:commit . "ab3e79914445039ceb62f7f2dc342358fec3492e") (:authors ("Massimiliano Mirra, ")) (:maintainer "Massimiliano Mirra, ") (:url . "http://github.com/bard/mozrepl/raw/master/chrome/content/moz.el"))]) -(mowedline . [(20161122 235) nil "elisp utilities for using mowedline" single ((:commit . "6121b7d4aacd18f7b24da226e61dbae054e50a7c") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) -(move-text . [(20170909 330) nil "Move current line or region with M-up or M-down." single ((:commit . "7cbc941a9150468609010a93c429117da2523903") (:keywords "edit") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/emacsfodder/move-text"))]) -(move-dup . [(20190408 1246) nil "Eclipse-like moving and duplicating lines or rectangles." single ((:commit . "19f1c075d939084279b190c38412b4cfda96840d") (:keywords "convenience" "text" "edit") (:authors ("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:url . "https://github.com/wyuenho/move-dup"))]) -(mouse-slider-mode . [(20161021 1914) ((emacs (24 3)) (cl-lib (0 3))) "scale numbers dragged under the mouse" single ((:commit . "b3c19cd231edecce76787c5a9bbe5e4046d91f88") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/mouse-slider-mode"))]) -(motion-mode . [(20140920 156) ((flymake-easy (0 7)) (flymake-cursor (1 0 2))) "major mode for RubyMotion enviroment" tar ((:commit . "4c94180e3ecea611a61240a0c0cd48f1032c4a55") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai") (:url . "https://github.com/ainame/motion-mode"))]) -(mote-mode . [(20160123 29) ((ruby-mode (1 1))) "Mote minor mode" single ((:commit . "666c6641addbd3b337a7aa01fd2742ded2f41b83") (:authors ("Leandro López (inkel)" . "inkel.ar@gmail.com")) (:maintainer "Leandro López (inkel)" . "inkel.ar@gmail.com") (:url . "http://inkel.github.com/mote-mode/"))]) -(mosey . [(20180614 1649) ((emacs (24 4))) "Mosey around your buffers" single ((:commit . "2e3ac9d334fa2937ed5267193dfd25d8e1f14dc2") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/mosey.el"))]) -(morlock . [(20180318 2023) nil "more font-lock keywords for elisp" single ((:commit . "b883d48024ddfffebe2d0dd69f5ed54c617f8834") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/morlock"))]) -(morganey-mode . [(20170118 934) ((emacs (24 4))) "Major mode for editing Morganey files" single ((:commit . "5cf3870432a2aeb69d373abe63b3be1f325f6d21") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "https://github.com/morganey-lang/morganey-mode"))]) -(moonscript . [(20170831 2226) ((cl-lib (0 5)) (emacs (24))) "Major mode for editing MoonScript code" tar ((:commit . "56f90471e2ced2b0a177aed4d8c2f854797e9cc7") (:authors ("@GriffinSchneider, @k2052, @EmacsFodder")) (:maintainer "@GriffinSchneider, @k2052, @EmacsFodder"))]) -(moom . [(20191118 902) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "f16c8c509990932f3db7570a838a441d5c22dec3") (:keywords "frames" "faces" "convenience") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:url . "https://github.com/takaxp/Moom"))]) -(moody . [(20191105 2245) ((emacs (25 3))) "Tabs and ribbons for the mode line" single ((:commit . "b51c2218fd1d207186694cae7d09315795f3c847") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/moody"))]) -(mood-one-theme . [(20191029 743) ((emacs (24 4))) "A dark color scheme inspired by the Doom One theme." single ((:commit . "77ff4bfd954d46bc7580175ef443a9168938f9cd") (:keywords "mode-line" "faces") (:authors ("Jessie Hildebrandt ")) (:maintainer "Jessie Hildebrandt ") (:url . "https://gitlab.com/jessieh/mood-one-theme"))]) -(mood-line . [(20191101 1955) ((emacs (24 4))) "A minimal mode-line inspired by doom-modeline." single ((:commit . "0b07bdc7e77e19d7c722c2db803be0d3b47aa692") (:keywords "mode-line" "faces") (:authors ("Jessie Hildebrandt ")) (:maintainer "Jessie Hildebrandt ") (:url . "https://gitlab.com/jessieh/mood-line"))]) -(monroe . [(20190912 1624) nil "Yet another client for nREPL" single ((:commit . "508f5ed0f88b0b5e01a37d456186ea437f44d93c") (:keywords "languages" "clojure" "nrepl" "lisp") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:url . "http://www.github.com/sanel/monroe"))]) -(monotropic-theme . [(20181015 1230) ((emacs (24))) "Monotropic Theme" single ((:commit . "36df566aa8225e303f6c9d90c00740dd678a415e") (:authors ("caffo")) (:maintainer "caffo") (:url . "https://github.com/caffo/monotropic-theme"))]) -(monokai-theme . [(20190801 1701) nil "A fruity color theme for Emacs." single ((:commit . "e407f51d34b0c30cfe9d815f80a0c3539b998b08") (:authors ("Kelvin Smith" . "oneKelvinSmith@gmail.com")) (:maintainer "Kelvin Smith" . "oneKelvinSmith@gmail.com") (:url . "http://github.com/oneKelvinSmith/monokai-emacs"))]) -(monokai-pro-theme . [(20191115 714) nil "A simple theme based on the Monokai Pro Sublime color schemes" single ((:commit . "622e3a7203907978ce0d2409e3df2d65c63ce938") (:authors ("Kaleb Elwert" . "kaleb@coded.io")) (:maintainer "Kaleb Elwert" . "kaleb@coded.io") (:url . "https://github.com/belak/emacs-monokai-pro-theme"))]) -(monokai-alt-theme . [(20170630 2048) ((emacs (24))) "Theme with a dark background. Based on sublime monokai theme." single ((:commit . "f342b6afc31f929be0626eca2d696ee9fab78011") (:authors ("Dmytro Koval")) (:maintainer "Dmytro Koval") (:url . "https://github.com/dawidof/emacs-monokai-theme"))]) -(monochrome-theme . [(20140326 1050) nil "A dark Emacs 24 theme for your focused hacking sessions" tar ((:commit . "bfca67fe7365310bc47ae9ca96c417caada54896") (:authors ("Xavier Noria" . "fxn@hashref.com")) (:maintainer "Xavier Noria" . "fxn@hashref.com"))]) -(monky . [(20190619 1637) nil "Control Hg from Emacs." tar ((:commit . "9d379a2306a8b7cd9c4faba20490480acdc1d763") (:keywords "tools") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/monky"))]) -(monitor . [(20161018 1144) ((dash (2 13 0))) "Utilities for monitoring expressions." tar ((:commit . "63f4643a0ee81616dbb692b8b03bae21df2283e2") (:keywords "lisp" "monitor" "utility") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:url . "https://github.com/guiltydolphin/monitor"))]) -(mongo . [(20150315 1219) nil "MongoDB driver for Emacs Lisp" tar ((:commit . "595529ddd70ecb9fab8b11daad2c3929941099d6") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) -(molokai-theme . [(20151016 1545) nil "molokai theme with Emacs theme engine" single ((:commit . "04a44f21184b6a26caae4f2c92db9019d883309c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/alloy-d/color-theme-molokai"))]) -(molecule . [(20180527 743) ((emacs (25 1))) "Simple wrapper for molecule" single ((:commit . "2ef72b81d9aa24ea782b71a061a3abdad6cae162") (:keywords ":" "languages" "terminals") (:authors (": drymer ")) (:maintainer ": drymer ") (:url . "https://git.daemons.it/drymer/molecule.el"))]) -(moe-theme . [(20180617 200) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "6e086d855d6bb446bbd1090742815589a81a915f") (:url . "https://github.com/kuanyui/moe-theme.el"))]) -(modus-vivendi-theme . [(20191201 925) ((emacs (25 1))) "Accessible dark theme (WCAG AAA)" single ((:commit . "e239e5e55fe17b5dacf7ce1b7ee1551a746b2946") (:keywords "faces" "theme" "accessibility") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:url . "https://gitlab.com/protesilaos/modus-themes"))]) -(modus-operandi-theme . [(20191201 925) ((emacs (25 1))) "Accessible light theme (WCAG AAA)" single ((:commit . "e239e5e55fe17b5dacf7ce1b7ee1551a746b2946") (:keywords "faces" "theme" "accessibility") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:url . "https://gitlab.com/protesilaos/modus-themes"))]) -(modtime-skip-mode . [(20140128 2201) nil "Minor mode for disabling modtime and supersession checks on files." single ((:commit . "c0e49523aa26b2263a8693691ac775988015f592") (:authors ("Jordon Biondo" . "biondoj@mail.gvsu.edu")) (:maintainer "Jordon Biondo" . "biondoj@mail.gvsu.edu") (:url . "http://www.github.com/jordonbiondo/modtime-skip-mode"))]) -(modern-cpp-font-lock . [(20190331 1528) nil "Font-locking for \"Modern C++\"" single ((:commit . "02f104701bc34c146d22e3143ae59ef362999098") (:keywords "languages" "c++" "cpp" "font-lock") (:authors ("Ludwig PACIFICI" . "ludwig@lud.cc")) (:maintainer "Ludwig PACIFICI" . "ludwig@lud.cc") (:url . "https://github.com/ludwigpacifici/modern-cpp-font-lock"))]) -(mode-line-debug . [(20180318 2225) nil "show status of `debug-on-error' in the mode-line" single ((:commit . "a0fcc394b07d2414bd6f722da10f1c7567333f6b") (:keywords "convenience" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/mode-line-debug"))]) -(mode-line-bell . [(20181029 516) nil "Flash the mode line instead of ringing the bell" single ((:commit . "26ac7d97abdeb762ceaeab6b892f3ed7e3412494") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) -(mode-icons . [(20190627 2121) ((emacs (24)) (cl-lib (0 5))) "Show icons for modes" tar ((:commit . "f16969f053f43bf706257673d0800de438d4e33b") (:keywords "multimedia") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://ryuslash.org/projects/mode-icons.html"))]) -(modalka . [(20190713 1335) ((emacs (24 4))) "Easily introduce native modal editing of your own design" single ((:commit . "0a641093f5edb1e0849b82f90a1464623bb14a2f") (:keywords "modal" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/modalka"))]) -(mocker . [(20150917 154) ((eieio (1 3)) (el-x (0 2 4))) "mocking framework for emacs" single ((:commit . "6a1d7c9189bd721debd1a60707526e43a733f537") (:keywords "lisp" "testing") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))]) -(mocha-snippets . [(20190417 1931) ((yasnippet (0 8 0))) "Yasnippets for the Mocha JS Testing Framework" tar ((:commit . "361a3809f755577406e109b9e44d473dfa7c08e0") (:keywords "test" "javascript") (:authors ("Charles Lowell" . "cowboyd@frontside.io")) (:maintainer "Charles Lowell" . "cowboyd@frontside.io"))]) -(mocha . [(20180321 2322) ((js2-mode (20150909)) (f (0 18))) "Run Mocha or Jasmine tests" single ((:commit . "33e1b521a8a8d0225df353b51f1e8a4588ee32d0") (:keywords "javascript" "mocha" "jasmine") (:authors ("Al Scott")) (:maintainer "Al Scott") (:url . "http://github.com/scottaj/mocha.el"))]) -(mobdebug-mode . [(20140110 346) ((lua-mode (20130419)) (emacs (24))) "Major mode for MobDebug" single ((:commit . "e1d483bc4e341c762bc5c0a8c52306a8d01ea0da") (:authors ("Shihpin Tseng" . "deftsp@gmail.com")) (:maintainer "Shihpin Tseng" . "deftsp@gmail.com") (:url . "https://github.com/deftsp/mobdebug-mode"))]) -(mo-vi-ment-mode . [(20181217 206) nil "Provide vi-like cursor movement that's easy on the fingers" single ((:commit . "e8b525ffc5faa31d36ecc5496b40f0f5c3603c08") (:keywords "convenience") (:authors ("Ajay MT" . "ajay.tatachar@gmail.com")) (:maintainer "Ajay MT" . "ajay.tatachar@gmail.com"))]) -(mo-git-blame . [(20160129 1759) nil "An interactive, iterative 'git blame' mode for Emacs" single ((:commit . "254a675eb794cdbbdef9fa2b4b7bb510b70089c0") (:keywords "tools") (:authors ("Moritz Bunkus" . "moritz@bunkus.org")) (:maintainer "Moritz Bunkus" . "moritz@bunkus.org"))]) -(mmt . [(20190713 1347) ((emacs (24 1)) (cl-lib (0 3))) "Missing macro tools for Emacs Lisp" single ((:commit . "753f6dc888acbd932c4fbd7c73ff750381058561") (:keywords "macro" "emacs-lisp") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/mmt"))]) -(mmm-mako . [(20121020 651) ((mmm-mode (0 4 8))) "MMM submode class for Mako Templates" single ((:commit . "5c9ff92137b547569264eeca1ab2a86e4ba12f55") (:authors ("Philip Jenvey" . "pjenvey@underboss.org")) (:maintainer "Philip Jenvey" . "pjenvey@underboss.org") (:url . "https://bitbucket.org/pjenvey/mmm-mako"))]) -(mmm-jinja2 . [(20170313 1420) ((mmm-mode (0 5 4))) "MMM submode class for Jinja2 Templates" single ((:commit . "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Ben Hayden" . "hayden767@gmail.com") (:url . "https://github.com/glynnforrest/mmm-jinja2"))]) -(mkdown . [(20140517 1418) ((markdown-mode (2 0))) "Pretty Markdown previews based on mkdown.com" tar ((:commit . "8e23de82719af6c5b53b52b3308a02b3a1fb872e") (:keywords "markdown") (:authors ("Andrew Tulloch")) (:maintainer "Andrew Tulloch") (:url . "https://github.com/ajtulloch/mkdown.el"))]) -(mixed-pitch . [(20191023 1025) ((emacs (24 3))) "Use a variable pitch, keeping fixed pitch where it's sensible" single ((:commit . "f512a803fdfcea9ca17e0f57a16d4059b1772390") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/mixed-pitch"))]) -(mips-mode . [(20180502 1457) nil "Major-mode for MIPS assembly" single ((:commit . "75152fc78baa762af4f83602f6cb3c8b9bcebca3") (:keywords "languages" "mips" "assembly") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-mips-mode"))]) -(mip-mode . [(20151127 617) nil "virtual projects for emacs." single ((:commit . "7c88c383b4c7ed0a4c1dc397735f365c1fcb461c") (:keywords "workspaces" "workspace" "project" "projects" "mip-mode") (:authors ("Eeli Reilin" . "gaudecker@fea.st")) (:maintainer "Eeli Reilin" . "gaudecker@fea.st"))]) -(minor-mode-hack . [(20170926 34) nil "Change priority of minor-mode keymaps" single ((:commit . "9688994e23ccb2de568225ef125b41c46e5667c3") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/minor-mode-hack.el"))]) -(minizinc-mode . [(20180201 1450) ((emacs (24 1))) "Major mode for MiniZinc code" single ((:commit . "2512521ba7f8e263a06db88df663fc6b3cca7e16") (:keywords "languages" "minizinc") (:url . "http://github.com/m00nlight/minizinc-mode"))]) -(minitest . [(20160628 1820) ((dash (1 0 0))) "An Emacs mode for ruby minitest files" tar ((:commit . "1aadb7865c1dc69c201cecee275751ecec33a182") (:authors ("Arthur Neves")) (:maintainer "Arthur Neves") (:url . "https://github.com/arthurnn/minitest-emacs"))]) -(minions . [(20190918 2048) ((emacs (25 2)) (dash (2 13 0))) "A minor-mode menu for the mode line" single ((:commit . "ca6a3e77ddbd19cdf363ea71ba357096395a5de5") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/minions"))]) -(minimal-theme . [(20190113 2132) nil "A light/dark minimalistic Emacs 24 theme." tar ((:commit . "063b4d8ca33d55d04c341f0b2b777ec241a3e201") (:keywords "color" "theme" "minimal") (:authors ("Anler Hp ")) (:maintainer "Anler Hp ") (:url . "http://github.com/ikame/minimal-theme"))]) -(minimal-session-saver . [(20140508 2041) nil "Very lean session saver" single ((:commit . "cf654ac549850746dc21091746e4bcc1aef7668e") (:keywords "tools" "frames" "project") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/minimal-session-saver"))]) -(miniedit . [(20100419 1745) nil "Enhanced editing for minibuffer fields." single ((:commit . "e12bf659c3eb92dd8a4cb77642dc0865c54667a3"))]) -(minibuffer-cua . [(20130906 1134) nil "Make CUA mode's S-up/S-down work in minibuffer" single ((:commit . "adc4979a64f8b36e05960e9afa0746dfa9e2e4c7") (:keywords "completion" "editing") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/minibuffer-cua.el"))]) -(minibuffer-complete-cycle . [(20130813 1645) nil "Cycle through the *Completions* buffer" single ((:commit . "3df80135887d0169e02294a948711f6dfeca4a6f") (:keywords "completion") (:authors ("Akinori MUSHA" . "knu@iDaemons.org") ("Kevin Rodgers" . "ihs_4664@yahoo.com")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/minibuffer-complete-cycle"))]) -(minibuf-isearch . [(20151226 1943) nil "incremental search on minibuffer history" single ((:commit . "2846c6ac369ee623dad4cd3c8a7a6d9078965516") (:keywords "minibuffer" "history" "incremental search") (:authors ("Keiichiro Nagano" . "knagano@sodan.org") ("Hideyuki SHIRAI " . "shirai@meadowy.org")) (:maintainer "Keiichiro Nagano" . "knagano@sodan.org"))]) -(mini-modeline . [(20191006 1733) ((emacs (25 1)) (dash (2 12 0))) "Display modeline in minibuffer" single ((:commit . "d523de5918a842cd67c029535cf399278396264b") (:keywords "convenience" "tools") (:authors ("Kien Nguyen" . "kien.n.quang@gmail.com")) (:maintainer "Kien Nguyen" . "kien.n.quang@gmail.com") (:url . "https://github.com/kiennq/emacs-mini-modeline"))]) -(mini-header-line . [(20170621 1221) ((emacs (24 4))) "a minimal header-line" single ((:commit . "73b6724e0a26c4528d93768191c8aa59e6bce2e5") (:keywords "header-line" "mode-line") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/mini-header-line"))]) -(mingus . [(20190106 1443) ((libmpdee (2 1))) "MPD Interface" tar ((:commit . "4223be618f57f10f18114a74393a71955b568884") (:keywords "multimedia" "elisp" "music" "mpd") (:authors ("Niels Giesen ")) (:maintainer "Niels Giesen ") (:url . "https://github.com/pft/mingus"))]) -(minesweeper . [(20150414 522) nil "play minesweeper in Emacs" single ((:commit . "d29af12fc6115399c11bdf7461a74cb810c97336") (:keywords "game" "fun" "minesweeper" "inane" "diversion") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://bitbucket.org/zck/minesweeper.el"))]) -(milkode . [(20140927 529) nil "Command line search and direct jump with Milkode" single ((:commit . "ba97e2aeefa1d9d0b3835bf08edd0de248b0c513") (:keywords "milkode" "search" "grep" "jump" "keyword") (:authors ("ongaeshi")) (:maintainer "ongaeshi"))]) -(migemo . [(20190112 516) ((cl-lib (0 5))) "Japanese incremental search through dynamic pattern expansion" single ((:commit . "f42832c8ac462ecbec9a16eb781194f876fba64a") (:authors ("Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp")) (:maintainer "Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp") (:url . "https://github.com/emacs-jp/migemo"))]) -(midje-mode . [(20170809 403) ((cider (0 1 4)) (clojure-mode (1 0))) "Minor mode for running Midje tests in emacs" tar ((:commit . "10ad5b6084cd03d5cd268b486a7c3c246d85535f"))]) -(micgoline . [(20160415 326) ((emacs (24 3)) (powerline (2 3))) "powerline mode, color schemes from microsoft and google's logo." single ((:commit . "837504263bb1711203b0f7efecd6b7b5f272fae0") (:keywords "mode-line" "powerline" "theme") (:authors ("yzprofile" . "yzprofiles@gmail.com")) (:maintainer "yzprofile" . "yzprofiles@gmail.com") (:url . "https://github.com/yzprofile/micgoline"))]) -(mic-paren . [(20170731 1907) nil "advanced highlighting of matching parentheses" single ((:commit . "d0410c7d805c9aaf51a1bcefaaef092bed5824c4") (:keywords "languages" "faces" "parenthesis" "matching") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Klaus Berndl " . "berndl@sdm.de") ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "ttn"))]) -(mhc . [(20190807 513) ((calfw (20150703))) "Message Harmonized Calendaring system." tar ((:commit . "86d3682ff9491893da671237be3cde0b0010ca85") (:keywords "calendar") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:url . "http://www.quickhack.net/mhc"))]) -(mgmtconfig-mode . [(20190324 1908) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "fdc459ec5bbd3422af537f392d552bbdb7fe6f35") (:keywords "languages") (:authors ("Peter Oliver" . "mgmtconfig@mavit.org.uk")) (:maintainer "Mgmt contributors ") (:url . "https://github.com/purpleidea/mgmt/misc/emacs"))]) -(mexican-holidays . [(20190506 245) nil "Mexico holidays for Emacs calendar." single ((:commit . "663633be1d693f6081d7d000e05d15ddbf71aa10") (:keywords "calendar") (:authors ("Saúl Gutiérrez" . "me@sggc.me")) (:maintainer "Saúl Gutiérrez" . "me@sggc.me") (:url . "https://github.com/shopClerk/mexican-holidays"))]) -(mew . [(20190825 2345) nil "Messaging in the Emacs World" tar ((:commit . "3bc70db24c4f1410eb91017ea37173ba7da70281") (:authors ("Kazu Yamamoto" . "Kazu@Mew.org")) (:maintainer "Kazu Yamamoto" . "Kazu@Mew.org"))]) -(metaweblog . [(20191018 242) ((emacs (26 3))) "An XML-RPC MetaWeblog and WordPress API client." single ((:commit . "58398120907504ff200adfd9b817f297142c9680") (:keywords "comm") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:url . "https://github.com/org2blog/org2blog"))]) -(metascript-mode . [(20150709 57) ((emacs (24 3))) "Major mode for the Metascript programming language" single ((:commit . "edb361c7b0e5de231e5334a17b90652fb1df78f9") (:keywords "languages" "metascript" "mjs") (:url . "http://github.com/metascript/metascript-mode"))]) -(metamorph . [(20180930 2028) ((emacs (24 4))) "Transform your buffers with lisp" single ((:commit . "d9dc7037b7eed7b3fe85ea50e91f332e3f831514") (:keywords "metaprogramming" "wp") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/metamorph"))]) -(metalheart-theme . [(20160710 641) ((emacs (24))) "Low-contrast theme with a dark blue-green background." single ((:commit . "ec98ea2c11dc1213dae8cbe1fe0cee73ca138bb2") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) -(meta-presenter . [(20190414 1720) nil "A simple multi-file presentation tool for Emacs" single ((:commit . "704a2e0f2a3e6bb72578e00eccb772dfcf0670fc") (:keywords "productivity" "presentation") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) -(messages-are-flowing . [(20191029 954) nil "visible indication when composing \"flowed\" emails" single ((:commit . "d582a564a63b7b90764ffc5c618bc5300225d0ab") (:keywords "mail") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com"))]) -(meson-mode . [(20181115 2125) ((emacs (24 3))) "Major mode for the Meson build system files" single ((:commit . "b507a87455af906e6c49aa4af70eba5b1d1af9ef") (:keywords "languages" "tools") (:authors ("Michal Sojka" . "sojkam1@fel.cvut.cz")) (:maintainer "Michal Sojka" . "sojkam1@fel.cvut.cz") (:url . "https://github.com/wentasah/meson-mode"))]) -(mermaid-mode . [(20190503 1726) ((f (0 20 0)) (emacs (25 3))) "major mode for working with mermaid graphs" single ((:commit . "6b3cc82cf68528d9056dd3803dc5fab62300a44a") (:keywords "mermaid" "graphs" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/mermaid-mode"))]) -(merlin-eldoc . [(20190830 517) ((emacs (24 4)) (merlin (3 0))) "eldoc for OCaml and Reason" single ((:commit . "db7fab1eddfe34781b7e79694f8923b285698032") (:keywords "merlin" "ocaml" "languages" "eldoc") (:authors ("Louis Roché" . "louis@louisroche.net")) (:maintainer "Louis Roché" . "louis@louisroche.net") (:url . "https://github.com/khady/merlin-eldoc"))]) -(merlin . [(20191025 851) nil "Mode for Merlin, an assistant for OCaml." tar ((:commit . "b693c75bbef4fbdf67382af6d123f8a94ce4d124") (:keywords "ocaml" "languages") (:authors ("Frédéric Bour ")) (:maintainer "Frédéric Bour ") (:url . "https://github.com/ocaml/merlin"))]) -(mentor . [(20190511 1638) ((xml-rpc (1 6 9)) (seq (1 11)) (cl-lib (0 5)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "b5e441b7dc077d5532a3818b5441e52baefad839") (:keywords "comm" "processes" "bittorrent") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com"))]) -(memolist . [(20150804 1721) ((markdown-mode (22 0)) (ag (0 45))) "memolist.el is Emacs port of memolist.vim." single ((:commit . "c437a32d3955f859d9bbcbadf0911bbe27d877ff") (:keywords "markdown" "memo") (:authors ("mikanfactory ")) (:maintainer "mikanfactory") (:url . "http://github.com/mikanfactory/emacs-memolist"))]) -(memoize . [(20191126 2002) nil "Memoization functions" single ((:commit . "c70773e0eb799a17f1f44334d14389c518ec14d4") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/emacs-memoize"))]) -(memento-mori . [(20190628 2147) ((emacs (24)) (cl-lib (0 5))) "Reminder of mortality" single ((:commit . "b99c5ff526079fc5a1e1be097534855da176bc2b") (:keywords "help") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-memento-mori"))]) -(melpa-upstream-visit . [(20130720 1033) ((s (1 6 0))) "A set of kludges to visit a melpa-hosted package's homepage" single ((:commit . "7310c74fdead3c0f86ad6eff76cf989e63f70f66") (:keywords "convenience") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com"))]) -(mellow-theme . [(20170808 1317) ((emacs (24 0))) "an Emacs 24 theme based on Mellow (tmTheme)" single ((:commit . "2bdf18f05f5212b6f269d9a94afe2cf201766891") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(melancholy-theme . [(20190620 1001) nil "No description available." single ((:commit . "3140860d0b310b6ff51b0df11de992cd65135692"))]) -(meghanada . [(20190526 548) ((emacs (24 3)) (yasnippet (0 6 1)) (company (0 9 0)) (flycheck (0 23))) "A better java development mode" tar ((:commit . "24813cf364f1c857c2ee412d0a088f0ceff53842") (:keywords "languages" "java") (:authors ("Yutaka Matsubara" . "yutaka.matsubara@gmail.com")) (:maintainer "Yutaka Matsubara" . "yutaka.matsubara@gmail.com") (:url . "https://github.com/mopemope/meghanada-emacs"))]) -(mediawiki . [(20170813 555) nil "mediawiki frontend" single ((:commit . "8473e12d1839f5287a4227586bf117dad820f867") (:keywords "mediawiki" "wikipedia" "network" "wiki") (:authors ("Mark A. Hershberger" . "mah@everybody.org")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:url . "https://github.com/hexmode/mediawiki-el"))]) -(md4rd . [(20191113 2108) ((emacs (25 1)) (hierarchy (0 7 0)) (request (0 3 0)) (cl-lib (0 6 1)) (dash (2 12 0)) (s (1 12 0)) (tree-mode (1 0 0))) "Mode for reddit (browse it)." single ((:commit . "ff7d95fc0fdf46a3cb6b3bbe52396dc4e474b8fd") (:keywords "ahungry" "reddit" "browse" "news") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/md4rd"))]) -(md-readme . [(20191112 1943) nil "Markdown-formatted READMEs for your ELisp" tar ((:commit . "ca99f44de11fab18d1f50d4b1722f2ceee3c814d") (:keywords "lisp" "help" "readme" "markdown" "header" "documentation" "github") (:authors ("Thomas Kappler" . "tkappler@gmail.com")) (:maintainer "Thomas Kappler" . "tkappler@gmail.com") (:url . "http://github.com/thomas11/md-readme/tree/master"))]) -(mc-extras . [(20181109 1735) ((multiple-cursors (1 2 1))) "Extra functions for multiple-cursors mode." tar ((:commit . "053abc52181b8718559d7361a587bbb795faf164") (:keywords "editing" "cursors") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/mc-extras.el"))]) -(mbsync . [(20191002 751) nil "run mbsync to fetch mails" single ((:commit . "b62491c0e0d89eb9c66261a16d7ac81231c9c453") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/mbsync-el"))]) -(mbo70s-theme . [(20170808 1315) ((emacs (24 0))) "70s style palette, with similarities to mbo theme" single ((:commit . "bed3db8965708ed4e9482b224a9b084765c052f2") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(mbe . [(20151126 1134) ((emacs (24)) (cl-lib (0 5))) "Macros by Example" single ((:commit . "bb10aa8f26bb7e9b1d5746934c94edb00402940c") (:keywords "tools" "macros") (:authors ("Ian Price" . "ianprice90@googlemail.com")) (:maintainer "Ian Price" . "ianprice90@googlemail.com") (:url . "https://github.com/ijp/mbe.el"))]) -(mb-url . [(20191006 1930) ((cl-lib (0))) "Multiple Backends for Emacs URL package." tar ((:commit . "7230902e1f844e0a1388f741e9ae6260cda3de69") (:url . "https://github.com/dochang/mb-url") (:keywords "url"))]) -(maxframe . [(20170120 1705) nil "maximize the emacs frame based on display size" single ((:commit . "daeb5c35bb677a23df69336b4843ea59517e57ed") (:keywords "display" "frame" "window" "maximize") (:authors ("Ryan McGeary")) (:maintainer "Ryan McGeary"))]) -(maven-test-mode . [(20141220 557) ((s (1 9)) (emacs (24))) "Utilities for navigating test files and running maven test tasks." single ((:commit . "a19151861df2ad8ae4880a2e7c86ddf848cb569a") (:keywords "java" "maven" "test") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:url . "http://github.com/rranelli/maven-test-mode"))]) -(maude-mode . [(20160222 1607) nil "Emacs mode for the programming language Maude" single ((:commit . "c9543bb8a172fa77af592388e7f520a4a6d38987") (:keywords "maude") (:authors ("Ellef Gjelstad ")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at"))]) -(matlab-mode . [(20191010 653) nil "Major mode for MATLAB(R) dot-m files" tar ((:commit . "e8d02b83ee22e976c32de211b4a0f6513470c462") (:url . "http://sourceforge.net/projects/matlab-emacs/") (:keywords "matlab" "programming" "language" "(X)emacs"))]) -(math-symbols . [(20170818 1459) ((helm (1 0))) "Math Symbol Input methods and conversion tools" tar ((:commit . "3f8b466f002e1b28ddbe9a6f236c9a1352adb17d") (:keywords "i18n" "languages" "tex") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "https://github.com/kawabata/math-symbols"))]) -(math-symbol-lists . [(20190605 2058) nil "Lists of Unicode math symbols and latex commands" tar ((:commit . "dc7531cff0c845d5470a50c24d5d7309b2ced7eb") (:keywords "unicode" "symbols" "mathematics") (:authors ("Vitalie Spinu" . "spinuvit@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:url . "https://github.com/vspinu/math-symbol-lists"))]) -(material-theme . [(20171123 1840) ((emacs (24 1))) "A Theme based on the colors of the Google Material Design" tar ((:commit . "b66838d220ad380a16da1d8878936974b26f815d") (:keywords "themes") (:authors ("Christoph Paulik" . "cpaulik@gmail.com")) (:maintainer "Christoph Paulik" . "cpaulik@gmail.com") (:url . "http://github.com/cpaulik/emacs-material-theme"))]) -(mastodon . [(20190305 344) ((emacs (24 4))) "Client for Mastodon" tar ((:commit . "5095797ef32b922d2a624fa6beb970b5e9cf5ca0") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Johnson Denen" . "johnson.denen@gmail.com") (:url . "https://github.com/jdenen/mastodon.el"))]) -(maruo-macro-mode . [(20160616 1349) ((emacs (24 3))) "Major mode for editing Hidemaru/Maruo macro script" single ((:commit . "8fc9a38ad051eafa8eb94038711acc52c5d1d8d5") (:keywords "programming" "editor" "macro") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))]) -(marshal . [(20180124 1239) ((eieio (1 4)) (json (1 3)) (ht (2 1))) "eieio extension for automatic (un)marshalling" single ((:commit . "f038689cbd5b3680b80b44edd0c7a63ca3038e26") (:keywords "eieio") (:authors ("Yann Hodique" . "hodiquey@vmware.com")) (:maintainer "Yann Hodique" . "hodiquey@vmware.com") (:url . "https://github.com/sigma/marshal.el"))]) -(marquee-header . [(20191017 1017) ((emacs (25 1))) "Code interface for displaying marquee in header." single ((:commit . "77e4becd8a812377eb219c77641a22a77b4fdfef") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/marquee-header"))]) -(marmalade-client . [(20141231 2007) ((web (0 5 2)) (kv (0 0 19)) (gh (0 8 0))) "client for marmalade API from emacs" tar ((:commit . "f315dea57e4fbebd9ee0668c0bafd4c45c7b754a") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-marmalade-upload"))]) -(markup-faces . [(20141110 817) nil "collection of faces for markup language modes" single ((:commit . "98a807ed82473eb41c6a201ed7ef816d6bcd67b0") (:keywords "wp" "faces") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:url . "https://github.com/sensorflo/markup-faces"))]) -(markup . [(20170420 1129) ((cl-lib (0 5))) "Simple markup generation helpers." single ((:commit . "876da2d3f23473475bb0fd0a1480ae11d2671291") (:keywords "convenience" "markup" "html") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/markup.el"))]) -(markless . [(20190306 1002) ((emacs (24 4))) "Major mode for Markless documents" single ((:commit . "75fdef45df96978e9326ea4d9bf4e534a250c4c0") (:keywords "languages" "wp") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/markless.el/"))]) -(markdownfmt . [(20160609 1241) ((emacs (24))) "Format markdown using markdownfmt" single ((:commit . "187a74eb4fd9e8520ce08da42d1d292b9af7f2b7") (:keywords "markdown") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-markdownfmt"))]) -(markdown-toc . [(20170711 1949) ((s (1 9 0)) (dash (2 11 0)) (markdown-mode (2 1))) "A simple TOC generator for markdown file" tar ((:commit . "7038f4f6d5c2bc7e4aea89699a607ac2b7dd16a8"))]) -(markdown-preview-mode . [(20181213 1339) ((emacs (24 3)) (websocket (1 6)) (markdown-mode (2 0)) (cl-lib (0 5)) (web-server (0 1 1))) "markdown realtime preview minor mode." tar ((:commit . "f98d9114ca87e3e8e5ce70e601d13061eda15415") (:keywords "markdown" "gfm" "convenience") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:url . "https://github.com/ancane/markdown-preview-mode"))]) -(markdown-preview-eww . [(20160111 1502) ((emacs (24 4))) "Realtime preview by eww" single ((:commit . "5853f836425c877c8a956501f0adda137ef1d3b7") (:authors ("niku" . "niku@niku.name")) (:maintainer "niku" . "niku@niku.name") (:url . "https://github.com/niku/markdown-preview-eww"))]) -(markdown-mode . [(20190802 2215) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for Markdown-formatted text" single ((:commit . "f3c54e34cc5228001af36a5301883325319f21d4") (:keywords "markdown" "github flavored markdown" "itex") (:authors ("Jason R. Blevins" . "jblevins@xbeta.org")) (:maintainer "Jason R. Blevins" . "jblevins@xbeta.org") (:url . "https://jblevins.org/projects/markdown-mode/"))]) -(markdown-mode+ . [(20170320 2104) ((markdown-mode (20111229))) "extra functions for markdown-mode" tar ((:commit . "411d079f4430a33c34ec0bbcb1535fe1145a2509") (:keywords "markdown" "latex" "osx" "rtf") (:authors ("Donald Ephraim Curtis")) (:maintainer "Donald Ephraim Curtis") (:url . "http://github.com/milkypostman/markdown-mode-plus"))]) -(mark-tools . [(20130614 1025) nil "Some simple tools to access the mark-ring in Emacs" single ((:commit . "a11b61effa90bd0abc876d12573674d36fc17f0c") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs-mark-tools"))]) -(mark-thing-at . [(20190817 1623) ((emacs (26)) (choice-program (0 9))) "Mark a pattern at the current point" single ((:commit . "0d2220fdc81c33a36ab5f136856f9f2f79cd01a7") (:keywords "mark" "point" "lisp") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/mark-thing-at"))]) -(mark-multiple . [(20121118 1554) nil "Sorta lets you mark several regions at once." tar ((:commit . "f6a53c7c5283d640ae718f4548b0fda78877a375"))]) -(marcopolo . [(20160421 1004) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client to the Docker HUB/Registry API" tar ((:commit . "9193aabdf12223087b5ed58f1507d5d8a24a4381") (:keywords "docker") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/marcopolo"))]) -(map-regexp . [(20190128 18) ((cl-lib (0 6 1))) "map over matches of a regular expression" single ((:commit . "ae2d1c22f786ad987aef3e319925e80160a887a0") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-regexp"))]) -(map-progress . [(20190128 16) ((cl-lib (0 6 1))) "mapping macros that report progress" single ((:commit . "1fb916159cd054c233ce3c80d9d01adfae640297") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-progress"))]) -(mandoku-tls . [(20171118 240) ((emacs (24 4)) (mandoku (20170301)) (github-clone (0 2)) (hydra (0 13 6)) (helm (1 7 0)) (org (9 0)) (helm-charinfo (20170601))) "A tool to access the TLS database" single ((:commit . "ffeebf5bd451ac1806ddfe1744fbbd036a56f902") (:keywords "convenience") (:authors ("Christian Wittern" . "cwittern@gmail.com")) (:maintainer "Christian Wittern" . "cwittern@gmail.com") (:url . "https://github.com/mandoku/mandoku-tls"))]) -(mandoku . [(20180403 1106) ((org (8 0)) (magit (20151028)) (github-clone (20150705)) (git (20140128))) "A tool to access repositories of premodern Chinese texts" tar ((:commit . "d65dbaa329ecf931f4142be72862972ea6a24e63"))]) -(mandm-theme . [(20191112 1832) nil "An M&M color theme." single ((:commit . "4e6ce4f222c1fa175d56e926628f37caa5f398ce") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))]) -(manage-minor-mode . [(20140310 1600) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "1bed33b0752380b548b822fe72e6858c5fe70c8e") (:keywords "minor-mode" "manage" "emacs") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))]) -(man-commands . [(20151221 2221) ((cl-lib (0 5))) "Add interactive commands for every manpages installed in your computer." single ((:commit . "f4ba0c3790855d7544dff92d470d212f24de1d9d") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/man-commands"))]) -(malyon . [(20161208 2125) ((cl-lib (0 5))) "mode to execute Z-code files version 3, 5, 8" single ((:commit . "0d9882650720b4a791556f5e2d917388965d6fc0") (:keywords "games" "emulations") (:authors ("Peter Ilberg , Christopher Madsen , Erik Selberg" . "erik@selberg.org")) (:maintainer "Christopher Madsen , Erik Selberg" . "erik@selberg.org") (:url . "https://github.com/speedenator/malyon"))]) -(mallard-snippets . [(20131023 1851) ((yasnippet (0 8 0)) (mallard-mode (0 1 1))) "Yasnippets for Mallard" tar ((:commit . "70c5293f10722f2ace73bdf74d9a18f95b040edc") (:keywords "snippets" "mallard") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:url . "https://github.com/jhradilek/emacs-mallard-snippets"))]) -(mallard-mode . [(20131204 425) nil "Major mode for editing Mallard files" tar ((:commit . "c48170c1ace4959abcc5fb1df0d4cb149cff44c1") (:keywords "xml" "mallard") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:url . "https://github.com/jhradilek/emacs-mallard-mode"))]) -(malinka . [(20171202 1021) ((s (1 9 0)) (dash (2 4 0)) (f (0 11 0)) (cl-lib (0 3)) (rtags (0 0)) (projectile (0 11 0))) "A C/C++ project configuration package for Emacs" single ((:commit . "d4aa517c7a9022eae16c758c7efdb3a0403542d7") (:keywords "c" "c++" "project-management") (:authors ("Lefteris Karapetsas" . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas" . "lefteris@refu.co") (:url . "https://github.com/LefterisJP/malinka"))]) -(makey . [(20131231 1430) ((cl-lib (0 2))) "interactive commandline mode" single ((:commit . "a61781e69d3b451551e269446e1c5f624ab81137") (:authors ("Mickey Petersen" . "mickey@masteringemacs.org")) (:maintainer "Mickey Petersen" . "mickey@masteringemacs.org"))]) -(makefile-executor . [(20180720 832) ((emacs (24 3)) (dash (2 11 0)) (f (0 11 0)) (s (1 10 0))) "Commands for conveniently running makefile targets" single ((:commit . "9a7d78f814a4b372d8f8179819cb1b37b83b1973") (:keywords "processes") (:authors ("Lowe Thiderman" . "lowe.thiderman@gmail.com")) (:maintainer "Lowe Thiderman" . "lowe.thiderman@gmail.com") (:url . "https://github.com/thiderman/makefile-executor.el"))]) -(make-it-so . [(20190625 1036) ((swiper (0 8 0)) (emacs (24))) "Transform files with Makefile recipes." tar ((:commit . "b73dfb640588123c9eece230ad72b37604f5c126") (:keywords "make" "dired") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/make-it-so"))]) -(make-color . [(20140625 1150) nil "Alternative to picking color - update fg/bg color by pressing r/g/b/... keys" single ((:commit . "5ca1383ca9228bca82120b238bdc119f302b75c0") (:keywords "color") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/make-color.el"))]) -(major-mode-icons . [(20170301 714) ((emacs (24 3)) (powerline (2 4)) (all-the-icons (2 3 0))) "display icon for major-mode on mode-line." tar ((:commit . "e6117a236b2ad52e948576550b183053321dfc91") (:keywords "frames" "multimedia") (:url . "http://github.com/stardiviner/major-mode-icons"))]) -(major-mode-hydra . [(20191014 337) ((dash (2 15 0)) (pretty-hydra (0 2 2)) (emacs (25))) "Major mode keybindings managed by Hydra" single ((:commit . "fd362d2be7ed80889715ed8a30a61780a18ce6ea") (:authors ("Jerry Peng" . "pr2jerry@gmail.com")) (:maintainer "Jerry Peng" . "pr2jerry@gmail.com") (:url . "https://github.com/jerrypnz/major-mode-hydra.el"))]) -(majapahit-theme . [(20160817 1848) nil "Color theme with a dark and light versions" tar ((:commit . "77c96df7619666b2102d90d452eeadf04adc89a6") (:keywords "color" "theme") (:url . "https://gitlab.com/franksn/majapahit-theme"))]) -(magnatune . [(20151030 1935) ((dash (2 9 0)) (s (1 9 0))) "browse magnatune's music catalog" tar ((:commit . "605b01505ba30589c77ebb4c96834b5072ccbdd4"))]) -(magma-mode . [(20181205 1708) ((cl-lib (0 3)) (dash (2 6 0)) (f (0 17 1))) "Magma mode for Emacs" tar ((:commit . "9b734abbdf15fddecb58dc9eed1cbc39b78be2e1") (:url . "https://github.com/ThibautVerron/magma-mode"))]) -(magithub . [(20190512 2316) ((emacs (25)) (magit (2 12)) (s (1 12 0)) (ghub+ (0 3)) (git-commit (2 12)) (markdown-mode (2 3))) "Magit interfaces for GitHub" tar ((:commit . "9fb9c653d0dad3da7ccff3ae321fa6e54c08f41b") (:keywords "git" "tools" "vc") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/magithub"))]) -(magit-vcsh . [(20190817 2014) ((magit (2 90 1)) (vcsh (0 4)) (emacs (24 4))) "Magit vcsh integration" single ((:commit . "fcff128cdbe3ef547dc64f2496cb6405b8ee21ca") (:keywords "vc" "files" "magit") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:url . "https://gitlab.com/stepnem/magit-vcsh-el"))]) -(magit-topgit . [(20160313 1954) ((emacs (24 4)) (magit (2 1 0))) "TopGit extension for Magit" single ((:commit . "11489ea798bc88d0ea5244bbf725285eedfefbef") (:keywords "vc" "tools") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Robin Green" . "greenrd@greenrd.org"))]) -(magit-todos . [(20191201 121) ((emacs (25 2)) (async (1 9 2)) (dash (2 13 0)) (f (0 17 2)) (hl-todo (1 9 0)) (magit (2 13 0)) (pcre2el (1 8)) (s (1 12 0))) "Show source file TODOs in Magit" single ((:commit . "f22350a60c05a2cea9ff277a2e6d7451f7fcba63") (:keywords "magit" "vc") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/magit-todos"))]) -(magit-tbdiff . [(20190918 6) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for range diffs" single ((:commit . "2b08d93c5ead14f34f9cc3c3140ecf25b1531151") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-tbdiff"))]) -(magit-svn . [(20190821 1455) ((emacs (24 4)) (magit (2 1 0))) "Git-Svn extension for Magit" single ((:commit . "2cff1a30a30f2b3963342a7d185ec13fc12279c3") (:keywords "vc" "tools") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk"))]) -(magit-stgit . [(20190313 1158) nil "No description available." single ((:commit . "8294f34e4927798d9db883cafe946a9041b7e331"))]) -(magit-reviewboard . [(20190211 2244) ((emacs (25 2)) (magit (2 13 0)) (s (1 12 0)) (request (0 3 0))) "Show open Reviewboard reviews in Magit" single ((:commit . "f3d5ed914243e3930f9c06f59021305e7e43e67d") (:keywords "magit" "vc") (:authors ("Jules Tamagnan" . "jtamagnan@gmail.com")) (:maintainer "Jules Tamagnan" . "jtamagnan@gmail.com") (:url . "http://github.com/jtamagnan/magit-reviewboard"))]) -(magit-rbr . [(20181009 2016) ((magit (2 13 0)) (emacs (24 3))) "Support for git rbr in Magit" single ((:commit . "029203b3e48537205052a058e964f058cd802c3c") (:keywords "git" "magit" "rbr" "tools") (:authors ("Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com")) (:maintainer "Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com") (:url . "https://github.com/fanatoly/magit-rbr"))]) -(magit-popup . [(20190223 2234) ((emacs (24 4)) (async (1 9 2)) (dash (2 13 0))) "Define prefix-infix-suffix command combos" tar ((:commit . "4250c3a606011e3ff2477e3b5bbde2b493f3c85c") (:keywords "bindings") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit-popup"))]) -(magit-p4 . [(20170414 1246) ((magit (2 1)) (magit-popup (2 1)) (p4 (12 0)) (cl-lib (0 5))) "git-p4 plug-in for Magit" single ((:commit . "cdc05f2d564409baac9ca15b1a2a0110a6ff12b7") (:keywords "vc" "tools") (:authors ("Damian T. Dobroczy\\\\'nski" . "qoocku@gmail.com")) (:maintainer "Aleksey Fedotov" . "lexa@cfotr.com") (:url . "https://github.com/qoocku/magit-p4"))]) -(magit-org-todos . [(20180709 1950) ((magit (2 0 0)) (emacs (24))) "Add local todo items to the magit status buffer" single ((:commit . "9ffa3efb098434d837cab4bacd1601fdfc6fe999") (:keywords "org-mode" "magit" "tools") (:authors ("Daniel Ma")) (:maintainer "Daniel Ma") (:url . "http://github.com/danielma/magit-org-todos"))]) -(magit-libgit . [(20190419 1545) ((emacs (26 1)) (magit (0)) (libgit (0))) "Libgit functionality" single ((:commit . "e311e444bddbd92ec945872e99c9cbf85d679d07") (:keywords "git" "tools" "vc") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))]) -(magit-lfs . [(20190831 118) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "75bf6d3310eae24889589a09e96a4a855e1a11c4") (:keywords "magit" "git" "lfs" "tools" "vc") (:authors ("Junyoung Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung Clare Jang" . "jjc9310@gmail.com") (:url . "https://github.com/ailrun/magit-lfs"))]) -(magit-imerge . [(20191105 2245) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-imerge" single ((:commit . "a7357ab87c89187234fe333bb869727c417638d1") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-imerge"))]) -(magit-gitflow . [(20170929 824) ((magit (2 1 0)) (magit-popup (2 2 0))) "gitflow extension for magit" single ((:commit . "cc41b561ec6eea947fe9a176349fb4f771ed865b") (:keywords "vc" "tools") (:authors ("Jan Tatarik" . "Jan.Tatarik@gmail.com")) (:maintainer "Jan Tatarik" . "Jan.Tatarik@gmail.com") (:url . "https://github.com/jtatarik/magit-gitflow"))]) -(magit-gh-pulls . [(20180716 1636) ((emacs (24 4)) (gh (0 9 1)) (magit (2 12 0)) (pcache (0 2 3)) (s (1 6 1))) "GitHub pull requests extension for Magit" single ((:commit . "6949e973f3e951cb0bfe75d889e0fcccc33ba733") (:keywords "git" "tools") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:url . "https://github.com/sigma/magit-gh-pulls"))]) -(magit-gerrit . [(20160226 930) ((magit (2 3 1))) "Magit plugin for Gerrit Code Review" single ((:commit . "ece6f369694aca17f3ac166ed2801b432acfe20d") (:authors ("Brian Fransioli" . "assem@terranpro.org")) (:maintainer "Brian Fransioli" . "assem@terranpro.org") (:url . "https://github.com/terranpro/magit-gerrit"))]) -(magit-find-file . [(20150702 830) ((magit (2 1 0)) (dash (2 8 0))) "completing-read over all files in Git" single ((:commit . "c3ea91bab37d10a814a829728ec972811f728d60") (:keywords "git") (:authors ("Bradley Wright" . "brad@intranation.com")) (:maintainer "Bradley Wright" . "brad@intranation.com") (:url . "https://github.com/bradleywright/magit-find-file.el"))]) -(magit-filenotify . [(20151116 2340) ((magit (1 3 0)) (emacs (24 4))) "Refresh status buffer when git tree changes" single ((:commit . "c0865b3c41af20b6cd89de23d3b0beb54c8401a4") (:keywords "tools") (:authors ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.de")) (:maintainer "Rüdiger Sonderfeld" . "ruediger@c-plusplus.de"))]) -(magit-diff-flycheck . [(20190524 551) ((magit (2)) (flycheck (31)) (seq (2)) (emacs (25 1))) "Report errors in diffs" single ((:commit . "28acf74f59e385865746cccf4b1e4c4025ae9433") (:keywords "convenience" "matching") (:authors ("Alex Ragone" . "ragonedk@gmail.com")) (:maintainer "Alex Ragone" . "ragonedk@gmail.com") (:url . "https://github.com/ragone/magit-diff-flycheck"))]) -(magit-circleci . [(20190814 1723) ((dash (2 16 0)) (transient (0 1 0)) (magit (2 90 0)) (emacs (25 3))) "CircleCI integration for Magit" single ((:commit . "03101bd9cdbdfd779471a4c6d3d00ebadc8ca4a2") (:keywords "circleci" "continuous" "integration" "magit" "vc" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/magit-circleci"))]) -(magit-annex . [(20190421 241) ((cl-lib (0 3)) (magit (2 90 0))) "Control git-annex from Magit" single ((:commit . "d5d819c609256a3b7b11ccaf6664be61aa3597b6") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com") ("Rémi Vanicat" . "vanicat@debian.org")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-annex"))]) -(magit . [(20191128 1802) ((emacs (25 1)) (async (20180527)) (dash (20180910)) (git-commit (20181104)) (transient (20190812)) (with-editor (20181103))) "A Git porcelain inside Emacs." tar ((:commit . "e311e444bddbd92ec945872e99c9cbf85d679d07") (:keywords "git" "tools" "vc"))]) -(magik-mode . [(20191119 2050) nil "mode for editing Magik + some utils." tar ((:commit . "11ea02254f2bdfaecc12a75545c558fd37b98954") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))]) -(magic-latex-buffer . [(20191106 241) ((cl-lib (0 5)) (emacs (24 3))) "Magically enhance LaTeX-mode font-locking for semi-WYSIWYG editing" single ((:commit . "8597f4db70732d6e479396e2f2a7e78742387253") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(magic-filetype . [(20180219 1552) ((emacs (24)) (s (1 9 0))) "Enhance filetype major mode" single ((:commit . "019494add5ff02dd36cb3f500142fc51125522cc") (:keywords "emulations" "vim" "ft" "file" "magic-mode") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/magic-filetype.el"))]) -(mag-menu . [(20150505 1850) ((splitter (0 1 0))) "Intuitive keyboard-centric menu system" single ((:commit . "9b9277021cd09fb1dba64b1d2a00705d20914bd6") (:keywords "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/mag-menu"))]) -(madhat2r-theme . [(20170203 30) ((emacs (24))) "dark color theme that is easy on the eyes" single ((:commit . "6b387f09de055cfcc15d74981cd4f32f8f9a7323") (:keywords "color" "theme") (:authors ("Micah Duke")) (:maintainer "Micah Duke") (:url . "https://github.com/madhat2r/madhat2r-theme"))]) -(macrostep . [(20161120 2106) ((cl-lib (0 5))) "interactive macro expander" tar ((:commit . "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267") (:keywords "lisp" "languages" "macro" "debugging") (:authors ("joddie" . "j.j.oddie@gmail.com")) (:maintainer "joddie" . "j.j.oddie@gmail.com") (:url . "https://github.com/joddie/macrostep"))]) -(macro-math . [(20130328 1604) nil "in-buffer mathematical operations" single ((:commit . "216e59371e9ee39c34117ba79b9acd78bb415750") (:keywords "convenience") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:url . "http://nschum.de/src/emacs/macro-math/"))]) -(maces-game . [(20170903 1551) ((dash (2 12 0)) (cl-lib (0 5)) (emacs (24))) "another anagram game." tar ((:commit . "c0fb795f5642467ea528d2f04d904547e8a77ecd") (:keywords "games" "word games" "anagram") (:authors ("Pawel Bokota" . "pawelb.lnx@gmail.com")) (:maintainer "Pawel Bokota" . "pawelb.lnx@gmail.com") (:url . "https://github.com/pawelbx/anagram-game"))]) -(mac-pseudo-daemon . [(20170728 1940) ((cl-lib (0 1))) "Daemon mode that plays nice with Mac OS." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx" "mac") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) -(m-buffer . [(20170407 2141) ((seq (2 14))) "List-Oriented, Functional Buffer Manipulation" tar ((:commit . "8681342aaffa187e5c54945ab91b812965a96d19") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.rg.uk"))]) -(lyrics . [(20180812 1841) ((emacs (25 1)) (seq (2 15))) "Show lyrics" single ((:commit . "d0b920be634a5be81ad49418cfaada0f0a57d6cd") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/lyrics.el"))]) -(lxd-tramp . [(20181023 7) ((emacs (24 4)) (cl-lib (0 6))) "TRAMP integration for LXD containers" single ((:commit . "f335c76245f62b02cf67a9376eca6f3863c8a75a") (:keywords "lxd" "lxc" "convenience") (:authors ("Yc.S" . "onixie@gmail.com")) (:maintainer "Yc.S" . "onixie@gmail.com") (:url . "https://github.com/onixie/lxd-tramp.git"))]) -(lxc-tramp . [(20180523 2024) ((emacs (24)) (cl-lib (0 6))) "TRAMP integration for LXC containers" single ((:commit . "1aab85fef50df2067902bff13e1bac5e6366908b") (:keywords "lxc" "convenience") (:authors ("montag451")) (:maintainer "montag451") (:url . "https://github.com/montag451/lxc-tramp"))]) -(lxc . [(20140410 2022) nil "lxc integration with Emacs" single ((:commit . "88bed56c954d1edd9ff5ce0ced2c02dcf9f71835") (:keywords "processes") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-lxc"))]) -(lv . [(20191106 1238) nil "Other echo area" single ((:commit . "bcc2d0eb5b7114688016c143397285d777dedac9") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel"))]) -(lusty-explorer . [(20191115 1552) ((cl-lib (0)) (dired (0))) "Dynamic filesystem explorer and buffer switcher" single ((:commit . "4197a5e4e32f8bc2a94f7777ec6cc12279a1000c") (:keywords "convenience" "files" "matching" "tools") (:url . "https://github.com/sjbach/lusty-emacs"))]) -(lush-theme . [(20180816 2200) ((emacs (24))) "A dark theme with lush colors" single ((:commit . "7cfc993709d712f75c51b505078608c9e1c11466") (:keywords "theme" "dark" "strong colors") (:authors ("Andre Richter" . "andre.o.richter@gmail.com")) (:maintainer "Andre Richter" . "andre.o.richter@gmail.com") (:url . "https://github.com/andre-richter/emacs-lush-theme"))]) -(luarocks . [(20170430 2305) ((emacs (24)) (cl-lib (0 5))) "luarocks tools" single ((:commit . "cee27ba0716edf338077387969883226dd2b7484") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/luarocks.el"))]) -(lua-mode . [(20191111 809) nil "a major-mode for editing Lua scripts" tar ((:commit . "dc302400e38d19cf2bd94d0c30d659ffaf10c6d2") (:keywords "languages" "processes" "tools") (:authors ("2011-2013 immerrr" . "immerrr+lua@gmail.com") ("2010-2011 Reuben Thomas" . "rrt@sc3d.org") ("2006 Juergen Hoetzel" . "juergen@hoetzel.info") ("2004 various (support for Lua 5 and byte compilation)") ("2001 Christian Vogler" . "cvogler@gradient.cis.upenn.edu") ("1997 Bret Mogilefsky" . "mogul-lua@gelatinous.com") ("tcl-mode by Gregor Schmid" . "schmid@fb3-s7.math.tu-berlin.de") ("with tons of assistance from") ("Paul Du Bois" . "pld-lua@gelatinous.com") ("Aaron Smith" . "aaron-lua@gelatinous.com")) (:maintainer "2011-2013 immerrr" . "immerrr+lua@gmail.com") (:url . "http://immerrr.github.com/lua-mode"))]) -(lsp-ui . [(20191125 2102) ((emacs (25 1)) (dash (2 14)) (dash-functional (1 2 0)) (lsp-mode (6 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "d393bed7b993c98d39b5182502c8059b5aed7392") (:keywords "lsp") (:authors ("Sebastien Chapuis , Fangrui Song" . "i@maskray.me")) (:maintainer "Sebastien Chapuis , Fangrui Song" . "i@maskray.me") (:url . "https://github.com/emacs-lsp/lsp-ui"))]) -(lsp-treemacs . [(20191201 739) ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5)) (lsp-mode (6 0))) "LSP treemacs" tar ((:commit . "f6f0495ccd266eeb832ec547d009fae93e1f0564") (:keywords "languages") (:authors ("Ivan Yonchovski")) (:maintainer "Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-treemacs"))]) -(lsp-sourcekit . [(20181216 1450) ((emacs (25 1)) (lsp-mode (5))) "sourcekit-lsp client for lsp-mode" single ((:commit . "04d75b6a0be5894fea4a55fec0b2ccedf5b3be58") (:keywords "languages" "lsp" "swift" "objective-c" "c++") (:authors ("Daniel Martín")) (:maintainer "Daniel Martín") (:url . "https://github.com/emacs-lsp/lsp-sourcekit"))]) -(lsp-scala . [(20190604 1237) ((emacs (24 4)) (lsp-mode (5 0)) (sbt-mode (2 0))) "Scala support for lsp-mode" single ((:commit . "06f189aa5cafe93cecbdaa234bccd900def7bc68") (:keywords "languages" "tools" "scala" "lsp" "metals") (:authors ("Ross A. Baker" . "ross@rossabaker.com")) (:maintainer "Ross A. Baker" . "ross@rossabaker.com") (:url . "https://github.com/rossabaker/lsp-scala"))]) -(lsp-python-ms . [(20191127 1009) ((emacs (25 1)) (cl-lib (0 6 1)) (lsp-mode (6 0))) "The lsp-mode client for Microsoft python-language-server" single ((:commit . "acf05f1ec3d4a81dbe59a0cfe9c67adbcde5ce27") (:keywords "languages" "tools") (:authors ("Charl Botha")) (:maintainer "Andrew Christianson, Vincent Zhang") (:url . "https://github.com/andrew-christianson/lsp-python-ms"))]) -(lsp-pyre . [(20190406 335) ((lsp-mode (6 0))) "lsp-mode client for python using pyre" single ((:commit . "e177b8f5efd1a955b5753aeb5d1894e6d21be35a") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-pyre"))]) -(lsp-p4 . [(20190127 1049) ((lsp-mode (3 0))) "P4 support for lsp-mode" tar ((:commit . "54dd19d88cd561061ac3103dc452d6854e5899fa") (:keywords "lsp" "p4") (:authors ("Dmitri Makarov")) (:maintainer "Dmitri Makarov") (:url . "https://github.com/dmakarov/p4ls"))]) -(lsp-origami . [(20190331 1723) ((origami (1 0)) (lsp-mode (20190326 522))) "origami.el support for lsp-mode" single ((:commit . "c7653602a2f2396b1a42d6053fd2be55fce8e0a2") (:keywords "languages" "lsp-mode") (:authors ("Vibhav Pant")) (:maintainer "Vibhav Pant") (:url . "https://github.com/emacs-lsp/lsp-origami"))]) -(lsp-mode . [(20191201 854) ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (spinner (1 7 3)) (markdown-mode (2 3)) (lv (0))) "LSP mode" tar ((:commit . "8d015aa5b3181d717e8fb9041098cfec7582f675") (:keywords "languages") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-mode"))]) -(lsp-julia . [(20191011 1005) ((emacs (25 1)) (lsp-mode (6 0)) (julia-mode (0 3))) "Julia support for lsp-mode" tar ((:commit . "da66e78eb601b1652c3a9096e0ceea6b852aa6a0") (:keywords "languages" "tools") (:authors ("Martin Wolke" . "vibhavp@gmail.com") ("Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") ("Guido Kraemer" . "gdkrmr@users.noreply.github.com")) (:maintainer "Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") (:url . "https://github.com/non-Jedi/lsp-julia"))]) -(lsp-javacomp . [(20190124 1755) ((emacs (25 1)) (lsp-mode (3 0)) (s (1 2 0))) "Provide Java IDE features powered by JavaComp." single ((:commit . "82aa4ad6ca03a74565c35e855b318b1887bcd89b") (:keywords "java" "tools" "lsp") (:url . "https://github.com/tigersoldier/lsp-javacomp"))]) -(lsp-java . [(20191115 1712) ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0)) (request (0 3 0)) (treemacs (2 5))) "Java support for lsp-mode" tar ((:commit . "df90761021e856ee40574601498afd0b4d478d66") (:keywords "java") (:url . "https://github.com/emacs-lsp/lsp-java"))]) -(lsp-ivy . [(20191028 902) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (5 0)) (ivy (0 13 0))) "LSP ivy integration" single ((:commit . "78c1429c62c19006058b89d462657e1448d1e595") (:keywords "languages" "debug") (:authors ("Sebastian Sturm")) (:maintainer "Sebastian Sturm") (:url . "https://github.com/emacs-lsp/lsp-ivy"))]) -(lsp-intellij . [(20180831 2051) ((emacs (25 1)) (lsp-mode (4 1))) "intellij lsp client" single ((:commit . "cf30f0ac63bd0140e758840b8ab070e8313697b2") (:keywords "languages" "processes" "tools") (:authors ("Ruin0x11" . "ipickering2@gmail.com")) (:maintainer "Ruin0x11" . "ipickering2@gmail.com") (:url . "https://github.com/Ruin0x11/lsp-intellij"))]) -(lsp-haskell . [(20190602 825) ((lsp-mode (3 0)) (haskell-mode (1 0))) "Haskell support for lsp-mode" single ((:commit . "64106be79350f9ce6903d22c66b29761dadb5001") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))]) -(lsp-hack . [(20190329 1931) ((lsp-mode (20190328 2018))) "lsp-mode client for hacklang" single ((:commit . "7c3305c30bffda6fcb74d8f3b0dfecd0369713dc") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-hack"))]) -(lsp-elixir\.el . [(20190105 2059) nil "No description available." tar ((:commit . "9fd091c092144a09c0df2d477257c1f4c37bb985"))]) -(lsp-elixir . [(20190105 2059) ((lsp-mode (20190104 2105)) (emacs (24 4))) "Elixir tooling integration into Emacs" tar ((:commit . "9fd091c092144a09c0df2d477257c1f4c37bb985") (:keywords "languages" "elixir" "elixirc" "mix" "hex" "alchemist") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "http://www.github.com/trevoke/lsp-elixir.el"))]) -(love-minor-mode . [(20170727 536) ((lua-mode (20130419))) "Minor mode for working on LÖVE projects" single ((:commit . "3ca8f3405338f2d6f4fbcdd5e89342a46378543a") (:authors ("Eric James Michael Ritz")) (:maintainer "Eric James Michael Ritz") (:url . "https://github.com/ejmr/love-minor-mode"))]) -(lorem-ipsum . [(20190819 2042) nil "Insert dummy pseudo Latin text." single ((:commit . "da75c155da327c7a7aedb80f5cfe409984787049") (:keywords "tools" "language" "convenience") (:authors ("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) (:maintainer "Joe Schafer" . "joe@jschaf.com"))]) -(loop . [(20160813 1407) nil "friendly imperative loop structures" single ((:commit . "e22807f83a0890dc8a904c51ee0742c34efccc6c") (:keywords "loop" "while" "for each" "break" "continue") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(look-mode . [(20190212 2346) nil "quick file viewer for image and text file browsing" single ((:commit . "d686e4cfafeac24e07e3efdb9763472f78d878f4") (:authors ("Peter H. Mao " . "petermao@jpl.nasa.gov")) (:maintainer "Peter H. Mao " . "petermao@jpl.nasa.gov"))]) -(look-dired . [(20160729 2323) ((look-mode (1 0))) "Extensions to look-mode for dired buffers" single ((:commit . "9bfa4e5e6f3810705b6426c88493ea0bf6b15640") (:keywords "convenience") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/look-dired"))]) -(lolcode-mode . [(20111002 847) nil "Major mode for editing LOLCODE" single ((:commit . "1914f1ba87587ecf5f175eeb2144c28e9f039317") (:keywords "lolcode" "major" "mode") (:authors ("Bodil Stokke" . "lolcode@bodil.tv")) (:maintainer "Bodil Stokke" . "lolcode@bodil.tv") (:url . "http://github.com/bodil/lolcode-mode"))]) -(lolcat . [(20190527 1145) ((emacs (24 3))) "Rainbows and unicorns!" single ((:commit . "4855e587a3b9681c077dac4b9f166dd860f439a4") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/lolcat.el"))]) -(logview . [(20181027 1757) ((emacs (24 4)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a") (:keywords "files" "tools") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/logview"))]) -(logstash-conf . [(20170524 1929) nil "basic mode for editing logstash configuration" single ((:commit . "4e127f9aec190786613445aa88efa307ff7c6748") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) -(logpad . [(20190927 2043) nil "Simulate Windows Notepad for logging." single ((:commit . "ff80fd198b196c4db9ca88ae8cf858cae491e121") (:keywords "files" "outlines" "notepad") (:authors ("Jens K. Loewe" . "git@tuxproject.de")) (:maintainer "Jens K. Loewe" . "git@tuxproject.de") (:url . "https://bitbucket.org/tux_/logpad.el"))]) -(lognav-mode . [(20191124 1011) ((emacs (24 3))) "Navigate Log Error Messages" single ((:commit . "7eb9cd2af5b47116fe475870b41dded55052c14c") (:keywords "log" "error" "lognav-mode" "convenience") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://hg.osdn.net/view/lognav-mode/lognav-mode"))]) -(logito . [(20120225 2055) ((eieio (1 3))) "logging library for Emacs" single ((:commit . "824acb89d2cc18cb47281a4fbddd81ad244a2052") (:keywords "lisp" "tool") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))]) -(logalimacs . [(20131021 1829) ((popwin (0 6 2)) (popup (0 5 0)) (stem (20130120))) "Front-end to logaling-command for Ruby gems" single ((:commit . "8286e39502250fc6c3c6656a7f46a8eee8e9a713") (:keywords "translation" "logaling-command") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:url . "https://github.com/logaling/logalimacs"))]) -(log4j-mode . [(20160108 1918) nil "major mode for viewing log files" single ((:commit . "26171b1e723502055e085393b0ecdcb6db406010") (:keywords "tools") (:authors ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:url . "http://log4j-mode.sourceforge.net"))]) -(log4e . [(20170401 1304) nil "provide logging framework for elisp" single ((:commit . "c69424e407be0d9d0e54b427d8b18b1ac5a607e2") (:keywords "log") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/log4e"))]) -(lodgeit . [(20190802 1308) nil "Paste to a lodgeit powered pastebin" single ((:commit . "442637194d48a7105b7747b8d98772f5899f9e21") (:keywords "pastebin" "lodgeit") (:authors ("Eric Larson" . "eric@ionrock.org")) (:maintainer "Eric Larson" . "eric@ionrock.org") (:url . "https://github.com/ionrock/lodgeit-el"))]) -(lockfile-mode . [(20170625 507) nil "Major mode for .lock files" single ((:commit . "fcfef88460cb3cd67c4d83a1801d0326d282feac") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-lockfile-mode"))]) -(loccur . [(20191022 1955) ((emacs (24 3))) "Perform an occur-like folding in current buffer" single ((:commit . "4934c0560d2f63e6314b4584211a0cc0a7e671c4") (:keywords "matching") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/loccur"))]) -(loc-changes . [(20160801 1708) nil "keep track of positions even after buffer changes" single ((:commit . "4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-loc-changes"))]) -(load-theme-buffer-local . [(20120702 2036) nil "Install emacs24 color themes by buffer." single ((:commit . "e606dec66f16a06140b9aad625a4fd52bca4f936") (:keywords "faces") (:authors ("Victor Borja" . "vic.borja@gmail.com")) (:maintainer "Victor Borja" . "vic.borja@gmail.com") (:url . "http://github.com/vic/color-theme-buffer-local"))]) -(load-relative . [(20190601 1221) nil "Relative file load (within a multi-file Emacs package)" tar ((:commit . "dbcd7cbcca6503ef93f4b8d19bf7a9efd7f6bf9b") (:keywords "internal") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-load-relative"))]) -(load-env-vars . [(20180511 2210) ((emacs (24))) "Load environment variables from files" single ((:commit . "3808520efaf9492033f6e11a9bffd68eabf02a0f") (:keywords "lisp") (:authors ("Jorge Dias" . "jorge@mrdias.com")) (:maintainer "Jorge Dias" . "jorge@mrdias.com") (:url . "https://github.com/diasjorge/emacs-load-env-vars"))]) -(load-bash-alias . [(20181220 1755) ((emacs (24 1)) (seq (2 16))) "Convert bash aliases into eshell ones" single ((:commit . "50df445bace7896318f10c58d26b673635704215") (:keywords "emacs" "bash" "eshell" "alias") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:url . "https://github.com/daviderestivo/load-bash-alias"))]) -(lms . [(20191102 3) ((emacs (25 1))) "Squeezebox / Logitech Media Server frontend" single ((:commit . "0967d3bada2ab70784a944d56c81691b8e87dbd8") (:keywords "multimedia") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/lms"))]) -(livid-mode . [(20131116 1344) ((skewer-mode (1 5 3)) (s (1 8 0))) "Live browser eval of JavaScript every time a buffer changes" single ((:commit . "dfe5212fa64738bc4138bfebf349fbc8bc237c26") (:authors ("Murphy McMahon")) (:maintainer "Murphy McMahon") (:url . "https://github.com/pandeiro/livid-mode"))]) -(livescript-mode . [(20140613 421) nil "Major mode for editing LiveScript files" single ((:commit . "90a918d9686e256e6d4d439cc20f24dad8d3b804") (:keywords "languages" "livescript") (:authors ("Hisamatsu Yasuyuki" . "yas@null.net")) (:maintainer "Hisamatsu Yasuyuki" . "yas@null.net") (:url . "https://github.com/yhisamatsu/livescript-mode"))]) -(livereload . [(20170629 650) ((emacs (25)) (websocket (1 8))) "Livereload server" tar ((:commit . "1e501d7e46dbd476c2c7cc9d20b5ac9d41fb1955") (:keywords "convenience") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com"))]) -(lively . [(20171005 754) nil "interactively updating text" single ((:commit . "348675828c6a81bfa1ac311ca465aad813542c1b") (:authors ("Luke Gorrie" . "luke@bup.co.nz")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) -(live-py-mode . [(20191126 558) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "8208fafa6ee64aa85097c68699494477fa2e3e2b") (:keywords "live" "coding") (:authors ("Don Kirkby http://donkirkby.github.io")) (:maintainer "Don Kirkby http://donkirkby.github.io") (:url . "http://donkirkby.github.io/live-py-plugin/"))]) -(live-preview . [(20190415 2214) ((emacs (24 4))) "Live preview by any shell command while editing" single ((:commit . "bc3f79b58c4e428485b2cf800278004220f7433d") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-live-preview"))]) -(live-code-talks . [(20180907 1647) ((emacs (24)) (cl-lib (0 5)) (narrowed-page-navigation (0 1))) "Support for slides with live code in them" single ((:commit . "97f16a9ee4e6ff3e0f9291eaead772c66e3e12ae") (:keywords "docs" "multimedia") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))]) -(literate-starter-kit . [(20150730 1854) ((emacs (24 3))) "A literate starter kit to configure Emacs using Org-mode files." tar ((:commit . "6dce1d01781966c14558aa553cfc85008c06e115"))]) -(literate-elisp . [(20191012 606) ((cl-lib (0 6)) (emacs (24 4))) "literate program to write elisp codes in org mode" single ((:commit . "fb3b376de483d6923bb067caa01ebdb65a0161c2") (:keywords "lisp" "docs" "extensions" "tools") (:authors ("Jingtao Xu" . "jingtaozf@gmail.com")) (:maintainer "Jingtao Xu" . "jingtaozf@gmail.com") (:url . "https://github.com/jingtaozf/literate-elisp"))]) -(literate-coffee-mode . [(20170211 1515) ((coffee-mode (0 5 0))) "major-mode for Literate CoffeeScript" single ((:commit . "55ce0305495f4a38c8063c4bd63deb1e1252373d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-literate-coffee-mode"))]) -(literal-string . [(20191023 733) ((emacs (25)) (edit-indirect (0 1 5))) "edit string literals in a dedicated buffer" single ((:commit . "afffa86e626798ee9f9188ea3be2d5ee6ad17c39") (:keywords "lisp" "tools" "docs") (:authors ("Joost Diepenmaat" . "joost@zeekat.nl")) (:maintainer "Joost Diepenmaat" . "joost@zeekat.nl") (:url . "https://github.com/joodie/literal-string-mode/"))]) -(litecoin-ticker . [(20160612 11) ((json (1 2))) "litecoin price in modeline" single ((:commit . "3d8047c736e4ee0b8638953f8cc63eaefad34106") (:authors ("Zhe Lei")) (:maintainer "Zhe Lei"))]) -(litable . [(20160922 1559) ((dash (2 6 0))) "dynamic evaluation replacement with emacs" single ((:commit . "b0278f3f8dcff424bfbdfdefb545b1fbff33206f") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) -(lit-mode . [(20141123 1736) nil "Major mode for lit" single ((:commit . "c61c403afc8333a5649c5421ab1a6341dc1c7d92") (:keywords "languages" "tools") (:authors ("Hector A Escobedo" . "ninjahector.escobedo@gmail.com")) (:maintainer "Hector A Escobedo" . "ninjahector.escobedo@gmail.com"))]) -(list-utils . [(20160414 1402) nil "List-manipulation utility functions" single ((:commit . "acf18aca1131a90f8d673974673e3c5d8fdc6a86") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/list-utils"))]) -(list-unicode-display . [(20181121 2316) ((emacs (24 3))) "Search for and list unicode characters by name" single ((:commit . "0ecc2402b258990e7a0cf7e60847712c69444070") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) -(list-packages-ext . [(20151115 1716) ((s (1 6 0)) (ht (1 5 0)) (persistent-soft (0 8 6))) "Extras for list-packages" single ((:commit . "b4dd644e4369c9aa66f5bb8895ea49ebbfd0a27a") (:keywords "convenience" "tools") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com"))]) -(list-environment . [(20151227 256) nil "A tabulated process environment editor" single ((:commit . "b7ca30b05905047be2e55199a6475f8d98ce318b") (:keywords "processes" "unix") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com"))]) -(lispyville . [(20190719 141) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "56198f1c4488a52a0d0512c717dff36e8b9fbfd0") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/lispyville"))]) -(lispyscript-mode . [(20170720 1917) nil "Major mode for LispyScript code." single ((:commit . "def632e3335b0c481fbcf5a17f18b0a8c58dd12f") (:keywords "lisp" "languages") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/lispyscript-mode"))]) -(lispy . [(20191127 1003) ((emacs (24 3)) (ace-window (0 9 0)) (iedit (0 9 9)) (counsel (0 11 0)) (hydra (0 14 0)) (zoutline (0 1 0))) "vi-like Paredit" tar ((:commit . "8055a42bb502c57923fc1435bc45209f2add6284"))]) -(lispxmp . [(20170926 23) nil "Automagic emacs lisp code annotation" single ((:commit . "7ad077b4ee91ce8a42f84eeddb9fc7ea4eac7814") (:keywords "lisp" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/lispxmp.el"))]) -(lisp-extra-font-lock . [(20181008 1921) nil "Highlight bound variables and quoted exprs." single ((:commit . "4605eccbe1a7fcbd3cacf5b71249435413b4db4f") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/lisp-extra-font-lock"))]) -(lisp-butt-mode . [(20191128 835) ((emacs (25))) "Slim Lisp Butts" single ((:commit . "9eca319bdbb96dac4d44d19cd21937ed82a67268") (:keywords "lisp") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/lisp-butt-mode"))]) -(liso-theme . [(20160410 2029) nil "Eclectic Dark Theme for GNU Emacs" single ((:commit . "844688245eb860d23043455e165ee24503454c81") (:keywords "theme" "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/liso-theme"))]) -(liquid-types . [(20151202 735) ((flycheck (0 13)) (dash (1 2)) (emacs (24 1)) (popup (0 5 2)) (pos-tip (0 5 0)) (flycheck-liquidhs (0 0 1)) (button-lock (1 0 2))) "show inferred liquid-types" single ((:commit . "cc4bacbbf204ef9cf0756f78dfebee2c6ae14d7b") (:authors ("Ranjit Jhala" . "jhala@cs.ucsd.edu")) (:maintainer "Ranjit Jhala" . "jhala@cs.ucsd.edu"))]) -(linum-relative . [(20180124 1047) nil "display relative line number in emacs." single ((:commit . "c74a6981b688a5e1e6b8e0809363963ff558ce4d") (:keywords "converience") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/linum-relative"))]) -(linum-off . [(20160217 2137) nil "Provides an interface for turning line-numbering off" single ((:commit . "116e66ac259b183e0763b85616888316ab196822") (:keywords "line" "numbering") (:authors ("Matthew L. Fidler, Florian Adamsky (see wiki)")) (:maintainer "Matthew L. Fidler") (:url . "http://www.emacswiki.org/emacs/auto-indent-mode.el "))]) -(linphone . [(20130524 1109) nil "Emacs interface to Linphone" tar ((:commit . "99af3db941b7f4e5272bb48bff96c1ce4ceac302") (:keywords "comm") (:authors ("Yoni Rabkin" . "yonirabkin@member.fsf.org")) (:maintainer "Yoni Rabkin" . "yonirabkin@member.fsf.org") (:url . "https://github.com/zabbal/emacs-linphone"))]) -(link-hint . [(20190721 1844) ((avy (0 4 0)) (emacs (24 1)) (cl-lib (0 5))) "Use avy to open, copy, etc. visible links." single ((:commit . "4db4e6fb82bfffd00f540e3a489013f6a8173871") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/link-hint.el"))]) -(link . [(20191111 446) nil "Hypertext links in text buffers" single ((:commit . "c9cad101100975e88873636bfd426b7a19304ebd") (:keywords "interface" "hypermedia") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) -(linguistic . [(20181129 2116) nil "A package for basic linguistic analysis." tar ((:commit . "23e47e98cdb09ee61883669b6d8a11bf6449862c") (:keywords "linguistics" "text analysis" "matching") (:authors ("Andrew Favia ")) (:maintainer "Andrew Favia ") (:url . "https://github.com/andcarnivorous/linguistic"))]) -(lingr . [(20100807 1731) nil "Lingr Client for GNU Emacs" single ((:commit . "4215a8704492d3c860097cbe2649936c22c196df") (:keywords "chat" "client" "internet") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "lugecy" . "lugecy@gmail.com") (:url . "http://github.com/lugecy/lingr-el"))]) -(lines-at-once . [(20180422 247) ((emacs (25))) "Insert and edit multiple lines at once" single ((:commit . "a018ba90549384d52ec58c2685fd14a0f65252be") (:keywords "abbrev" "tools") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:url . "https://github.com/jiahaowork/lines-at-once.el"))]) -(line-up-words . [(20180219 1024) nil "Align words in an intelligent way" single ((:commit . "fefdee6fb6f7467b5afee6a591f677d7981b60bf") (:url . "https://github.com/janestreet/line-up-words"))]) -(line-reminder . [(20191016 1528) ((emacs (24 4)) (cl-lib (0 6))) "Line annotation similar to Visual Studio." single ((:commit . "ea7fc43210b5293beac4ac453b1bdde415f5183e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/line-reminder"))]) -(light-soap-theme . [(20150607 1445) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "76a787bd40c6b567ae68ced7f5d9f9f10725e00d"))]) -(lice . [(20191011 631) nil "License And Header Template" tar ((:commit . "3ff90745cd43d1cc41216a01f55f871a00692ffe") (:keywords "template" "license" "tools") (:authors ("Taiki Sugawara" . "buzz.taiki@gmail.com")) (:maintainer "Taiki Sugawara" . "buzz.taiki@gmail.com") (:url . "https://github.com/buzztaiki/lice-el"))]) -(libmpdel . [(20191129 853) ((emacs (25 1))) "Communication with an MPD server" single ((:commit . "cfb18f96e32d129e2dffc8bd47d7ae08fbe11225") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))]) -(libmpdee . [(20160117 2301) nil "Client end library for mpd, a music playing daemon" single ((:commit . "a6ca3b7d6687f3ba60996b9b5044ad1d3b228290") (:keywords "music" "mpd") (:authors ("Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com")) (:maintainer "Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com"))]) -(libgit . [(20191105 2242) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "d587efce66a961e94187f399aef08cc3b1d21741") (:keywords "git" "vc") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/libegit2"))]) -(libelcouch . [(20190820 1632) ((emacs (25 1)) (request (0 3 0))) "Communication with CouchDB" single ((:commit . "29e369df4f96c7ad95bb33292de7a44122e0b4e7") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/elcouch/libelcouch/"))]) -(libbcel . [(20191129 922) ((emacs (26 1)) (request (0 3 1))) "Library to connect to basecamp 3 API" tar ((:commit . "02362b83e13b96479d7abfae15a9bc83640b884e") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/bcel/libbcel"))]) -(libbasecampel . [(20190919 1948) nil "No description available." tar ((:commit . "f3eab975b7222eb4441743744eb8697bd82b57ec"))]) -(lfe-mode . [(20170121 1254) nil "Lisp Flavoured Erlang mode" tar ((:commit . "a6c9922f31f59686bb48db1b8d5b75e74e79757a"))]) -(lexbind-mode . [(20141027 1429) nil "Puts the value of lexical-binding in the mode line" single ((:commit . "fa0a6848c1cfd3fbf45db43dc2deef16377d887d") (:keywords "convenience" "lisp") (:authors ("Andrew Kirkpatrick" . "ubermonk@gmail.com")) (:maintainer "Andrew Kirkpatrick" . "ubermonk@gmail.com") (:url . "https://github.com/spacebat/lexbind-mode"))]) -(levenshtein . [(20090830 1040) nil "Edit distance between two strings." single ((:commit . "070925197ebf6b704e6e00c4f2d2ec783f3df38c") (:keywords "lisp") (:authors ("Aaron S. Hawley ,") ("Art Taylor")) (:maintainer "Aaron S. Hawley ,"))]) -(leuven-theme . [(20190831 1008) nil "Awesome Emacs color theme on white background" tar ((:commit . "026da5d614864a60bb151f0e75240a938e41923b") (:keywords "color" "theme") (:authors ("Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>")) (:maintainer "Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>") (:url . "https://github.com/fniessen/emacs-leuven-theme"))]) -(letterbox-mode . [(20170702 125) ((emacs (24 3))) "hide sensitive text on a buffer" single ((:commit . "88c67a51d67216d569a28e8423200883fde096dd") (:keywords "password" "convenience") (:authors ("Fernando Leboran" . "f.leboran@gmail.com")) (:maintainer "Fernando Leboran" . "f.leboran@gmail.com") (:url . "http://github.com/pacha64/letterbox-mode"))]) -(letcheck . [(20160202 1948) nil "Check the erroneous assignments in let forms" single ((:commit . "edf188ca2f85349e971b83f164c6484264e79426") (:keywords "convenience") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/letcheck"))]) -(less-css-mode . [(20161001 453) nil "Major mode for editing LESS CSS files (lesscss.org)" single ((:commit . "c7fa3d56d83206b28657f2e56439dc62280a2bf2") (:keywords "less" "css" "mode") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/less-css-mode"))]) -(lentic-server . [(20160717 2052) ((lentic (0 8)) (web-server (0 1 1))) "Web Server for Emacs Literate Source" single ((:commit . "8e809fafbb27a98f815b544d9d9ee15843eb6a36") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) -(lentic . [(20190102 2124) ((emacs (24 4)) (m-buffer (0 13)) (dash (2 5 0)) (f (0 17 2)) (s (1 9 0))) "One buffer as a view of another" tar ((:commit . "e6d013bf570bb235817f6c8f0abdd31d3b456d53") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) -(lenlen-theme . [(20170329 245) ((color-theme-solarized (20150110))) "a solarized-based kawaii light theme" single ((:commit . "b8a6412c81633b10fb98ba0930f55b25071c084a") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(lemon-mode . [(20130216 1304) nil "A major mode for editing lemon grammar files" single ((:commit . "155bfced6c9afc8072a0133d3d1baa54c6d67430") (:keywords "lemon") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com"))]) -(legalese . [(20150820 1724) nil "Add legalese to your program files" single ((:commit . "ec23e69d18329456beed9546a1d6c72f96db91cf") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/legalese"))]) -(leetcode . [(20191011 800) ((emacs (26)) (dash (2 16 0)) (graphql (0 1 1)) (spinner (1 7 3)) (aio (1 0))) "An leetcode client." single ((:commit . "86e9e167c10eed487cf6715a764527d84ccb35fa") (:keywords "extensions" "tools") (:authors ("Wang Kai" . "kaiwkx@gmail.com")) (:maintainer "Wang Kai" . "kaiwkx@gmail.com") (:url . "https://github.com/kaiwk/leetcode.el"))]) -(leerzeichen . [(20170422 1313) nil "Minor mode to display whitespace characters." single ((:commit . "5acf9855ecb2b2cd5da4402bb48df149e7525cc5") (:keywords "whitespace" "characters") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:url . "http://github.com/fgeller/leerzeichen.el"))]) -(ledger-mode . [(20191126 2029) ((emacs (24 3))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "239dbe0f73e6c27a2a9605851c291e1c2d5e33b4"))]) -(ledger-import . [(20191126 2035) ((emacs (25 1)) (ledger-mode (3 1 1))) "Fetch OFX files from bank and push them to Ledger" single ((:commit . "e32c4dd5952e3e5daa65eda5a22d508e97683409") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))]) -(leanote . [(20161223 139) ((emacs (24 4)) (cl-lib (0 5)) (request (0 2)) (let-alist (1 0 3)) (pcache (0 4 0)) (s (1 10 0)) (async (1 9))) "A minor mode writing markdown leanote" single ((:commit . "d499e7b59bb1f1a2fabc0e4c26fb101ed62ebc7b") (:keywords "leanote" "note" "markdown") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:url . "https://github.com/aborn/leanote-emacs"))]) -(lean-mode . [(20190914 958) ((emacs (24 3)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 10 0)) (f (0 19 0)) (flycheck (30))) "A major mode for the Lean language" tar ((:commit . "b5ba739f68ef731c03247bf6db2708502c8ac46c") (:keywords "languages") (:authors ("Leonardo de Moura" . "leonardo@microsoft.com") ("Soonho Kong " . "soonhok@cs.cmu.edu") ("Gabriel Ebner " . "gebner@gebner.org") ("Sebastian Ullrich" . "sebasti@nullri.ch")) (:maintainer "Sebastian Ullrich" . "sebasti@nullri.ch") (:url . "https://github.com/leanprover/lean-mode"))]) -(leaf-keywords . [(20191123 1814) ((emacs (24 4)) (leaf (3 5 0))) "Additional leaf.el keywords for external packages" single ((:commit . "c3223e54eddf82a9b264ef81d958a017049141da") (:keywords "lisp" "settings") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf-keywords.el"))]) -(leaf . [(20191117 339) ((emacs (24 4))) "Simplify your init.el configuration, extended use-package" single ((:commit . "57b99052f949f34471265f8b010549ee4725c320") (:keywords "lisp" "settings") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf.el"))]) -(lcr . [(20180902 1919) ((dash (2 12 0)) (emacs (25 1))) "lightweight coroutines" single ((:commit . "c14f40692292d59156c7632dbdd2867c086aa75f") (:keywords "tools") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:url . "https://github.com/jyp/lcr"))]) -(lcb-mode . [(20160816 540) ((emacs (24))) "LiveCode Builder major mode" single ((:commit . "be0768e9aa6f9b8e76f2230f4f7f4d152a766b9a") (:keywords "languages") (:authors ("Peter TB Brett" . "peter@peter-b.co.uk")) (:maintainer "Peter TB Brett" . "peter@peter-b.co.uk") (:url . "https://github.com/peter-b/lcb-mode"))]) -(lavender-theme . [(20170808 1313) ((emacs (24 0))) "an Emacs 24 theme based on Lavender (tmTheme)" single ((:commit . "ef5e959b95d7fb8152137bc186c4c24e986c1e3c") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) -(launchctl . [(20150518 1309) ((emacs (24 1))) "Interface to launchctl on Mac OS X." single ((:commit . "73f8f52a5aa9a0be9bdcf68c29ad0fa2b4a115a4") (:keywords "tools" "convenience") (:authors ("Peking Duck ")) (:maintainer "Peking Duck ") (:url . "http://github.com/pekingduck/launchctl-el"))]) -(launch-mode . [(20170106 512) ((emacs (24 4))) "Major mode for launch-formatted text" tar ((:commit . "25ebd4ba77afcbe729901eb74923dbe9ae81c313") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:url . "https://github.com/iory/launch-mode"))]) -(launch . [(20130619 2204) nil "launch files with OS-standard associated applications." single ((:commit . "e7c3b573fc05fe4d3d322389079909311542e799") (:keywords "convenience" "processes") (:authors ("Simon Law" . "sfllaw@sfllaw.ca")) (:maintainer "Simon Law" . "sfllaw@sfllaw.ca") (:url . "https://github.com/sfllaw/emacs-launch"))]) -(latexdiff . [(20190827 1651) ((emacs (24 4))) "Latexdiff integration in Emacs" single ((:commit . "56d0b240867527d1b43d3ddec14059361929b971") (:keywords "tex" "vc" "tools" "git" "helm") (:authors ("Launay Gaby" . "gaby.launay@tutanota.com")) (:maintainer "Launay Gaby" . "gaby.launay@tutanota.com") (:url . "http://github.com/galaunay/latexdiff.el"))]) -(latex-unicode-math-mode . [(20170123 1816) nil "Input method for Unicode math symbols" tar ((:commit . "eb4a5c9f9b00a58d2ca80f90782a851f4c8497b8") (:authors ("Christoph Dittmann" . "github@christoph-d.de")) (:maintainer "Christoph Dittmann" . "github@christoph-d.de") (:url . "https://github.com/Christoph-D/latex-unicode-math-mode"))]) -(latex-preview-pane . [(20181008 1822) nil "Makes LaTeX editing less painful by providing a updatable preview pane" tar ((:commit . "5297668a89996b50b2b62f99cba01cc544dbed2e"))]) -(latex-pretty-symbols . [(20151112 1044) nil "Display many latex symbols as their unicode counterparts" single ((:commit . "83d5888147bb734a94dfd4847a11e975a7d86ba8") (:keywords "convenience" "display") (:authors ("Erik Parmann" . "eparmann@gmail.com") ("Pål Drange")) (:maintainer "Erik Parmann" . "eparmann@gmail.com") (:url . "https://bitbucket.org/mortiferus/latex-pretty-symbols.el"))]) -(latex-math-preview . [(20190123 802) nil "preview LaTeX mathematical expressions." single ((:commit . "90fd86da2d9514882146a5db40cb916fc533cf55") (:keywords "latex" "tex") (:authors ("Takayuki YAMAGUCHI" . "d@ytak.info")) (:maintainer "Takayuki YAMAGUCHI" . "d@ytak.info") (:url . "https://gitlab.com/latex-math-preview/latex-math-preview"))]) -(latex-extra . [(20170817 147) ((auctex (11 86 1)) (cl-lib (0 5))) "Adds several useful functionalities to LaTeX-mode." single ((:commit . "82d99b8b0c2db20e5270749582e03bcc2443ffb5") (:keywords "tex") (:authors ("Artur Malabarba" . "artur@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "artur@endlessparentheses.com") (:url . "http://github.com/Malabarba/latex-extra"))]) -(lastpass . [(20191102 611) ((emacs (24 4)) (seq (1 9)) (cl-lib (0 5))) "LastPass command wrapper" single ((:commit . "e07b1a062153b9d56d0112ac45caf76d6bce67c5") (:keywords "extensions" "processes" "lpass" "lastpass") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/emacs-lastpass"))]) -(language-id . [(20191129 1958) ((emacs (24)) (cl-lib (0 5))) "Library to work with programming language identifiers" single ((:commit . "7fa68027761ae6ca95da8ed3c76f19ab97fb7886") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-language-id"))]) -(language-detection . [(20161123 1813) ((emacs (24)) (cl-lib (0 5))) "Automatic language detection from code snippets" single ((:commit . "54a6ecf55304fba7d215ef38a4ec96daff2f35a4") (:authors ("Andreas Jansson" . "andreas@jansson.me.uk")) (:maintainer "Andreas Jansson" . "andreas@jansson.me.uk") (:url . "https://github.com/andreasjansson/language-detection.el"))]) -(langtool . [(20190303 2227) ((cl-lib (0 3))) "Grammar check utility using LanguageTool" single ((:commit . "81f2b8a07b29bbdd558db4b68dd904f4c0eb10a4") (:keywords "docs") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-langtool"))]) -(langdoc . [(20150218 645) ((cl-lib (0 2))) "Help to define help document mode for various languages" single ((:commit . "2c7223bacb116992d700ecb19a60df5c09c63424") (:keywords "convenience" "eldoc") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/langdoc/"))]) -(lang-refactor-perl . [(20131122 2127) nil "Simple refactorings, primarily for Perl" single ((:commit . "691bd69639de6b7af357e3b7143563ececd9c497") (:keywords "languages" "refactoring" "perl") (:authors (nil . "Johan Lindstrom ")) (:maintainer nil . "Johan Lindstrom ") (:url . "https://github.com/jplindstrom/emacs-lang-refactor-perl"))]) -(lammps-mode . [(20180801 1319) ((emacs (24 4))) "basic syntax highlighting for LAMMPS files" single ((:commit . "a5b68d7a59975770b56ee8f6e66fa4f703a72ffe") (:keywords "languages" "faces") (:authors ("Aidan Thompson ")) (:maintainer "Rohit Goswami ") (:url . "https://github.com/lammps/lammps/tree/master/tools/emacs"))]) -(laguna-theme . [(20190714 1830) nil "A theme that's easy on the eyes & focuses on importance." single ((:commit . "66c613692b9f0c71050a236e98dbc54cb410946b") (:authors ("Henry Newcomer" . "a.cliche.email@gmail.com")) (:maintainer "Henry Newcomer" . "a.cliche.email@gmail.com") (:url . "https://github.com/henrynewcomer/laguna"))]) -(labburn-theme . [(20170502 907) nil "A lab color space zenburn theme." single ((:commit . "e95334acd8a73fbe8e156f70e047014a87e92e66") (:keywords "theme" "zenburn") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/labburn-theme"))]) -(lab-themes . [(20190320 1827) ((emacs (24))) "A custom theme carefully constructed in the LAB space" tar ((:commit . "a4d1806793ab7a651c5380ebb2d1b53c8fbf7944") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/lab-theme"))]) -(kwin . [(20150308 1812) nil "communicatewith the KWin window manager" single ((:commit . "d4f8f3593598b71ee596e0a87b2c1d6a912a9566") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner") (:url . "http://github.com/reactormonk/kwin-minor-mode"))]) -(kv . [(20140108 1534) nil "key/value data structure functions" single ((:commit . "721148475bce38a70e0b678ba8aa923652e8900e") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) -(kurecolor . [(20180401 1221) ((emacs (24 1)) (s (1 0))) "color editing goodies for Emacs" single ((:commit . "a27153f6a01f38226920772dc4917b73166da5e6") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))]) -(kubernetes-tramp . [(20181228 922) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for kubernetes containers" single ((:commit . "8713571b66940f8f3f496b55baa23cdf1df7a869") (:keywords "kubernetes" "convenience") (:authors ("Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com")) (:maintainer "Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com") (:url . "https://github.com/gruggiero/kubernetes-tramp"))]) -(kubernetes-helm . [(20190201 320) ((yaml-mode (0 0 13)) (emacs (25 3))) "extension for helm, the package manager for kubernetes" single ((:commit . "bdf9280899b5efab6d55ffd96bad716c5f8e75bc") (:keywords "kubernetes" "helm" "k8s" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/kubernetes-helm"))]) -(kubernetes-evil . [(20191108 615) ((kubernetes (0 13 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "fb91cfc22af330b7daaab1c249ce78fbc034474d") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) -(kubernetes . [(20191108 615) ((emacs (25 1)) (dash (2 12 0)) (magit (2 8 0)) (magit-popup (2 13 0))) "Magit-like porcelain for Kubernetes." tar ((:commit . "fb91cfc22af330b7daaab1c249ce78fbc034474d") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) -(kubel . [(20191014 2010) ((transient (0 1 0)) (emacs (25 3))) "extension for controlling Kubernetes with limited permissions" single ((:commit . "101793932651b736a76d53008ef07aac4a3ff52c") (:keywords "kubernetes" "k8s" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/kubel"))]) -(ksp-cfg-mode . [(20190414 2348) ((emacs (24)) (cl-lib (0 5))) "major mode for editing KSP CFG files" single ((:commit . "faec8bd8456c67276d065eb68c88a30efcef59ef") (:keywords "data") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:url . "http://github.com/lashtear/ksp-cfg-mode"))]) -(kroman . [(20150827 2340) nil "Korean hangul romanization" single ((:commit . "90402b6ae40383e75d8ba97d66eee93eebf40f70") (:keywords "korean" "roman") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))]) -(kpm-list . [(20170924 1352) nil "An emacs buffer list that tries to intelligently group together buffers." single ((:commit . "e0f5112e5ce8ec1b603f4428fa51681c68bb28f5") (:authors ("Kevin Mahoney")) (:maintainer "Kevin Mahoney") (:url . "https://github.com/KMahoney/kpm-list/"))]) -(kotlin-mode . [(20191102 1510) ((emacs (24 3))) "Major mode for kotlin" tar ((:commit . "ab610996820b5cbdb032edbf8747661131603ab8") (:keywords "languages") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com"))]) -(kosmos-theme . [(20170502 1850) ((emacs (24))) "Black and lightgray theme with not so much syntax highlighting." single ((:commit . "616456d2376a75dc31190ad65137d179fbad4336") (:authors ("Maxim Kim" . "habamax@gmail.com")) (:maintainer "Maxim Kim" . "habamax@gmail.com") (:url . "https://github.com/habamax/kosmos-theme"))]) -(korean-holidays . [(20190102 1558) nil "Korean holidays for calendar." single ((:commit . "3f90ed86f46f8e5533f23baa40e2513ac497ca2b") (:keywords "calendar") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:url . "https://github.com/tttuuu888/korean-holidays"))]) -(kooten-theme . [(20161023 905) ((emacs (24 1))) "Dark color theme" single ((:commit . "d10197b4dd7af02cd14aeab2573c273a294798c3") (:keywords "themes") (:authors ("Pascal van Kooten" . "kootenpv@gmail.com")) (:maintainer "Pascal van Kooten" . "kootenpv@gmail.com") (:url . "http://github.com/kootenpv/emacs-kooten-theme"))]) -(kolon-mode . [(20140122 1134) nil "Syntax highlighting for Text::Xslate's Kolon syntax" single ((:commit . "5af0955e280ae991862189ebecd3937c5fc8fb9f") (:keywords "xslate" "perl") (:authors ("Sam Tran")) (:maintainer "Sam Tran") (:url . "https://github.com/samvtran/kolon-mode"))]) -(kodi-remote . [(20190622 1325) ((request (0 2 0)) (let-alist (1 0 4)) (json (1 4)) (cl-lib (0 5)) (f (20190109 906))) "Remote Control for Kodi" single ((:commit . "f5e932036c16e2b61a63020e006fc601e38d181e") (:keywords "kodi" "tools" "convinience") (:authors ("Stefan Huchler" . "stefan.huchler@mail.de")) (:maintainer "Stefan Huchler" . "stefan.huchler@mail.de") (:url . "http://github.com/spiderbit/kodi-remote.el"))]) -(know-your-http-well . [(20160208 2304) nil "Look up the meaning of HTTP headers, methods, relations, status codes" tar ((:commit . "3cc5ab6d2764ab7aacb1b6e026abaccbeb6c37f2"))]) -(klere-theme . [(20180415 1823) ((emacs (24))) "A dark theme with lambent color highlights and incremental grays" single ((:commit . "c064f9e5c44173c239fce239a62c8d5e61827672") (:authors ("Wamm K. D." . "jaft.r@outlook.com")) (:maintainer "Wamm K. D." . "jaft.r@outlook.com") (:url . "https://github.com/WammKD/emacs-klere-theme"))]) -(kixtart-mode . [(20150611 1604) ((emacs (24))) "major mode for Kixtart scripting files" single ((:commit . "1c2356797e7b766bbaaa2b341176a8b10499cd79") (:keywords "languages") (:authors ("Ryrun ")) (:maintainer "Ryrun ") (:url . "https://github.com/ryrun/kixtart-mode"))]) -(kiwix . [(20191016 951) ((emacs (24 4)) (cl-lib (0 5)) (request (0 3 0))) "Searching offline Wikipedia through Kiwix." single ((:commit . "1fdcfcc6c080b5232cf588460283e16180a81dc9") (:keywords "kiwix" "wikipedia") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/kiwix.el"))]) -(kivy-mode . [(20180702 2029) nil "Emacs major mode for editing Kivy files" single ((:commit . "18aa4389e3a0f726d98189ac095546811d009739") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))]) -(kite-mini . [(20160508 1106) ((dash (2 11 0)) (websocket (1 5))) "Remotely evaluate JavaScript in the WebKit debugger" tar ((:commit . "a68619dbc109c7989f3448426d8c1ee9e797c11f") (:keywords "webkit") (:authors ("Tung Dao" . "me@tungdao.com")) (:maintainer "Tung Dao" . "me@tungdao.com") (:url . "https://github.com/tungd/kite-mini.el"))]) -(kite . [(20130201 1938) ((json (1 2)) (websocket (0 93 1))) "WebKit inspector front-end" tar ((:commit . "7ed74d1147a6ddd152d3da65dc30df3517d53144") (:keywords "tools") (:authors ("Julian Scheid" . "julians37@gmail.com")) (:maintainer "Julian Scheid" . "julians37@gmail.com"))]) -(killer . [(20190128 10) nil "kill and delete text" single ((:commit . "ace0547944933440384ceeb5876b1f68c082d540") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "http://github.com/tarsius/killer"))]) -(kill-ring-search . [(20140422 1555) nil "incremental search for the kill ring" single ((:commit . "23535b4a01a1cb1574604e36c49614e84e85c883") (:keywords "convenience" "matching") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:url . "http://nschum.de/src/emacs/kill-ring-search/"))]) -(kill-or-bury-alive . [(20190713 1340) ((emacs (24 4)) (cl-lib (0 5))) "Precise control over buffer killing in Emacs" single ((:commit . "fec16e7e5bf603c6971230f344882ce7a0d04e90") (:keywords "buffer" "killing" "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/kill-or-bury-alive"))]) -(kibit-helper . [(20150508 1533) ((s (0 8)) (emacs (24))) "Conveniently use the Kibit Leiningen plugin from Emacs" single ((:commit . "16bdfff785ee05d8e74a5780f6808506d990cef7") (:keywords "languages" "clojure" "kibit") (:authors ("Jonas Enlund") ("James Elliott" . "james@brunchboy.com")) (:maintainer "Jonas Enlund") (:url . "http://www.github.com/brunchboy/kibit-helper"))]) -(khardel . [(20191124 1257) ((emacs (25 1)) (yaml-mode (0 0 13))) "Integrate with khard" tar ((:commit . "5ee835a4429c58dec3900e4fa3d7cc1e778c969b") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/khardel"))]) -(kfg . [(20140909 538) ((f (0 17 1))) "an emacs configuration system" single ((:commit . "d2c9dd26618fb2f7bf1e7b6eae193b1cceba3c97") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/kfg"))]) -(keyword-search . [(20180424 1102) nil "browser keyword search from Emacs" tar ((:commit . "f8475ecaddb8804a9be6bee47678207c86ac8dee") (:keywords "web" "search" "keyword") (:maintainer "Jens Petersen") (:url . "https://github.com/juhp/keyword-search"))]) -(keyswap . [(20160813 957) ((emacs (24 3))) "swap bindings between key pairs" single ((:commit . "cd682a7c4a8d64d6bae6a005db5045232e5e7b95") (:keywords "convenience") (:authors ("Matthew Malcomson" . "hardenedapple@gmail.com")) (:maintainer "Matthew Malcomson" . "hardenedapple@gmail.com") (:url . "http://github.com/hardenedapple/keyswap.el"))]) -(keystore-mode . [(20190409 1946) ((emacs (24 3)) (origami (1 0)) (s (1 12 0)) (seq (2 20))) "A major mode for viewing and managing (java) keystores" tar ((:commit . "43bd5926348298d077c7221f37902c990df3f951") (:keywords "tools") (:authors ("Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com")) (:maintainer "Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com") (:url . "https://github.com/peterpaul/keystore-mode"))]) -(keyset . [(20150220 530) ((dash (2 8 0)) (cl-lib (0 5))) "A small library for structuring key bindings." single ((:commit . "41bbfc4dbed5de6ecf3ec1dba634c7c26241ca84") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/keyset"))]) -(keypress-multi-event . [(20190109 530) ((emacs (24 3))) "Perform different actions for the same keypress." single ((:commit . "9de65a27e10d8ae47aa6d28c02c3eb82ee8c0b2e") (:keywords "abbrev" "convenience" "wp" "keyboard") (:authors ("Boruch Baum" . "boruch_baum@gmx.com")) (:maintainer "Boruch Baum" . "boruch_baum@gmx.com") (:url . "https://www.github.com/Boruch_Baum/emacs-keypress-multi-event"))]) -(keymap-utils . [(20191105 2240) ((cl-lib (0 3))) "keymap utilities" single ((:commit . "5d3ecdaaa36afb60e5effac43052e573bee0bb28") (:keywords "convenience" "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keymap-utils"))]) -(keyfreq . [(20160516 1416) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "9c665c8c219d18866403897936427bb408e3d6b9") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))]) -(keydef . [(20090428 1931) nil "a simpler way to define keys, with kbd syntax" single ((:commit . "dff2be9f58d12d8c6a490ad0c1b2b10b55528dc0") (:keywords "convenience" "lisp" "customization" "keyboard" "keys") (:authors ("Michael John Downes" . "mjd@ams.org")) (:maintainer "Michael John Downes" . "mjd@ams.org"))]) -(keychain-environment . [(20180318 2223) nil "load keychain environment variables" single ((:commit . "d3643196de6dc79ea77f9f4805028350fd76100b") (:keywords "gnupg" "pgp" "ssh") (:authors ("Paul Tipper ")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keychain-environment"))]) -(keycast . [(20191105 2240) ((emacs (25 3))) "Show current command and its key in the mode line" single ((:commit . "b7ef571043b9563918e741ed966abb3f47160195") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keycast"))]) -(key-seq . [(20150907 756) ((key-chord (0 6))) "map pairs of sequentially pressed keys to commands" single ((:commit . "e29b083a6427d061638749194fc249ef69ad2cc0") (:keywords "convenience" "keyboard" "keybindings") (:authors ("Vyacheslav Levit" . "dev@vlevit.org")) (:maintainer "Vyacheslav Levit" . "dev@vlevit.org") (:url . "http://github.com/vlevit/key-seq.el"))]) -(key-quiz . [(20190721 1357) ((emacs (26))) "Emacs Keys Quiz" single ((:commit . "f4a27da3c09dbee62d63dd756bc44652f6319692") (:keywords "games") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/key-quiz"))]) -(key-leap . [(20160831 1447) ((emacs (24 3))) "Leap between lines by typing keywords" single ((:commit . "b3f6ef15c8a13870475d5af159fa24b30f97dea0") (:keywords "point" "convenience") (:authors ("Martin Rykfors" . "martinrykfors@gmail.com")) (:maintainer "Martin Rykfors" . "martinrykfors@gmail.com") (:url . "https://github.com/MartinRykfors/key-leap"))]) -(key-intercept . [(20140211 749) nil "Intercept prefix keys" single ((:commit . "d9a60edb4ce893f2d3d94f242164fdcc62d43cf2") (:keywords "keyboard") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:url . "http://github.com/tarao/key-intercept-el"))]) -(key-combo . [(20150324 1439) nil "map key sequence to commands" single ((:commit . "2fb5c65bc82d5bd2964e2b163822429ab45d90a1") (:keywords "keyboard" "input") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:url . "https://github.com/uk-ar/key-combo"))]) -(key-chord . [(20160227 1238) nil "map pairs of simultaneously pressed keys to commands" single ((:commit . "72443e9ff3c4f1c3ccaced3130236801efde3d83") (:keywords "keyboard" "chord" "input") (:authors ("David Andersson ")) (:maintainer "David Andersson "))]) -(kerl . [(20150424 2005) nil "Emacs integration for kerl" single ((:commit . "1732ee26213f021bf040919c45ad276aafcaae14") (:keywords "tools") (:authors ("Correl Roush" . "correl@gmail.com")) (:maintainer "Correl Roush" . "correl@gmail.com") (:url . "http://github.com/correl/kerl.el/"))]) -(kdeconnect . [(20180126 2340) nil "An interface for KDE Connect" single ((:commit . "ca0cbf9a628ba7b519b43fa85e0d988ca26bf853") (:keywords "kdeconnect" "android") (:authors ("Carl Lieberman" . "dev@carl.ac")) (:maintainer "Carl Lieberman" . "dev@carl.ac"))]) -(kconfig-mode . [(20190818 2030) ((emacs (24 3))) "Major mode for editing Kconfig files" single ((:commit . "02bb919596cf673828e95872dc329f2424a99864") (:keywords "kconfig" "languages" "linux" "kernel") (:authors ("Dela Anthonio" . "dell.anthonio@gmail.com")) (:maintainer "Dela Anthonio" . "dell.anthonio@gmail.com") (:url . "https://github.com/delaanthonio/kernel-modes"))]) -(karma . [(20160220 1245) ((pkg-info (0 4)) (emacs (24))) "Karma Test Runner Emacs Integration" single ((:commit . "31d3e7708246183d7ed0686be92bf23140af348c") (:keywords "language" "javascript" "js" "karma" "testing") (:authors ("Samuel Tonini")) (:maintainer "Samuel Tonini") (:url . "http://github.com/tonini/karma.el"))]) -(kapacitor . [(20190414 1908) ((emacs (25 1)) (magit (2 13 0)) (magit-popup (2 12 4))) "Main file for kapacitor-mode" single ((:commit . "e3300d8b4017a2f66b0d929cb85bcc7ee2612072") (:keywords "kapacitor" "emacs" "magit" "tools") (:authors ("Manoj Kumar Manikchand" . "manojm.321@gmail.com")) (:maintainer "Manoj Kumar Manikchand" . "manojm.321@gmail.com") (:url . "http://github.com/Manoj321/kapacitor-el"))]) -(kaomoji . [(20171227 440) ((emacs (24 3)) (helm-core (1 9 1))) "Input kaomoji superb easily" tar ((:commit . "90a1490743b2a30762f5454c9d9309018eff83dd") (:keywords "tools" "fun") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/kaomoji.el"))]) -(kaolin-themes . [(20191130 1827) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "03e026a83349a802bb69980bcd50e499222a2913") (:keywords "dark" "light" "teal" "blue" "violet" "purple" "brown" "theme" "faces") (:authors ("Ogden Webb" . "ogdenwebb@gmail.com")) (:maintainer "Ogden Webb" . "ogdenwebb@gmail.com") (:url . "https://github.com/ogdenwebb/emacs-kaolin-themes"))]) -(kaocha-runner . [(20190904 1950) ((emacs (26)) (s (1 4 0)) (cider (0 21 0)) (parseedn (0 1 0))) "A package for running Kaocha tests via CIDER." single ((:commit . "1376d50f1fc91f9345351aeb4960b54bf83be59e") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:url . "https://github.com/magnars/kaocha-runner.el"))]) -(kanji-mode . [(20160826 1139) nil "View stroke order for kanji characters at cursor" tar ((:commit . "eda4f8666486689d36317db7dbda54fb73d3e3d2") (:authors ("Wojciech Gac" . "wojciech.s.gac@gmail.com")) (:maintainer "Wojciech Gac" . "wojciech.s.gac@gmail.com") (:url . "http://github.com/wsgac/kanji-mode "))]) -(kanban . [(20170418 810) nil "Parse org-todo headlines to use org-tables as Kanban tables" single ((:commit . "dd11d722b20ae720f29b8aa93a3b1cad87650b33") (:keywords "outlines" "convenience") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) -(kaleidoscope-evil-state-flash . [(20170728 1020) ((evil (1 2 12)) (kaleidoscope (0 1 0)) (s (1 11 0))) "Flash keyboard LEDs when changing Evil state" single ((:commit . "52b5be3277f65cb5ca657973e9bd7f914b996356") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/kaleidoscope.el"))]) -(kaleidoscope . [(20170808 817) ((s (1 11 0))) "Controlling Kaleidoscope-powered devices." single ((:commit . "52b5be3277f65cb5ca657973e9bd7f914b996356") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/kaleidoscope.el"))]) -(kakoune . [(20191017 1502) ((ryo-modal (0 4)) (multiple-cursors (1 4)) (expand-region (0 11 0)) (emacs (25 1))) "A simulation, but not emulation, of kakoune" tar ((:commit . "d73d14e69ea38076af50cc69f846808383ff539d") (:authors ("Joseph Morag" . "jm4157@columbia.edu")) (:maintainer "Joseph Morag" . "jm4157@columbia.edu") (:url . "https://github.com/jmorag/kakoune.el"))]) -(kakapo-mode . [(20171004 451) ((cl-lib (0 5))) "TABS (hard or soft) for indentation (leading whitespace), and SPACES for alignment." single ((:commit . "292e07203c676361a1d918deb5acf2123cd70eaf") (:keywords "indentation") (:url . "https://github.com/listx/kakapo-mode"))]) -(kaesar-mode . [(20160128 1008) ((kaesar (0 1 4)) (cl-lib (0 3))) "Encrypt/Decrypt buffer by AES with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data" "convenience") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))]) -(kaesar-file . [(20160128 1008) ((kaesar (0 1 1))) "Encrypt/Decrypt file by AES with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data" "files") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))]) -(kaesar . [(20160128 1008) ((cl-lib (0 3))) "Another AES algorithm encrypt/decrypt string with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))]) -(k8s-mode . [(20191006 849) ((emacs (24 3)) (yaml-mode (0 0 10))) "Major mode for Kubernetes configuration file" tar ((:commit . "5984acee6f3891afa78acfd1d08c44a24953a233") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/emacs-k8s-mode"))]) -(jvm-mode . [(20150422 708) ((dash (2 6 0)) (emacs (24))) "Monitor and manage your JVMs" single ((:commit . "3355dbaf5b0185aadfbad24160399abb32c5bea0") (:keywords "convenience") (:authors ("Martin Trojer" . "martin.trojer@gmail.com")) (:maintainer "Martin Trojer" . "martin.trojer@gmail.com") (:url . "https://github.com/martintrojer/jvm-mode.el"))]) -(jupyter . [(20191019 1519) ((emacs (26)) (zmq (0 10 3)) (cl-lib (0 5)) (simple-httpd (1 5 0)) (websocket (1 9))) "Jupyter" tar ((:commit . "9e3c1633586982e278f072dfaaabd115fa4d19f7") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-jupyter"))]) -(jumplist . [(20151120 345) ((cl-lib (0 5))) "Jump like vim jumplist or ex jumplist" single ((:commit . "c482d137d95bc5e1bcd790cdbde25b7f729b2502") (:keywords "jumplist" "vim") (:authors ("ganmacs ")) (:maintainer "ganmacs ") (:url . "https://github.com/ganmacs/jumplist"))]) -(jump-tree . [(20171014 1551) nil "Treat position history as a tree" tar ((:commit . "282267dc6305889e31d46b405b7ad4dfe5923b66") (:keywords "convenience" "position" "jump" "tree") (:authors ("Wen Yang" . "yangwen0228@foxmail.com")) (:maintainer "Wen Yang" . "yangwen0228@foxmail.com") (:url . "https://github.com/yangwen0228/jump-tree"))]) -(jump-to-line . [(20130122 1653) nil "Jump to line number at point." single ((:commit . "01ef8c3529d85e6c59cc20840acbc4a8e8325bc8") (:keywords "jump" "line" "back" "file" "ruby" "csharp" "python" "perl") (:authors ("ongaeshi")) (:maintainer "ongaeshi"))]) -(jump-char . [(20180601 1348) nil "navigation by char" single ((:commit . "1e31a3c687f2b3c71bbfab881c6d75915534bb9e") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/jump-char"))]) -(jump . [(20161127 128) ((findr (0 7)) (inflections (2 4)) (cl-lib (0 5))) "build functions which contextually jump between files" single ((:commit . "e4f1372cf22e811faca52fc86bdd5d817498a4d8") (:keywords "project" "convenience" "navigation") (:authors ("Eric Schulte")) (:maintainer "Eric Schulte") (:url . "http://github.com/eschulte/jump.el"))]) -(jumblr . [(20170727 2043) ((s (1 8 0)) (dash (2 2 0))) "an anagram game for emacs" tar ((:commit . "34533dfb9db8538c005f4eaffafeff7ed193729f") (:keywords "anagram" "word game" "games") (:url . "https://github.com/mkmcc/jumblr"))]) -(julia-shell . [(20161125 1910) ((julia-mode (0 3))) "Major mode for an inferior Julia shell" tar ((:commit . "583a0b2ca20461ab4356929fd0f2212c22341b69") (:authors ("Dennis Ogbe" . "dogbe@purdue.edu")) (:maintainer "Dennis Ogbe" . "dogbe@purdue.edu"))]) -(julia-repl . [(20191124 1534) ((emacs (25)) (s (1 12))) "A minor mode for a Julia REPL" tar ((:commit . "f30dc29c4a9b08962f4f1264e35f6ba9a062c8e3") (:keywords "languages") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:url . "https://github.com/tpapp/julia-repl"))]) -(julia-mode . [(20191128 1452) nil "Major mode for editing Julia source code" tar ((:commit . "4f024cbae1e1acc31685cc39559da88820b85ad7") (:keywords "languages") (:url . "https://github.com/JuliaLang/julia"))]) -(jtags . [(20160211 2029) nil "enhanced tags functionality for Java development" tar ((:commit . "b50daa48510f71e74ce0ec2eb85030896a79cf96") (:keywords "languages" "tools") (:authors ("Alexander Baltatzis" . "alexander@baltatzis.com") ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:url . "http://jtags.sourceforge.net"))]) -(jsx-mode . [(20191116 1044) nil "major mode for JSX, an altJS" single ((:commit . "e3f52e9c5ea2a61cbe288d8cd3525a335f5d3afd") (:authors ("Takeshi Arabiki (abicky)")) (:maintainer "Takeshi Arabiki (abicky)") (:url . "https://github.com/jsx/jsx-mode.el"))]) -(jst . [(20150604 1138) ((s (1 9)) (f (0 17)) (dash (2 10)) (pcache (0 3)) (emacs (24 4))) "JS test mode" single ((:commit . "2a3fd16c992f7790dc67134ef06a814c3d20579c") (:keywords "js" "javascript" "jasmine" "coffee" "coffeescript") (:authors ("Cheung Hoi Yu" . "yeannylam@gmail.com")) (:maintainer "Cheung Hoi Yu" . "yeannylam@gmail.com") (:url . "https://github.com/cheunghy/jst-mode"))]) -(jss . [(20130508 1423) ((emacs (24 1)) (websocket (0)) (js2-mode (0))) "An emacs interface to webkit and mozilla debuggers" tar ((:commit . "41749257aecf13c7bd6ed489b5ab3304d06e40bc") (:keywords "languages") (:authors ("Marco Baringer" . "mb@bese.it")) (:maintainer "Marco Baringer" . "mb@bese.it"))]) -(jsonnet-mode . [(20181211 1853) ((emacs (24))) "Major mode for editing jsonnet files" single ((:commit . "2b90b4e12a11c42df0f1e5db327a50555b6ff023") (:keywords "languages") (:authors ("Nick Lanham")) (:maintainer "Nick Lanham") (:url . "https://github.com/mgyucht/jsonnet-mode"))]) -(jsonl . [(20190623 509) ((emacs (25))) "Utility functions for working with line-delimited JSON" single ((:commit . "3dd0b7bb2b4bce9f9de7367941f0cc78f82049c9") (:keywords "tools") (:authors ("Erik Anderson" . "erik@ebpa.link")) (:maintainer "Erik Anderson" . "erik@ebpa.link") (:url . "https://github.com/ebpa/jsonl.el"))]) -(json-snatcher . [(20150512 347) ((emacs (24))) "Grabs the path to JSON values in a JSON file" single ((:commit . "c4cecc0a5051bd364373aa499c47a1bb7a5ac51c") (:authors ("Sterling Graham" . "sterlingrgraham@gmail.com")) (:maintainer "Sterling Graham" . "sterlingrgraham@gmail.com") (:url . "http://github.com/sterlingg/json-snatcher"))]) -(json-rpc-server . [(20190714 1521) ((emacs (26))) "Server-side JSON-RPC library." single ((:commit . "1623346b308dc8f593346dc947fdc4092d674834") (:keywords "tools" "comm" "json" "rpc") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:url . "https://github.com/jcaw/json-rpc-server.el"))]) -(json-rpc . [(20180104 1528) ((emacs (24 1)) (cl-lib (0 5))) "JSON-RPC library" single ((:commit . "0992ae71964055230aa5d4d934a1b93b5dfd7eb4") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-json-rpc"))]) -(json-reformatter-jq . [(20190425 925) ((emacs (24)) (reformatter (0 3))) "reformat json using jq" single ((:commit . "86bb6f7f7e116bcb0d52f37db308085b5b6ecb16") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-json-reformatter-jq"))]) -(json-reformat . [(20160212 853) nil "Reformatting tool for JSON" single ((:commit . "8eb6668ed447988aea06467ba8f42e1f2178246f") (:keywords "json") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/json-reformat"))]) -(json-process-client . [(20190827 1858) ((emacs (25 1))) "Interact with a TCP process using JSON" single ((:commit . "422606a7bf08d13646e3db4f6c2bddb69bd61dec") (:authors ("Nicolas Petton" . "nicolas@petton.fr") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/nico/json-process-client"))]) -(json-navigator . [(20190131 1031) ((emacs (24 3)) (hierarchy (0 6 0))) "View and navigate JSON structures" single ((:commit . "f4cde60c4203fc70cc7ff22ed1d6579159ce2598") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/json-navigator"))]) -(json-mode . [(20190123 422) ((json-reformat (0 0 5)) (json-snatcher (1 0 0))) "Major mode for editing JSON files." single ((:commit . "0e819e519ae17a2686e0881c4ca51fa873fa9b83") (:authors ("Josh Johnston")) (:maintainer "Josh Johnston") (:url . "https://github.com/joshwnj/json-mode"))]) -(jsfmt . [(20180920 1008) nil "Interface to jsfmt command for javascript files" single ((:commit . "ca141a135c7700eaedef92561d334e1fb7dc28a1") (:authors ("Brett Langdon" . "brett@blangdon.com")) (:maintainer "Brett Langdon" . "brett@blangdon.com") (:url . "https://github.com/brettlangdon/jsfmt.el"))]) -(jscs . [(20151015 1749) ((emacs (24 1)) (cl-lib (0 5))) "Consistent JavaScript editing using JSCS" single ((:commit . "9d39d0f2355e69a020bf76242504f3a33e013ccf") (:keywords "languages" "convenience") (:authors ("papaeye" . "papaeye@gmail.com")) (:maintainer "papaeye" . "papaeye@gmail.com") (:url . "https://github.com/papaeye/emacs-jscs"))]) -(js3-mode . [(20160515 1550) nil "An improved JavaScript editing mode" tar ((:commit . "229aeb374f1b1f3ee5c59b8ba3eebb6385c232cb") (:keywords "javascript" "languages") (:authors ("Thom Blake" . "webmaster@thomblake.com")) (:maintainer "Thom Blake" . "webmaster@thomblake.com"))]) -(js2-refactor . [(20190630 2108) ((js2-mode (20101228)) (s (1 9 0)) (multiple-cursors (1 0 0)) (dash (1 0 0)) (s (1 0 0)) (yasnippet (0 9 0 1))) "A JavaScript refactoring library for emacs." tar ((:commit . "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28"))]) -(js2-mode . [(20190815 1327) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "b3841a7a304d9d1328fdb0868fbbecf0c2f9831f") (:keywords "languages" "javascript") (:authors ("Steve Yegge" . "steve.yegge@gmail.com") ("mooz" . "stillpedant@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Steve Yegge" . "steve.yegge@gmail.com") (:url . "https://github.com/mooz/js2-mode/"))]) -(js2-highlight-vars . [(20170418 1829) ((emacs (24 4)) (js2-mode (20150908))) "highlight occurrences of the variable under cursor" single ((:commit . "e3bb177e50f76b272e8073a94d4f46be6512a163") (:authors ("Mihai Bazon" . "mihai.bazon@gmail.com")) (:maintainer "Mihai Bazon" . "mihai.bazon@gmail.com") (:url . "http://mihai.bazon.net/projects/editing-javascript-with-emacs-js2-mode/js2-highlight-vars-mode"))]) -(js2-closure . [(20170816 1918) ((js2-mode (20150909))) "Google Closure dependency manager" single ((:commit . "f59db386d7d0693935d0bf52babcd2c203c06d04") (:keywords "javascript" "closure") (:authors ("Justine Tunney" . "jart@google.com")) (:maintainer "Justine Tunney" . "jart@google.com") (:url . "http://github.com/jart/js2-closure"))]) -(js-react-redux-yasnippets . [(20190911 1259) ((emacs (24 3)) (yasnippet (0 8 0))) "JavaScript,React,Redux yasnippets" tar ((:commit . "70785d126a28ffcb314fb4b354319418586e06b1") (:keywords "convenience" "snippets") (:authors ("sooqua")) (:maintainer "sooqua") (:url . "https://github.com/sooqua/js-react-redux-yasnippets"))]) -(js-import . [(20190218 1319) ((emacs (24 4)) (f (0 19 0)) (projectile (0 14 0)) (dash (2 13 0))) "Import Javascript files from your current project or dependencies" single ((:commit . "2ab3b120cc94ebf4bee2d959c8869440bc4c7484") (:keywords "tools") (:authors ("Jakob Lind" . "karl.jakob.lind@gmail.com")) (:maintainer "Jakob Lind" . "karl.jakob.lind@gmail.com") (:url . "https://github.com/jakoblind/js-import"))]) -(js-format . [(20170119 102) ((emacs (24 1)) (js2-mode (20101228))) "Format or transform code style using NodeJS server with different javascript formatter" tar ((:commit . "544bda9be72b74ec2d442543ba60cff727d96669") (:keywords "js" "javascript" "format" "standard" "jsbeautify" "esformatter" "airbnb") (:authors ("James Yang" . "jamesyang999@gmail.com")) (:maintainer "James Yang" . "jamesyang999@gmail.com") (:url . "http://github.com/futurist/js-format.el"))]) -(js-doc . [(20160715 434) nil "Insert JsDoc style comment easily" single ((:commit . "f0606e89d5aa89146f96edb38cf69af0068a9d1e") (:keywords "document" "comment") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com") (:url . "https://github.com/mooz/js-doc"))]) -(js-comint . [(20190606 6) ((emacs (24 3))) "JavaScript interpreter in window." single ((:commit . "ab8953bdf0176b1fadd7a3bb621f848ec5dc1f0c") (:keywords "javascript" "node" "inferior-mode" "convenience") (:authors ("Paul Huff" . "paul.huff@gmail.com")) (:maintainer "Chen Bin ") (:url . "https://github.com/redguardtoo/js-comint"))]) -(js-codemod . [(20190921 941) ((emacs (24 4))) "Run js-codemod on current sentence or selected region" tar ((:commit . "056bdf3e5e0c807b8cf17edb5834179a90fb722b") (:keywords "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))]) -(js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "0ea56bf620105af71d2575f62f9527773b6e3d68") (:keywords "languages") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))]) -(js-auto-beautify . [(20161031 509) ((web-beautify (0 3 1)) (web-mode (14 0 27))) "auto format you js/jsx file" single ((:commit . "180d15af7b5dfaab4ee1954cca2fdc797932f9de") (:authors (nil . "quanwei9958@126.com")) (:maintainer nil . "quanwei9958@126.com"))]) -(jquery-doc . [(20150812 758) nil "jQuery api documentation interface for emacs" tar ((:commit . "24032284919b942ec27707d929bdd8bf48420062") (:keywords "docs" "jquery") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com"))]) -(jq-mode . [(20190718 913) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "a439bd395e0ad6b6110789b8f10d0efbe1fe889d") (:authors ("Bjarte Johansen ")) (:maintainer "Bjarte Johansen ") (:url . "https://github.com/ljos/jq-mode"))]) -(jq-format . [(20190428 1434) ((emacs (24)) (reformatter (0 3))) "Reformat JSON and JSONLines using jq" single ((:commit . "47e1c5adb89b37b4d53fe01302d8c675913c20e7") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-jq-format"))]) -(jpop . [(20170410 1250) ((emacs (24)) (dash (2 11 0)) (cl-lib (0 5))) "Lightweight project caching and navigation framework" tar ((:commit . "7628b03260be96576b34459d45959ee77d8b2110") (:keywords "project" "convenience") (:authors ("Dom Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dom Charlesworth" . "dgc336@gmail.com") (:url . "https://github.com/domtronn/jpop.el"))]) -(jonprl-mode . [(20160819 59) ((emacs (24 3)) (cl-lib (0 5)) (yasnippet (0 8 0))) "A major mode for editing JonPRL files" tar ((:commit . "6059bb64891fae45827174e044d6a87ac07172d8") (:keywords "languages") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))]) -(jknav . [(20121006 2025) nil "Automatically enable j/k keys for line-based navigation" single ((:commit . "861245715c728503dad6573278fdd75c271dbf8b") (:keywords "keyboard" "navigation") (:authors ("Aaron Culich" . "aculich@gmail.com")) (:maintainer "Aaron Culich" . "aculich@gmail.com"))]) -(jist . [(20161229 1721) ((emacs (24 4)) (dash (2 12 0)) (seq (1 11)) (let-alist (1 0 4)) (magit (2 1 0)) (request (0 2 0))) "Gist integration" single ((:commit . "da0692452e312a99bb27d8708504b521798aca48") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/jist.el"))]) -(jiralib2 . [(20190927 2010) ((emacs (25)) (request (0 3)) (dash (2 14 1))) "JIRA REST API bindings to Elisp" single ((:commit . "e913f8e4a994850d2cff18ce2b1f4177cac62c91") (:keywords "comm" "jira" "rest" "api") (:authors ("Henrik Nyman" . "h@nyymanni.com")) (:maintainer "Henrik Nyman" . "h@nyymanni.com") (:url . "https://github.com/nyyManni/jiralib2"))]) -(jira-markup-mode . [(20150601 2109) nil "Emacs Major mode for JIRA-markup-formatted text files" single ((:commit . "4fc534c47df26a2f402bf835ebe2ed89474a4062") (:keywords "jira" "markup") (:authors ("Matthias Nuessler" . "m.nuessler@web.de>")) (:maintainer "Matthias Nuessler" . "m.nuessler@web.de>") (:url . "https://github.com/mnuessler/jira-markup-mode"))]) -(jinja2-mode . [(20141128 1007) nil "A major mode for jinja2" single ((:commit . "cfaa7bbe7bb290cc500440124ce89686f3e26f86") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))]) -(jg-quicknav . [(20170809 130) ((s (1 9 0)) (cl-lib (0 5))) "Quickly navigate the file system to find a file." single ((:commit . "c8d53e774d63e68a944092c08a026b57da741038") (:keywords "navigation") (:authors ("Jeff Gran" . "jeff@jeffgran.com")) (:maintainer "Jeff Gran" . "jeff@jeffgran.com") (:url . "https://github.com/jeffgran/jg-quicknav"))]) -(jetbrains . [(20180301 502) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17))) "JetBrains IDE bridge" single ((:commit . "56f71a17d455581c10d48f6dbb31d9e2126227bf") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/jetbrains.el"))]) -(jest . [(20181216 459) ((emacs (24 4)) (dash (2 12 0)) (dash-functional (2 12 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0)) (js2-mode (20180301)) (cl-lib (0 6 1))) "helpers to run jest" single ((:commit . "4c3b718b6a6fd4bf1d6209be1beffa33f6156b90") (:keywords "jest" "javascript" "testing") (:authors ("Edmund Miller" . "edmund.a.miller@gmail.com")) (:maintainer "Edmund Miller" . "edmund.a.miller@gmail.com") (:url . "https://github.com/emiller88/emacs-jest/"))]) -(jenkins-watch . [(20121004 2326) nil "Watch continuous integration build status" single ((:commit . "37b84dfbd98240a57ff798e1ff8bc7dba2913577") (:authors ("Andrew Taylor" . "ataylor@redtoad.ca")) (:maintainer "Andrew Taylor" . "ataylor@redtoad.ca") (:url . "https://github.com/ataylor284/jenkins-watch"))]) -(jenkins . [(20190521 400) ((dash (2 12)) (emacs (24 3)) (json (1 4))) "Minimalistic Jenkins client for Emacs" single ((:commit . "9c7b9d4cb39eff7d6ac4d0cbd5ebc103dc86cac2") (:keywords "jenkins" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) -(jemdoc-mode . [(20170704 2027) ((emacs (24 3))) "Major mode for editing jemdoc files" single ((:commit . "529b4d4681e1198b9892f340fdd6c3f1592a047a") (:keywords "convenience" "usability") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/jemdoc-mode"))]) -(jekyll-modes . [(20141117 1314) ((polymode (0 2))) "Major modes (markdown and HTML) for authoring Jekyll content" single ((:commit . "7cb10b50fd2883e3f7b10fdfd98f19f2f0b2381c") (:keywords "docs") (:authors ("Fredrik Appelberg" . "fredrik@milgrim.local")) (:maintainer "Fredrik Appelberg" . "fredrik@milgrim.local") (:url . "https://github.com/fred-o/jekyll-modes"))]) -(jeison . [(20190721 1651) ((emacs (25 1)) (dash (2 16 0))) "A library for declarative JSON parsing" single ((:commit . "66e276c1f2f08ca54d2cd60f2c9f974c662aae8b") (:keywords "lisp" "json" "data-types") (:url . "http://github.com/SavchenkoValeriy/jeison"))]) -(jedi-direx . [(20140310 936) ((jedi (0 1 2)) (direx (0 1 -3))) "Tree style source code viewer for Python buffer" single ((:commit . "7a2e677400717ed12b959cb5988e7b3fb1c12117") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki "))]) -(jedi-core . [(20191011 1750) ((emacs (24)) (epc (0 1 0)) (python-environment (0 0 2)) (cl-lib (0 5))) "Common code of jedi.el and company-jedi.el" tar ((:commit . "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki "))]) -(jedi . [(20191011 1750) ((emacs (24)) (jedi-core (0 2 2)) (auto-complete (1 4))) "a Python auto-completion for Emacs" single ((:commit . "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki "))]) -(jdee . [(20191102 1426) ((emacs (24 3)) (flycheck (30)) (memoize (1 0 1)) (dash (2 13 0)) (s (1 12 0))) "Java Development Environment for Emacs" tar ((:commit . "b510a29f1fc1bea218a6230fb219922775687c78") (:keywords "java" "tools") (:authors ("Paul Kinnucan" . "pkinnucan@attbi.com")) (:maintainer "Paul Landes") (:url . "http://github.com/jdee-emacs/jdee"))]) -(jdecomp . [(20170224 2200) ((emacs (24 5))) "Interface to Java decompilers" single ((:commit . "692866abc83deedce62be8d6040cf24dda7fb7a8") (:keywords "decompile" "java" "languages" "tools") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/xiongtx/jdecomp"))]) -(jbeans-theme . [(20180309 1625) ((emacs (24))) "Jbeans theme for GNU Emacs 24 (deftheme)" single ((:commit . "3caa95998d8492a2ca6c17971de499ca15609871") (:authors ("Adam Olsen" . "arolsen@gmail.com")) (:maintainer "Adam Olsen" . "arolsen@gmail.com") (:url . "https://github.com/synic/jbeans-emacs"))]) -(jazz-theme . [(20170411 1411) nil "A warm color theme for Emacs 24+." single ((:commit . "b1cb78a97cc4050f19d88a89e455c3e52d98240e") (:authors ("Roman Parykin" . "donderom@ymail.com")) (:maintainer "Roman Parykin" . "donderom@ymail.com") (:url . "https://github.com/donderom/jazz-theme"))]) -(jaword . [(20170426 627) ((tinysegmenter (0 1))) "Minor-mode for handling Japanese words better" single ((:commit . "ac062b0e5ab4bd3270497e80aa0f3ac033a0493f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(javap-mode . [(20120223 2208) nil "Javap major mode" single ((:commit . "864c1130e204b2072e1d19cd027b6fce8ebe6629") (:url . "http://github.com/hiredman/javap-mode"))]) -(javadoc-lookup . [(20160214 31) ((cl-lib (0 3))) "Javadoc Emacs integration with Maven" tar ((:commit . "507a2dd443d60b537b8f779c1847e2cd0ccd1382") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/javadoc-lookup"))]) -(java-snippets . [(20160627 252) ((yasnippet (0 8 0))) "Yasnippets for Java" tar ((:commit . "6d0e2768823be27dbe07448f4cb244cd657a7136") (:authors ("Takayoshi Kimura")) (:maintainer "Takayoshi Kimura") (:url . "https://github.com/nekop/yasnippet-java-mode"))]) -(java-imports . [(20170913 1410) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Java imports" single ((:commit . "e96ff44ed48b362ab6227b8b802b84d84f78bcaa") (:keywords "java") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:url . "http://www.github.com/dakrone/emacs-java-imports"))]) -(jastadd-ast-mode . [(20161219 926) ((emacs (24))) "Major mode for editing JastAdd AST files" single ((:commit . "a29fdb470cbf0a398164950a3b0d2217de48e0c0") (:keywords "languages") (:authors ("Rudi Schlatte" . "rudi@constantly.at")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:url . "https://github.com/rudi/jastadd-ast-mode"))]) -(jasminejs-mode . [(20150527 5) nil "A minor mode for manipulating jasmine test files" tar ((:commit . "9f8044bf81ab5b4841a30b0bd099916e1b7ff54a") (:keywords "javascript" "jasmine") (:authors ("Eric Stolten" . "stoltene2@gmail.com")) (:maintainer "Eric Stolten" . "stoltene2@gmail.com") (:url . "https://github.com/stoltene2/jasminejs-mode"))]) -(jar-manifest-mode . [(20160501 26) nil "Major mode to edit JAR manifest files" single ((:commit . "270dae14c481300f75ed96dad3a5ae42ca928a1d") (:keywords "convenience" "languages") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:url . "http://github.com/omajid/jar-manifest-mode"))]) -(jape-mode . [(20140903 1506) nil "An Emacs editing mode mode for GATE's JAPE files" single ((:commit . "85b9182850707b5d107391f6caee5bd401507a7d") (:keywords "languages" "jape" "gate") (:url . "http://github.com/tanzoniteblack/jape-mode"))]) -(japanlaw . [(20160615 643) ((cl-lib (0 5))) "Japan law from law.e-gov.go.jp" single ((:commit . "1bbdef942f28c61a0adb89d1b3c2cca5b10ca2dc") (:keywords "docs" "help") (:authors ("Kazushi NODA (http://www.ne.jp/asahi/alpha/kazu/)")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com"))]) -(japanese-holidays . [(20190317 1220) ((cl-lib (0 3))) "calendar functions for the Japanese calendar" single ((:commit . "45e70a6eaf4a555fadc58ab731d522a037a81997") (:keywords "calendar") (:authors ("Takashi Hattori" . "hattori@sfc.keio.ac.jp") ("Hiroya Murata" . "lapis-lazuli@pop06.odn.ne.jp")) (:maintainer "Takashi Hattori" . "hattori@sfc.keio.ac.jp") (:url . "https://github.com/emacs-jp/japanese-holidays"))]) -(janet-mode . [(20191112 2109) ((emacs (24 3))) "Defines a major mode for Janet" single ((:commit . "c69935556764032e177889e9bfe69c008d370d6e") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/janet-mode"))]) -(jammer . [(20160310 859) nil "Punish yourself for using Emacs inefficiently" single ((:commit . "48aa795df6df7ae6484518bcd0398293ca49d7c6") (:keywords "games") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/jammer"))]) -(jade-mode . [(20160525 1441) nil "Major mode for editing .jade files" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))]) -(jack-connect . [(20191125 1321) nil "Manage jack connections within Emacs" single ((:commit . "e951217ee3ea0ac6b9ed9a209305ef9a72ec019a") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) -(jabber-otr . [(20150918 1144) ((emacs (24)) (jabber (0 8 92))) "Off-The-Record messaging for jabber.el" tar ((:commit . "2692b1530234e0ba9a0d6c1eaa1cbe8679f193c0") (:keywords "comm") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:url . "https://github.com/legoscia/emacs-jabber-otr/"))]) -(jabber . [(20180927 2325) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "fff33826f42e040dad7ef64ea312d85215d3b0a1"))]) -(j-mode . [(20171224 1856) nil "Major mode for editing J programs" tar ((:commit . "e8725ac8af95498faabb2ca3ab3bd809a8f148e6") (:keywords "j" "languages") (:url . "http://github.com/zellio/j-mode"))]) -(iy-go-to-char . [(20141029 1546) nil "Go to next CHAR which is similar to \"f\" and \"t\" in vim" single ((:commit . "04ab4f5f3a241cbbc9b8c178a22b412a62f632f9") (:keywords "navigation" "search") (:authors ("Ian Yang ")) (:maintainer "Ian Yang ") (:url . "https://github.com/doitian/iy-go-to-char"))]) -(ix . [(20131027 1629) ((grapnel (0 5 3))) "Emacs client for http://ix.io pastebin" single ((:commit . "aea4c54a5cc5a6f26637353c16a3a0e70fc76963") (:authors ("Abhishek L" . "abhishekl.2006@gmail.com")) (:maintainer "Abhishek L" . "abhishekl.2006@gmail.com") (:url . "http://www.github.com/theanalyst/ix.el"))]) -(ivy-youtube . [(20181126 1039) ((request (0 2 0)) (ivy (0 8 0)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "849b6db7ef02b080a86c1b887488e2935c31059a") (:keywords "youtube" "multimedia" "mpv" "vlc") (:authors ("Brunno dos Santos")) (:maintainer "Brunno dos Santos") (:url . "https://github.com/squiter/ivy-youtube"))]) -(ivy-ycmd . [(20180909 1225) ((ycmd (1 3)) (emacs (24)) (ivy (0 10 0)) (dash (2 14 1))) "Ivy interface to ycmd" single ((:commit . "25bfee8f676e4ecbb645e4f30b47083410a00c58") (:keywords "tools") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ivy-ycmd"))]) -(ivy-yasnippet . [(20181002 1655) ((emacs (24)) (ivy (0 10 0)) (yasnippet (0 12 2)) (dash (2 14 1)) (cl-lib (0))) "Preview yasnippets with ivy" single ((:commit . "32580b4fd23ebf9ca7dde96704f7d53df6e253cd") (:keywords "convenience") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/ivy-yasnippet"))]) -(ivy-xref . [(20191126 401) ((emacs (25 1)) (ivy (0 10 0))) "Ivy interface for xref results" single ((:commit . "3d4c35fe2b243d948d8fe02a1f0d76a249d63de9") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/ivy-xref"))]) -(ivy-xcdoc . [(20160917 1055) ((ivy (0 8 0)) (emacs (24 4))) "Search Xcode documents with ivy interface." single ((:commit . "5ea22af36c4c2737fb0bec53432c233482d8b314") (:keywords "ivy" "xcode" "xcdoc") (:authors ("C.T.Chen" . "chenct@7adybird.com")) (:maintainer "C.T.Chen" . "chenct@7adybird.com") (:url . "https://github.com/hex2010/emacs-ivy-xcdoc"))]) -(ivy-todo . [(20171208 1609) ((ivy (0 8 0)) (emacs (24 3))) "Manage org-mode TODOs with ivy" single ((:commit . "964e347cea1a6097854d7113f5b07f6c5ef81df0") (:keywords "convenience") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/ivy-todo"))]) -(ivy-rtags . [(20190821 1946) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "ca131c1d76225d516078635ec1cbb32e498d3d3a") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) -(ivy-rich . [(20191025 432) ((emacs (24 4)) (ivy (0 8 0))) "More friendly display transformer for ivy." single ((:commit . "3f571704fa50e47174c92938d19c945a3bdf09b5") (:keywords "ivy") (:authors ("Yevgnen Koh" . "wherejoystarts@gmail.com")) (:maintainer "Yevgnen Koh" . "wherejoystarts@gmail.com"))]) -(ivy-purpose . [(20160724 1003) ((emacs (24)) (ivy (0 8)) (window-purpose (1 5))) "Ivy Interface for Purpose" single ((:commit . "0495f2f3aed64d7e0028125e76a9a68f8fc4107e") (:authors ("Bar Magal (2016)")) (:maintainer "Bar Magal (2016)") (:url . "https://github.com/bmag/ivy-purpose"))]) -(ivy-prescient . [(20191026 1903) ((emacs (25 1)) (prescient (3 3)) (ivy (0 11 0))) "prescient.el + Ivy" single ((:commit . "c04cce14351c960098a0c8d4647c0d32e9e45669") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) -(ivy-posframe . [(20191103 135) ((emacs (26 0)) (posframe (0 1 0)) (ivy (0 11 0))) "Using posframe to show Ivy" single ((:commit . "ad83ce53a49ea693f7350ea79ef635f3f71743db") (:keywords "abbrev" "convenience" "matching" "ivy") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/ivy-posframe"))]) -(ivy-phpunit . [(20180219 915) ((ivy (0 10 0)) (phpunit (0 7 0)) (emacs (25))) "Ivy integration for phpunit.el" single ((:commit . "ffedb0138d36564e8e36a28fd9bc71ea8944681f") (:keywords "convenience" "tools" "ivy" "phpunit" "php") (:authors ("12pt")) (:maintainer "12pt") (:url . "https://github.com/12pt/ivy-phpunit"))]) -(ivy-pass . [(20170812 1955) ((emacs (24)) (ivy (0 8 0)) (password-store (1 6 5))) "ivy interface for pass" single ((:commit . "5b523de1151f2109fdd6a8114d0af12eef83d3c5") (:keywords "pass" "password" "convenience" "data") (:authors ("ecraven")) (:maintainer "ecraven") (:url . "https://github.com/ecraven/ivy-pass/"))]) -(ivy-pages . [(20160728 1920) ((emacs (24 1)) (ivy (0 8 0))) "Complete current buffer's pages with Ivy" single ((:commit . "47b03a1f9384502cf22369ff31a2898c863d3aff") (:keywords "convenience" "matching") (:authors ("Igor Epstein" . "igorepst@gmail.com")) (:maintainer "Igor Epstein" . "igorepst@gmail.com") (:url . "https://github.com/igorepst/ivy-pages"))]) -(ivy-omni-org . [(20191112 2037) ((emacs (25 1)) (ivy (0 10)) (dash (2 12))) "Browse anything in Org mode" single ((:commit . "c93d34da3367fd15116ac24200afa3f653bf1949") (:keywords "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/ivy-omni-org"))]) -(ivy-mpdel . [(20190428 920) ((emacs (25 1)) (ivy (0 10 0)) (libmpdel (1 0 0)) (mpdel (1 0 0))) "Ivy interface to navigate MPD" single ((:commit . "a42dcc943914c71975c115195d38c739f25e475c") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/ivy-mpdel"))]) -(ivy-lobsters . [(20171202 2041) ((ivy (0 8 0)) (cl-lib (0 5))) "Browse lobste.rs stories with ivy." single ((:commit . "4364df4b3685fd1b50865ac9360fb948c0288dd1") (:authors ("Julien Blanchard ")) (:maintainer "Julien Blanchard ") (:url . "https://github.com/julienXX/ivy-lobsters"))]) -(ivy-hydra . [(20191018 1251) ((emacs (24 5)) (ivy (0 13 0)) (hydra (0 15 0))) "Additional key bindings for Ivy" single ((:commit . "8c23823c5a21e061e1b22c55643ec961d716683a") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) -(ivy-historian . [(20190111 313) ((emacs (24 4)) (historian (20170111)) (ivy (0 8 0)) (flx (0 6 1))) "Persistently store selected minibuffer candidates" single ((:commit . "64f4ef8cd4e417dfa090138a2d4ea1e72fd4456a") (:keywords "convenience" "ivy") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))]) -(ivy-gitlab . [(20181228 826) ((s (1 9 0)) (dash (2 9 0)) (ivy (0 8 0)) (gitlab (0 8))) "Ivy interface to Gitlab" single ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:keywords "gitlab" "ivy") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))]) -(ivy-feedwrangler . [(20180618 1522) nil "No description available." single ((:commit . "051eac49cae32b16fab2e06ff0115cd8fb5dc499"))]) -(ivy-explorer . [(20190909 1921) ((emacs (25)) (ivy (0 10 0))) "Dynamic file browsing grid using ivy" single ((:commit . "a413966cfbcecacc082d99297fa1abde0c10d3f3") (:keywords "convenience" "files" "matching") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/ivy-explorer"))]) -(ivy-erlang-complete . [(20191112 1137) ((async (1 9)) (counsel (0 11 0)) (ivy (0 11 0)) (erlang (19 2)) (emacs (25 1))) "Erlang context sensitive completion at point using ivy. It also support xref and eldoc." tar ((:commit . "7d60ed111dbfd34ab6ec1b07c06e2d16a5380b9a"))]) -(ivy-dired-history . [(20170626 556) ((ivy (0 9 0)) (counsel (0 9 0)) (cl-lib (0 5))) "use ivy to open recent directories" single ((:commit . "c9c67ea1ee5e68443f0e6006ba162d6c8d868b69") (:authors ("纪秀峰" . "jixiuf@gmail.com")) (:maintainer "纪秀峰" . "jixiuf@gmail.com") (:url . "https://github.com/jixiuf/ivy-dired-history"))]) -(ivy-clojuredocs . [(20190907 2053) ((edn (1 1 2)) (ivy (0 12 0)) (emacs (24 4))) "Search for help in clojuredocs.org" single ((:commit . "dd33a25f1de4339f75f05689ed60fe1b1c97f554") (:keywords "matching") (:authors ("Wanderson Ferreira" . "iagwanderson@gmail.com")) (:maintainer "Wanderson Ferreira" . "iagwanderson@gmail.com") (:url . "https://github.com/wandersoncferreira/ivy-clojuredocs"))]) -(ivy-bibtex . [(20191028 1313) ((swiper (0 7 0)) (parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2))) "A bibliography manager based on Ivy" tar ((:commit . "d4471232be26793fbf56c0ac3690b5f537c378b9") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de"))]) -(ivy . [(20191128 1153) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:commit . "8c23823c5a21e061e1b22c55643ec961d716683a") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) -(ivs-edit . [(20170818 1441) ((emacs (24 3)) (dash (2 6 0)) (cl-lib (1 0))) "IVS (Ideographic Variation Sequence) editing tool" tar ((:commit . "5db39c234aa7393b591168a4fd0a9a4cbbca347d") (:keywords "text") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "http://github.com/kawabata/ivs-edit"))]) -(ivariants . [(20170823 224) ((emacs (24 3)) (ivs-edit (1 0))) "Ideographic variants editor and browser" tar ((:commit . "ca0b74d32b5d2d77a45cc6ad6edc00be0ee85284") (:keywords "i18n" "languages") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "http://github.com/kawabata/ivariants"))]) -(iterator . [(20170207 838) ((emacs (24)) (cl-lib (0 5))) "A library to create and use elisp iterators objects." single ((:commit . "9da54f9aed945b46866782cdf962c9e530419297") (:authors ("Thierry Volpiatto ")) (:maintainer "Thierry Volpiatto ") (:url . "https://github.com/thierryvolpiatto/iterator"))]) -(iter2 . [(20190113 1424) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "fc1fcea5379bc7728a25dd81546886213e3db6fa") (:keywords "elisp" "extensions") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/iter2"))]) -(itasca . [(20170601 1622) ((emacs (24 3))) "Major modes for Itasca software data files." tar ((:commit . "3d15dd1b70d6db69b0f4758a3e28b8b506cc84ca") (:keywords "itasca" "flac" "3dec" "udec" "flac3d" "pfc" "pfc2d" "pfc3d" "fish") (:authors ("Jason Furtney" . "jkfurtney@gmail.com")) (:maintainer "Jason Furtney" . "jkfurtney@gmail.com") (:url . "http://github.com/jkfurtney/itasca-emacs/"))]) -(itail . [(20171112 804) nil "An interactive tail mode" single ((:commit . "6e43c20da03be3b9c6ece93b7dc3495975ec1888") (:keywords "tail") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/itail"))]) -(iss-mode . [(20141001 1913) nil "Mode for InnoSetup install scripts" single ((:commit . "3b517aff31529bab33f8d7b562bd17aff0107fd1") (:authors ("Stefan Reichoer," . "stefan@xsteve.at")) (:maintainer "Stefan Reichoer," . "stefan@xsteve.at"))]) -(isortify . [(20190315 2004) ((emacs (25)) (pythonic (0 1 0))) "(automatically) format python buffers using isort." single ((:commit . "ae7fb7163ce075209543f72953c9f431d103f6a3") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/isortify"))]) -(isolate . [(20190808 731) ((emacs (25))) "Surrounding tool with flexible customizations." single ((:commit . "e93cb652f150705347480a2ee13b63fa625b1edf") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/isolate"))]) -(isgd . [(20150414 936) nil "Shorten URLs using the isgd.com shortener service" single ((:commit . "764306dadd5a9213799081a48aba22f7c75cca9a") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/isgd.el"))]) -(isend-mode . [(20190201 832) nil "Interactively send parts of an Emacs buffer to an interpreter" single ((:commit . "38ace354d579eb364d4f95b9ea16081c171ea604") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/isend-mode.el"))]) -(isearch-symbol-at-point . [(20130728 2221) nil "Use isearch to search for the symbol at point" single ((:commit . "51a1029bec1ec414885f9edb7e5947603dffdab2") (:keywords "isearch") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/isearch-symbol-at-point"))]) -(isearch-project . [(20190505 819) ((emacs (25)) (cl-lib (0 6))) "Incremental search through the whole project." single ((:commit . "462b8100451b947367aed2970c2669ea6d15edbd") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/isearch-project"))]) -(isearch-dabbrev . [(20141224 622) ((cl-lib (0 5))) "Use dabbrev in isearch" single ((:commit . "1efe7abba4923015cbc2462395deaec5446a9cc8") (:keywords "dabbrev" "isearch") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "https://github.com/Dewdrops/isearch-dabbrev"))]) -(irony-eldoc . [(20170502 1908) ((emacs (24)) (cl-lib (0 5)) (irony (0 1))) "irony-mode support for eldoc-mode" single ((:commit . "0df5831eaae264a25422b061eb2792aadde8b3f2") (:keywords "c" "c++" "objc" "convenience" "tools") (:authors ("Kirill Ignatiev ")) (:maintainer "Kirill Ignatiev ") (:url . "https://github.com/ikirill/irony-eldoc"))]) -(irony . [(20191009 2139) ((cl-lib (0 5)) (json (1 2))) "C/C++ minor mode powered by libclang" tar ((:commit . "e630c497f973fa4d1f0fd0e0fd87fb9d18666986") (:keywords "c" "convenience" "tools") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/irony-mode"))]) -(iregister . [(20150515 2107) nil "Interactive register commands for Emacs." tar ((:commit . "6a48c66187289de5f300492be11c83e98410c018") (:keywords "convenience") (:authors ("Andrey Tykhonov" . "atykhonov@gmail.com")) (:maintainer "Andrey Tykhonov" . "atykhonov@gmail.com") (:url . "https://github.com/atykhonov/iregister.el"))]) -(ir-black-theme . [(20130303 755) nil "Port of ir-black theme" single ((:commit . "36e930d107604b5763c80294a6f92aaa02e6c272") (:keywords "faces") (:authors ("Jon-Michael Deldin" . "dev@jmdeldin.com")) (:maintainer "Jon-Michael Deldin" . "dev@jmdeldin.com"))]) -(iqa . [(20181024 2253) ((emacs (24 3))) "Init file(and directory) Quick Access." single ((:commit . "b45614f5204ed851de0abe93907aa94de5e37379") (:url . "https://github.com/a13/iqa.el"))]) -(ipython-shell-send . [(20190220 2246) ((emacs (24))) "Send code (including magics) to ipython shell" single ((:commit . "0faed86faff02a361f23ce5fc923d0e9b09bb2da") (:keywords "tools" "processes") (:authors ("Jack Kamm" . "jackkamm@gmail.com")) (:maintainer "Jack Kamm" . "jackkamm@gmail.com") (:url . "https://github.com/jackkamm/ipython-shell-send-el"))]) -(ipretty . [(20180606 522) nil "Interactive Emacs Lisp pretty-printing" single ((:commit . "042f5cc4e6f81d59115e8335c582bb5c571c2585") (:keywords "pretty-print" "elisp" "buffer") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/ipretty"))]) -(iplayer . [(20161120 2120) nil "Browse and download BBC TV/radio shows" single ((:commit . "b788fffa4b36bbd558047ffa6be51b1f0f462f23") (:keywords "multimedia" "bbc") (:authors ("Christophe Rhodes" . "csr21@cantab.net")) (:maintainer "Christophe Rhodes" . "csr21@cantab.net") (:url . "https://github.com/csrhodes/iplayer-el"))]) -(ipcalc . [(20170926 805) ((cl-lib (0 5))) "IP subnet calculator" single ((:commit . "2720f7e3e662e04e195f8338b81a499cf321296a") (:keywords "networking" "tools") (:authors ("\"Aleksandar Simic\"" . "asimic@gmail.com")) (:maintainer "\"Aleksandar Simic\"" . "asimic@gmail.com") (:url . "http://github.com/dotemacs/ipcalc.el"))]) -(iodine-theme . [(20151031 1639) ((emacs (24))) "A light emacs color theme" single ((:commit . "02fb780e1d8d8a6b9c709bfac399abe1665c6999") (:keywords "themes") (:authors ("Srđan Panić" . "srdja.panic@gmail.com")) (:maintainer "Srđan Panić" . "srdja.panic@gmail.com") (:url . "https://github.com/srdja/iodine-theme"))]) -(ioccur . [(20130822 548) nil "Incremental occur" single ((:commit . "4c0ef992a6fcd2aed62e3866d56650463108ab5a") (:authors ("Thierry Volpiatto ")) (:maintainer "Thierry Volpiatto ") (:url . "https://github.com/thierryvolpiatto/ioccur"))]) -(io-mode-inf . [(20140128 1934) nil "Interaction with an Io interpreter." single ((:commit . "6dd2bac3fd87484bb7d97e135b06c29d70b444b6") (:keywords "io" "languages") (:url . "https://github.com/slackorama/io-emacs"))]) -(io-mode . [(20161004 756) nil "Major mode to edit Io language files in Emacs" single ((:commit . "fd65ae769093defcf554d6d637eba6e6dfc29f56") (:keywords "languages" "io") (:authors ("Sergei Lebedev" . "superbobry@gmail.com")) (:maintainer "Sergei Lebedev" . "superbobry@gmail.com") (:url . "https://github.com/superbobry/io-mode"))]) -(inverse-acme-theme . [(20170823 254) ((autothemer (0 2)) (cl-lib (0 5))) "A theme that looks like an inverse of Acme's color scheme." single ((:commit . "74d6f3e2f6534371509dd2d77006435156c276d6") (:authors ("Dylan Johnson")) (:maintainer "Dylan Johnson") (:url . "http://github.com/djohnson/inverse-acme-theme"))]) -(interval-tree . [(20130325 1407) ((dash (1 1 0))) "Interval tree data structure for 1D range queries" single ((:commit . "301302f480617091cf3ab6989caac385d52543dc") (:keywords "extensions" "data structure") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/interval-tree"))]) -(interval-list . [(20150327 1718) ((dash (2 4 0)) (cl-lib (0 5)) (emacs (24 4))) "Interval list data structure for 1D selections" single ((:commit . "38af7ecf0a493ad8f487074938a2a115f3531177") (:keywords "extensions" "data structure") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/interval-list"))]) -(intero . [(20191103 1239) ((flycheck (0 25)) (company (0 8)) (emacs (24 4)) (haskell-mode (13 0))) "Complete development mode for Haskell" single ((:commit . "30d8e7330c9b20c2905035bc417fa8645e7b4b85") (:keywords "haskell" "tools") (:authors ("Chris Done" . "chrisdone@fpcomplete.com")) (:maintainer "Chris Done" . "chrisdone@fpcomplete.com") (:url . "https://github.com/commercialhaskell/intero"))]) -(interleave . [(20191129 958) nil "Interleaving text books since 2015" single ((:commit . "383eb955bf0084a6e6ec03c9bd34511e20e0407d") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/interleave"))]) -(interaction-log . [(20160305 1301) ((cl-lib (0))) "exhaustive log of interactions with Emacs" single ((:commit . "a49a06746d4df6bcfceec3c48dece065d635f9f9") (:keywords "convenience") (:authors ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") (:url . "https://github.com/michael-heerdegen/interaction-log.el"))]) -(intellij-theme . [(20171017 1415) nil "Inspired by IntelliJ's default theme" single ((:commit . "1bbfff8e6742d18e9b77ed796f44da3b7bd10606") (:keywords "faces") (:authors ("Vladimir Polushin" . "vovapolu@gmail.com")) (:maintainer "Vladimir Polushin" . "vovapolu@gmail.com"))]) -(intel-hex-mode . [(20180423 31) nil "Mode for Intel Hex files." single ((:commit . "e83c94e1c31a8435a88b3ae395f2bc842ef83217") (:keywords "tools" "hex") (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/intel-hex-mode"))]) -(instapaper . [(20130104 1421) nil "add URLs to instapaper from emacs" single ((:commit . "8daa0058ede70025e9f020656abe0e0d01cd8f89") (:authors ("Jason F. McBrayer" . "jmcbray@carcosa.net")) (:maintainer "Jason F. McBrayer" . "jmcbray@carcosa.net") (:url . "htts://bitbucket.org/jfm/emacs-instapaper"))]) -(insfactor . [(20141117 2) nil "Client for a Clojure project with insfactor in it" single ((:commit . "7ef5446cebb08a17d4106d2e6f3c053e49e1e829") (:keywords "clojure") (:authors ("John D. Hume" . "duelin.markers@gmail.com")) (:maintainer "John D. Hume" . "duelin.markers@gmail.com") (:url . "http://github.com/duelinmarkers/insfactor.el"))]) -(insert-shebang . [(20180403 1214) nil "Insert shebang line automatically." single ((:commit . "7bfea92ba1dae9d13d442e2f84f9fb6c05a0a9bd") (:keywords "shebang" "tool" "convenience") (:authors ("Sachin Patil" . "iclcoolster@gmail.com")) (:maintainer "Sachin Patil" . "iclcoolster@gmail.com") (:url . "http://github.com/psachin/insert-shebang"))]) -(insert-kaomoji . [(20190701 1823) ((emacs (24 4))) "Easily insert kaomojis" tar ((:commit . "b144e48f02f29bb25651a63d9691e9de10f0171b") (:keywords "wp") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/kaomoji"))]) -(inlineR . [(20120520 1432) nil "insert Tag for inline image of R graphics" single ((:commit . "29357186beca825e3d0451b700ec09b9ed65e37b") (:keywords "convenience" "iimage.el" "cacoo.el") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/inlineR.el"))]) -(inline-docs . [(20170523 450) ((emacs (24 3))) "Show inline contextual docs." single ((:commit . "b57f1681be6147f999cdc12abff414a0442e8897") (:keywords "inline" "docs" "overlay") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/inline-docs.el"))]) -(inline-crypt . [(20170824 900) nil "Simple inline encryption via openssl" tar ((:commit . "281385b383f850fd2e895926b1cef804dd052633"))]) -(inkpot-theme . [(20190907 1024) nil "port of vim's inkpot theme" single ((:commit . "f6f148eebef72939b90a1822c1c3a257e22f802e") (:keywords "color" "theme") (:authors ("Sarah Iovan" . "sarah@hwaetageek.com") ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Sarah Iovan" . "sarah@hwaetageek.com") (:url . "https://github.com/ideasman42/emacs-inkpot-theme"))]) -(ink-mode . [(20160814 1116) ((emacs (24 3))) "Major mode for writing interactive fiction in Ink" single ((:commit . "e35f26abbaf8ea23c5aa0a0c7ef15334cdfb7b48") (:keywords "languages") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/ink-mode"))]) -(initsplit . [(20160919 1818) nil "code to split customizations into different files" single ((:commit . "c941d436eb2b10b01c76a582c5a2b23fb30751aa") (:keywords "lisp") (:authors ("John Wiegley , Dave Abrahams" . "dave@boostpro.com")) (:maintainer "John Wiegley , Dave Abrahams" . "dave@boostpro.com") (:url . "http://www.gci-net.com/users/j/johnw/emacs.html"))]) -(init-open-recentf . [(20161206 1445) ((emacs (24 4))) "Open recentf immediately after Emacs is started" single ((:commit . "7d8fb124806291f7f6ef2ec3a664ea25899b6d68") (:keywords "files" "recentf" "after-init-hook") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/init-open-recentf.el"))]) -(init-loader . [(20160528 1315) nil "Loader for configuration files" single ((:commit . "5d3cea1004c11ff96b33020e337b03b925c67c42") (:authors ("IMAKADO" . "ken.imakado@gmail.com")) (:maintainer "IMAKADO" . "ken.imakado@gmail.com") (:url . "https://github.com/emacs-jp/init-loader/"))]) -(ini-mode . [(20170424 909) nil "Major mode for Windows-style ini files." single ((:commit . "2194cfa2fd13196a37350ec20b3f00dcf6162b7c") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/ini-mode"))]) -(inherit-local . [(20170409 1649) ((emacs (24 3))) "Inherited buffer-local variables" single ((:commit . "b1f4ff9c41f9d64e4adaf5adcc280b82f084cdc7") (:authors ("Shea Levy")) (:maintainer "Shea Levy") (:url . "https://github.com/shlevy/inherit-local/tree-master/"))]) -(info-rename-buffer . [(20191005 2346) ((emacs (24 3))) "Rename Info buffers to match manuals" single ((:commit . "c983ae687481f39b8fd0d4ee9d85fd82b6a4ba03") (:keywords "help") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:url . "https://github.com/oitofelix/info-rename-buffer"))]) -(info-colors . [(20180205 1150) ((emacs (24)) (cl-lib (0 5))) "Extra colors for Info-mode" single ((:commit . "a8ebb7b8efa314c08ea8110d8b1876afb562bb45") (:keywords "faces") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:url . "https://github.com/ubolonton/info-colors"))]) -(info-buffer . [(20170112 1422) nil "Display info topics in separate buffers" single ((:commit . "d35dad6e766c6e2ddb8dc6acb4ce5b6e10fbcaa7") (:keywords "docs" "info") (:authors ("Lluís Vilanova" . "vilanova@ac.upc.edu")) (:maintainer "Lluís Vilanova" . "vilanova@ac.upc.edu") (:url . "http://www.github.com/llvilanova/info-buffer"))]) -(info-beamer . [(20180604 2122) ((emacs (24 4))) "Utilities for working with info-beamer" single ((:commit . "af443795af20481af91ac54a489b20f6a9d90b0a") (:keywords "tools" "processes" "comm") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/info-beamer.el"))]) -(inflections . [(20170913 916) ((cl-lib (0 5)) (emacs (24))) "convert english words between singular and plural" single ((:commit . "e4f1372cf22e811faca52fc86bdd5d817498a4d8") (:keywords "languages" "tools" "wp") (:authors ("Dmitry Galinsky, Howard Yeh")) (:maintainer "Dmitry Galinsky, Howard Yeh") (:url . "https://github.com/eschulte/jump.el"))]) -(inferior-spim . [(20160826 1346) nil "inferior mode for spim." single ((:commit . "fb9aa091f6058bf320793f1a608c1ed7322c1f47") (:keywords "spim" "inferior" "mips") (:authors ("hiddenlotus" . "kaihaosw@gmail.com")) (:maintainer "hiddenlotus" . "kaihaosw@gmail.com"))]) -(inf-ruby . [(20190927 1649) nil "Run a Ruby process in a buffer" single ((:commit . "fd8d392fefd1d99eb58fc597d537d0d7df29c334") (:keywords "languages" "ruby") (:authors ("Yukihiro Matsumoto") ("Nobuyoshi Nakada") ("Cornelius Mika" . "cornelius.mika@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru") ("Kyle Hargraves" . "pd@krh.me")) (:maintainer "Yukihiro Matsumoto") (:url . "http://github.com/nonsequitur/inf-ruby"))]) -(inf-mongo . [(20180408 1338) nil "Run a MongoDB shell process in a buffer" single ((:commit . "2e498d1c88bd1904eeec18ed06b1a0cf8bdc2a92") (:keywords "databases" "mongodb") (:authors ("Tobias Svensson")) (:maintainer "Tobias Svensson") (:url . "http://github.com/endofunky/inf-mongo"))]) -(inf-crystal . [(20180119 211) ((emacs (24 3)) (crystal-mode (0 1 0))) "Run a Inferior-Crystal process in a buffer" single ((:commit . "02007b2a2a3bea44902d7c83c4acba1e39d278e3") (:keywords "languages" "crystal") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/inf-crystal.el"))]) -(inf-clojure . [(20191008 843) ((emacs (24 4)) (clojure-mode (5 6))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "173d0e7f118b0009bf210be115485160abf554b1") (:keywords "processes" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))]) -(indy . [(20190807 625) nil "A minor mode and EDSL to manage your mode's indentation rules." single ((:commit . "abc5bee424780ad2de5520f8fefbf8e120c0d9ed") (:keywords "convenience" "matching" "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))]) -(indium . [(20191128 1600) ((emacs (25)) (seq (2 16)) (js2-mode (20140114)) (js2-refactor (0 9 0)) (company (0 9 0)) (json-process-client (0 2 0))) "JavaScript Awesome Development Environment" tar ((:commit . "036f237840dd47e2dc5d368ce4ee3ec18fd4839d") (:keywords "tools" "javascript") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/indium"))]) -(indicators . [(20161211 1126) ((dash (2 13 0)) (cl-lib (0 5 0))) "Display the buffer relative location of line in the fringe." single ((:commit . "f62a1201f21453e3aca93f48483e65ae8251432e") (:keywords "fringe" "frames") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/indicators.el"))]) -(indian-ext . [(20190424 1547) ((emacs (24))) "Extension to Indian language utilities" single ((:commit . "c941cde1205642c6b933ae6abbc47d199f609df0") (:keywords "i18n" "tools" "wp" "indian" "devanagari" "encoding") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/indian-ext"))]) -(indent-tools . [(20190606 1642) ((s (0)) (hydra (0)) (yafolding (0))) "Indent, navigate (and more) by blocks of indentation: yaml, python etc." tar ((:commit . "c419874e6fb296ecdba94b2f4b73c9eecdd5329d") (:keywords "indentation" "movements" "navigation" "kill" "fold" "yaml" "python") (:authors ("vindarel" . "vindarel@mailz.org")) (:maintainer "vindarel" . "vindarel@mailz.org") (:url . "https://gitlab.com/emacs-stuff/indent-tools/"))]) -(indent-info . [(20180423 1912) nil "show indentation information in status bar" single ((:commit . "d218b4cb3726476caee91db6f6c920856ab992bc") (:keywords "convenience" "tools") (:authors ("Terje Larsen" . "terlar@gmail.com")) (:maintainer "Terje Larsen" . "terlar@gmail.com") (:url . "https://github.com/terlar/indent-info.el"))]) -(indent-guide . [(20191106 240) nil "show vertical lines to guide indentation" single ((:commit . "7fc710748f9e5a086acfe77970f117df89ee9749") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) -(importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "bbc131278f8cd62f3e71b6f4a86b0c91792a3524") (:keywords "languages" "convenience") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:url . "https://github.com/anachronic/importmagic.el"))]) -(import-popwin . [(20170218 1407) ((emacs (24 3)) (popwin (0 6))) "popwin buffer near by import statements with popwin" single ((:commit . "bb05a9e226f8c63fe7b18a3e92010357049ab5ba") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-import-popwin"))]) -(import-js . [(20180709 1833) ((grizzl (0 1 0)) (emacs (24))) "Import Javascript dependencies" single ((:commit . "fb1f167e33c388b09a2afd32fbda90a67bfb2e40") (:keywords "javascript") (:authors ("Kevin Kehl" . "kevin.kehl@gmail.com")) (:maintainer "Kevin Kehl" . "kevin.kehl@gmail.com") (:url . "http://github.com/Galooshi/emacs-import-js/"))]) -(impatient-mode . [(20181002 1231) ((cl-lib (0 3)) (simple-httpd (1 5 0)) (htmlize (1 40))) "Serve buffers live over HTTP" tar ((:commit . "96f6a05f8de74e19d570217fe83f0734623ddb0c") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/netguy204/imp.el"))]) -(immutant-server . [(20140311 2208) nil "Run your Immutant server in Emacs" single ((:commit . "2a21e65588acb6a976f2998e30b21fdabdba4dbb") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/immutant-server.el"))]) -(immortal-scratch . [(20160517 2118) nil "respawn the scratch buffer when it's killed" single ((:commit . "b354aba33d91a16a1878c87a931564505f6a0ee1") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) -(immaterial-theme . [(20190412 1115) ((emacs (25))) "A flexible theme based on material design principles" single ((:commit . "176178a57c5b342b04bebd3107c29c6d12086cf5") (:keywords "themes") (:authors ("Peter Gardfjäll")) (:maintainer "Peter Gardfjäll") (:url . "https://github.com/petergardfjall/emacs-immaterial-theme"))]) -(imgbb . [(20180609 1649) ((emacs (24)) (request (0 3 0))) "Simple image upload client for imgbb.com" single ((:commit . "a524a46263835aa474f908827ebab4e8fa586001") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/imgbb.el"))]) -(imenus . [(20180505 1717) ((cl-lib (0 5))) "Imenu for multiple buffers and without subgroups" single ((:commit . "149cfa579ee231014d3341a0e05add69759757a5") (:keywords "tools" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/imenus.el"))]) -(imenu-list . [(20190115 2130) ((cl-lib (0 5))) "Show imenu entries in a separate buffer" single ((:commit . "46008738f8fef578a763c308cf6695e5b4d4aa77") (:authors ("Bar Magal (2015)")) (:maintainer "Bar Magal (2015)") (:url . "https://github.com/bmag/imenu-list"))]) -(imenu-anywhere . [(20190512 1939) ((cl-lib (0 5)) (emacs (25))) "ido/ivy/helm imenu across same mode/project/etc buffers" single ((:commit . "88b0e120284058b32252e4b0ed1a07c9fe44092f") (:keywords "ido" "imenu" "tags") (:authors ("Vitalie Spinu ")) (:maintainer "Vitalie Spinu ") (:url . "https://github.com/vitoshka/imenu-anywhere"))]) -(imapfilter . [(20180318 2027) nil "run the imapfilter executable" single ((:commit . "79bbbe918319bc1e8f42a0bef53dc7c77fe868ea") (:keywords "mail") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imapfilter"))]) -(imake . [(20180318 2259) ((emacs (24 3))) "Simple, opinionated make target runner" single ((:commit . "a61f409c517ec274e1ec81f3f00c178108c226fb") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imake"))]) -(imakado . [(20141024 923) nil "imakado's usefull macros and functions" single ((:commit . "00a1e7eea2cb9e9066343a23927d6c747707902f") (:keywords "convenience") (:authors ("imakado ")) (:maintainer "imakado") (:url . "https://github.com/imakado/emacs-imakado"))]) -(image-dired+ . [(20150430 544) ((cl-lib (0 3))) "Image-dired extensions" single ((:commit . "b68094625d963056ad64e0e44af0e2266b2eadc7") (:keywords "extensions" "multimedia") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-image-diredx"))]) -(image-archive . [(20150621 132) ((emacs (24)) (cl-lib (0 5))) "Image thumbnails in archive file with non-blocking" single ((:commit . "8d29535bd832329ffeeac780aae7aa8919af1175") (:keywords "multimedia") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-image-archive"))]) -(image+ . [(20150707 1616) ((cl-lib (0 3))) "Image manipulate extensions for Emacs" single ((:commit . "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc") (:keywords "multimedia" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-imagex"))]) -(igv . [(20141210 1227) nil "Control Integrative Genomic Viewer within Emacs" single ((:commit . "47ac6ceede252f451348a2c696398c0cb5279555") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) -(ignoramus . [(20160414 1409) nil "Ignore backups, build files, et al." single ((:commit . "b37dc7c07edd9d152436f9019c14df158b599be3") (:keywords "convenience" "tools") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ignoramus"))]) -(iflipb . [(20190817 547) nil "Interactively flip between recently visited buffers" single ((:commit . "aeeb85633566ed3c13dbe94a6a4925d8930b7b85") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))]) -(ietf-docs . [(20190420 851) nil "Fetch, Cache and Load IETF documents" single ((:commit . "ae157549eae5ec78dcbf215c2f48cb662b73abd0") (:keywords "ietf" "rfc") (:authors ("Christian E. Hopps" . "chopps@gmail.com")) (:maintainer "Christian E. Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/ietf-docs"))]) -(iedit . [(20190419 803) nil "Edit multiple regions in the same way simultaneously." tar ((:commit . "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f") (:keywords "occurrence" "region" "simultaneous" "refactoring") (:authors ("Victor Ren" . "victorhge@gmail.com")) (:maintainer "Victor Ren" . "victorhge@gmail.com") (:url . "https://www.emacswiki.org/emacs/Iedit"))]) -(ids-edit . [(20170818 1502) ((emacs (24 3))) "IDS (Ideographic Description Sequence) editing tool" tar ((:commit . "8562a6cbfb3f2d44bc6f62ab15081a80f8fee502") (:keywords "i18n" "wp") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:url . "http://github.com/kawabata/ids-edit"))]) -(idris-mode . [(20190427 1539) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "acc8835449475d7cd205aba213fdd3d41c38ba40") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))]) -(idomenu . [(20141123 2120) nil "imenu tag selection a la ido" single ((:commit . "4b0152d606360c70204fb4c27f68de79ca885386") (:authors ("Georg Brandl" . "georg@python.org")) (:maintainer "Georg Brandl" . "georg@python.org"))]) -(ido-yes-or-no . [(20161108 2351) ((ido-completing-read+ (0))) "Use Ido to answer yes-or-no questions" single ((:commit . "c55383b1fce5879e87e7ca6809fc60534508e182") (:keywords "convenience" "completion" "ido") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-yes-or-no"))]) -(ido-vertical-mode . [(20180618 2101) nil "Makes ido-mode display vertically." single ((:commit . "16c4c1a112796ee0bcf401ea39d3e2643a89feaf") (:keywords "convenience") (:authors ("Steven Degutis")) (:maintainer "Christopher Reichert" . "creichert07@gmail.com") (:url . "https://github.com/creichert/ido-vertical-mode.el"))]) -(ido-springboard . [(20170106 755) nil "Temporarily change default-directory for one command" single ((:commit . "687d1e5898a880878995dc9bffe93b4598366203") (:keywords "ido") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) -(ido-sort-mtime . [(20171121 859) nil "Sort Ido's file list by modification time" single ((:commit . "f638ff0c922af862f5211779f2311a27fde428eb") (:keywords "convenience" "files") (:authors ("Paweł Kraśnicki")) (:maintainer "Paweł Kraśnicki"))]) -(ido-skk . [(20151111 950) ((emacs (24 4)) (ddskk (20150912 1820))) "ido interface for skk henkan" single ((:commit . "89a2e62799bff2841ff634517c86084c4ce69246") (:keywords "languages") (:authors ("tsukimizake ")) (:maintainer "tsukimizake ") (:url . "https://github.com/tsukimizake/ido-skk"))]) -(ido-select-window . [(20131220 2047) ((emacs (24 1))) "Select a window using ido and buffer names" single ((:commit . "a64707d8d154664d50d12e26417d586e4c3dd78b") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/ido-select-window"))]) -(ido-occur . [(20160820 1440) ((dash (2 13 0))) "Yet another `occur' with `ido'." single ((:commit . "522af5d55b3d4cd6885f3b4100913566c202cec4") (:keywords "inner" "buffer" "search") (:authors ("Danil" . "danil@kutkevich.org")) (:maintainer "Danil" . "danil@kutkevich.org") (:url . "https://github.com/danil/ido-occur"))]) -(ido-occasional . [(20150214 1248) ((emacs (24 1))) "Use ido where you choose." single ((:commit . "d405f1795e1e0c63be411ee2825184738d29c33a") (:keywords "completion") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ido-occasional"))]) -(ido-migemo . [(20150921 2244) ((migemo (1 9 1))) "Migemo plug-in for Ido" single ((:commit . "e71114a92dd69cb46abf3fb71a09ce27506fcf77") (:keywords "files") (:authors ("myuhe ")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ido-migemo.el"))]) -(ido-load-library . [(20140611 1600) ((persistent-soft (0 8 8)) (pcache (0 2 3))) "Load-library alternative using ido-completing-read" single ((:commit . "e03b55957c93aa1a7dd190e173e16ec59dbb2ba7") (:keywords "maint" "completion") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ido-load-library"))]) -(ido-hacks . [(20190206 2153) nil "Put more IDO in your IDO" single ((:commit . "d2153a3e8d23436ee07ecae2a106f434361a10c5") (:keywords "convenience") (:authors ("Andreas Politz")) (:maintainer "Scott Jaderholm" . "jaderholm@gmail.com"))]) -(ido-grid-mode . [(20160122 1139) ((emacs (24 4))) "Display ido-prospects in the minibuffer in a grid." single ((:commit . "7cfca3988a6dc3ad18e28abe114218095ff2366f") (:keywords "convenience") (:authors ("Tom Hinton")) (:maintainer "Tom Hinton" . "t@larkery.com") (:url . "https://github.com/larkery/ido-grid-mode.el"))]) -(ido-gnus . [(20140216 1646) ((gnus (5 13))) "Access gnus groups or servers using ido" single ((:commit . "f5fe3f6aa8086f675ba216abace9e3d5f2e3a089") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/ido-gnus"))]) -(ido-flex-with-migemo . [(20190408 350) ((flx-ido (0 6 1)) (migemo (1 9 1)) (emacs (24 4))) "use ido with flex and migemo" single ((:commit . "aa93aa05947eb6c106bb9523ff3163b8574c4eac") (:keywords "matching") (:authors ("ROCKTAKEY " . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY " . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/ido-flex-with-migemo"))]) -(ido-exit-target . [(20170717 1851) ((emacs (24 4))) "Commands and keys for selecting other window and frame targets within ido" single ((:commit . "e56fc6928649c87ccf39d56d84ab53ebaced1f73") (:keywords "convenience" "tools" "extensions") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ido-exit-target"))]) -(ido-describe-bindings . [(20161023 1102) ((dash (2 13 0))) "Yet another `describe-bindings' with `ido'." single ((:commit . "a142ff1c33df23ed9665497d0dcae2943b3c706a") (:keywords "help") (:authors ("Danil , Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Danil , Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/danil/ido-describe-bindings"))]) -(ido-completing-read+ . [(20191105 532) ((emacs (24 4)) (cl-lib (0 5)) (s (0 1)) (memoize (1 1))) "A completing-read-function using ido" single ((:commit . "74861eabd0a2619be9efc4c91fe0c5e69db5f263") (:keywords "ido" "completion" "convenience") (:authors ("Ryan Thompson")) (:maintainer "Ryan Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-completing-read-plus"))]) -(ido-complete-space-or-hyphen . [(20180929 150) nil "Complete SPACE or HYPHEN when type SPACE in ido" single ((:commit . "ed60ebed113e4e1552efeab0c416f7c88428268e") (:keywords "ido" "completion") (:authors ("Ian Yang ")) (:maintainer "Ian Yang ") (:url . "https://github.com/doitian/ido-complete-space-or-hyphen"))]) -(ido-clever-match . [(20151011 1726) ((emacs (24 4)) (cl-lib (0 5))) "Alternative matcher for ido." single ((:commit . "f173473e99c8b0756f12e4cc8f67e68fa59eadd3") (:keywords "ido" "flex") (:authors ("Bogdan Paul Popa" . "popa.bogdanp@gmail.com")) (:maintainer "Bogdan Paul Popa" . "popa.bogdanp@gmail.com") (:url . "https://github.com/Bogdanp/ido-clever-match"))]) -(ido-at-point . [(20151021 757) ((emacs (24))) "ido-style completion-at-point" single ((:commit . "e5907bbe8a3d148d07698b76bd994dc3076e16ee") (:keywords "convenience" "abbrev") (:authors ("katspaugh")) (:maintainer "katspaugh") (:url . "https://github.com/katspaugh/ido-at-point"))]) -(idle-require . [(20090715 2203) nil "load elisp libraries while Emacs is idle" single ((:commit . "33592bb098223b4432d7a35a1d65ab83f47c1ec1") (:keywords "internal") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:url . "http://nschum.de/src/emacs/idle-require/"))]) -(idle-org-agenda . [(20190106 1844) nil "Shows your agenda when editor is idle." single ((:commit . "8e6052fc4923c30132052d67d794b76c92851c20") (:keywords "org" "org-mode" "org-agenda" "calendar") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "Enis Özgen" . "mail@enisozgen.com") (:url . "https://github.com/enisozgen/idle-org-agenda"))]) -(idle-highlight-mode . [(20120920 1648) nil "highlight the word the point is on" single ((:commit . "c466f2a9e291f9da1167dc879577b2e1a7880482") (:keywords "convenience") (:authors ("Phil Hagelberg, Cornelius Mika")) (:maintainer "Phil Hagelberg, Cornelius Mika") (:url . "http://www.emacswiki.org/cgi-bin/wiki/IdleHighlight"))]) -(idle-highlight-in-visible-buffers-mode . [(20181027 1531) nil "highlight the word the point is on" single ((:commit . "8d8de309d5bd4b035c01bf7f0cfc6e079c79d898") (:keywords "convenience") (:authors ("Ignacy Moryc")) (:maintainer "Ignacy Moryc") (:url . "https://github.com/ignacy/idle-highlight-in-visible-buffers"))]) -(identica-mode . [(20130204 2253) nil "Major mode API client for status.net open microblogging" tar ((:commit . "cf9183ee11ac922e85c7c908f04e2d00b03111b3") (:keywords "identica" "web") (:authors ("Gabriel Saldana" . "gsaldana@gmail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com") (:url . "http://blog.gabrielsaldana.org/identica-mode-for-emacs/"))]) -(idea-darkula-theme . [(20160416 2303) ((emacs (24 1))) "Color theme based on IntelliJ IDEA Darkula color theme" single ((:commit . "52602d9b91883e1f297d000951aeed48bf60176e") (:keywords "themes") (:authors ("Alexey Veretennikov ")) (:maintainer "Alexey Veretennikov ") (:url . "http://github.com/fourier/idea-darkula-theme"))]) -(id-manager . [(20170320 1246) nil "id-password management" single ((:commit . "14ebc35db298aac4dedc8aa188bc46bacab81f3b") (:keywords "password" "convenience") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi "))]) -(icsql . [(20190815 501) ((emacs (26)) (choice-program (0 8)) (buffer-manage (0 10))) "Interactive iSQL iteraface to ciSQL." single ((:commit . "5e5cd04e3f3ad9963c29759293c1f7a54257866b") (:keywords "isql" "sql" "rdbms" "data") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/icsql"))]) -(ibuffer-vc . [(20181225 2227) ((cl-lib (0 2))) "Group ibuffer's list by VC project, or show VC status" single ((:commit . "64cb03887bcae6127e80f0d9342c33206e21d2d2") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-vc"))]) -(ibuffer-tramp . [(20151118 1739) nil "Group ibuffer's list by TRAMP connection" single ((:commit . "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3") (:keywords "convenience") (:authors ("Svend Sorensen" . "svend@ciffer.net")) (:maintainer "Svend Sorensen" . "svend@ciffer.net") (:url . "http://github.com/svend/ibuffer-tramp"))]) -(ibuffer-sidebar . [(20180219 131) ((emacs (25 1))) "Sidebar for `ibuffer'" single ((:commit . "7ddf1b5a158b33e9a7d3fe5dad7ea626a464d2bc") (:keywords "ibuffer" "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/ibuffer-sidebar"))]) -(ibuffer-rcirc . [(20150215 2118) ((cl-lib (0 2))) "Ibuffer integration for rcirc" single ((:commit . "8a4409b1c679d65c819dee4085faf929840e79f8") (:keywords "buffer" "convenience" "comm") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org") (:url . "https://github.com/fgallina/ibuffer-rcirc"))]) -(ibuffer-projectile . [(20181202 352) ((projectile (0 11 0)) (emacs (24))) "Group ibuffer's list by projectile root" single ((:commit . "76496214144687cee0b5139be2e61b1e400cac87") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-projectile"))]) -(ibuffer-project . [(20191128 1938) ((emacs (25 1))) "Group ibuffer's list by project" single ((:commit . "38d0d528f7ec008d2953fc9c6217b327c50088ec") (:keywords "tools") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-ibuffer-project"))]) -(ibuffer-git . [(20110508 731) nil "show git status in ibuffer column" single ((:commit . "d326319c05ddb8280885b31f9094040c1b365876") (:keywords "convenience") (:authors ("Jonathan Rockway" . "jon@jrock.us")) (:maintainer "Jonathan Rockway" . "jon@jrock.us"))]) -(iasm-mode . [(20171023 1422) nil "interactive assembly major mode." single ((:commit . "abbec7f308f9ce97beeb57e459fff35f559b4c18") (:keywords ":" "tools") (:authors ("Rémi Attab" . "remi.attab@gmail.com")) (:maintainer "Rémi Attab" . "remi.attab@gmail.com") (:url . "https://github.com/RAttab/iasm-mode"))]) -(ialign . [(20181202 1146) ((emacs (24 4))) "visual align-regexp" single ((:commit . "e1308c8f6aea05ad6dbcaa33b9bee4eb7e05ee39") (:keywords "tools" "editing" "align" "interactive") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/interactive-align"))]) -(i3wm . [(20170822 1438) nil "i3wm integration library" single ((:commit . "71391dc61063fee77ad174f3b2ca25c60b41009e") (:keywords "convenience" "extensions") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:url . "https://git.flintfam.org/swf-projects/emacs-i3"))]) -(i2b2-mode . [(20140710 104) nil "Highlights corresponding PHI data in the text portion of an i2b2 XML Document." single ((:commit . "db10efcfc8bed369a516bbf7526ede41f98cb95a") (:keywords "xml" "phi" "i2b2" "deidi2b2") (:authors ("Dan LaManna" . "dan.lamanna@gmail.com")) (:maintainer "Dan LaManna" . "dan.lamanna@gmail.com"))]) -(hyperspace . [(20190908 550) ((emacs (25)) (s (1 12 0))) "Get there from here" single ((:commit . "825ac47887bf2f63e7dc2ecce264a52d9f0fae70") (:keywords "tools" "convenience") (:authors ("Ian Eure" . "ian@retrospec.tv")) (:maintainer "Ian Eure" . "ian@retrospec.tv") (:url . "https://github.com/ieure/hyperspace-el"))]) -(hydra . [(20191125 955) ((cl-lib (0 5)) (lv (0))) "Make bindings that stick around." tar ((:commit . "bcc2d0eb5b7114688016c143397285d777dedac9") (:keywords "bindings") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/hydra"))]) -(hyde . [(20160508 308) nil "Major mode to help create and manage Jekyll blogs" tar ((:commit . "a8cd6ed00ecd8d7de0ded2f4867015b412b15b76"))]) -(hydandata-light-theme . [(20190809 1925) nil "A light color theme that is easy on your eyes" single ((:commit . "180c3797fa7ef3e4bb679baaf5b492c33bbb9b8b") (:keywords "color-theme" "theme") (:authors ("David Chkhikvadze" . "david@chkhd.net")) (:maintainer "David Chkhikvadze" . "david@chkhd.net") (:url . "https://github.com/chkhd/hydandata-light-theme"))]) -(hyai . [(20170301 1447) ((cl-lib (0 5)) (emacs (24))) "Haskell Yet Another Indentation" single ((:commit . "9efad2ac6a57059b3be624588f649e276a96fdd4") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/hyai"))]) -(hy-mode . [(20191003 1902) ((dash (2 13 0)) (dash-functional (1 2 0)) (s (1 11 0)) (emacs (24))) "Major mode for Hylang" tar ((:commit . "e2d5fecdaec602788aa7123ed13651c888b8d94b") (:keywords "languages" "lisp" "python") (:url . "http://github.com/hylang/hy-mode"))]) -(hungry-delete . [(20170412 102) nil "hungry delete minor mode" single ((:commit . "0434458d3f6b2b585f332271feaa054bf4ec96d7") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/hungry-delete"))]) -(hungarian-holidays . [(20161020 1138) nil "Adds a list of Hungarian public holidays to Emacs calendar" single ((:commit . "653108769279499d84a79267c90e640d98823872") (:keywords "calendar") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu"))]) -(hugsql-ghosts . [(20180425 1129) ((s (1 9 0)) (dash (2 10 0)) (cider (0 14 0))) "Display hugsql defqueries in clojure code as an overlay." single ((:commit . "f3ebc60c66204ad39058cb84eb4bd5facce091df") (:authors ("Roland Kaercher" . "roland.kaercher@gmail.com")) (:maintainer "Roland Kaercher" . "roland.kaercher@gmail.com") (:url . "https://github.com/rkaercher/hugsql-ghosts"))]) -(httprepl . [(20141101 1734) ((s (1 9 0)) (dash (2 5 0)) (emacs (24))) "An HTTP REPL" single ((:commit . "cfa3693267a8ed1c96a86a126823f37dbfe077d8") (:keywords "http" "repl") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/httprepl.el"))]) -(httpcode . [(20121002 345) nil "explains the meaning of an HTTP status code" single ((:commit . "a45e735082b09477cd704a99294d336cdbeb12ba") (:authors ("Ruslan Spivak" . "ruslan.spivak@gmail.com")) (:maintainer "Ruslan Spivak" . "ruslan.spivak@gmail.com") (:url . "http://github.com/rspivak/httpcode.el"))]) -(http-twiddle . [(20160801 1911) nil "send & twiddle & resend HTTP requests" single ((:commit . "4d0c73b7dcbde8b483d4f3a75c49c74d2fe3ca45") (:keywords "http" "rest" "soap") (:authors ("Luke Gorrie" . "luke@synap.se")) (:maintainer "Hasan Veldstra" . "h@vidiowiki.com") (:url . "https://github.com/hassy/http-twiddle/blob/master/http-twiddle.el"))]) -(http-post-simple . [(20170715 940) nil "HTTP POST requests using the url library" single ((:commit . "f53697fca278c741051aeb668b00466b5e0fd3fe") (:keywords "comm" "data" "processes" "hypermedia") (:authors ("Tom Schutzer-Weissmann")) (:maintainer "Tom Schutzer-Weissmann"))]) -(http . [(20181008 2121) ((emacs (24 4)) (request (0 2 0)) (edit-indirect (0 1 4))) "Yet another HTTP client" single ((:commit . "1bbfff5994e16ffc185c4ac28d792cb040da3351") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/http.el"))]) -(htmltagwrap . [(20190517 511) ((emacs (24 4))) "Wraps a chunk of HTML code in tags." single ((:commit . "3260d9267b51019328c30a6317f28e4a2dd7d522") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/htmltagwrap"))]) -(htmlize . [(20191111 2130) nil "Convert buffer text and decorations to HTML." single ((:commit . "86f22f211e9230857197c42a9823d3f05381deed") (:keywords "hypermedia" "extensions") (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:maintainer "Hrvoje Niksic" . "hniksic@gmail.com") (:url . "https://github.com/hniksic/emacs-htmlize"))]) -(html2org . [(20170418 501) ((emacs (24 4))) "Convert html to org format text" single ((:commit . "6904aed40259ad8afccff079ebd8a07bff319ebc") (:keywords "convenience" "html" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "http://github.com/lujun9972/html2org.el"))]) -(html-to-markdown . [(20151105 840) ((cl-lib (0 5))) "HTML to Markdown converter written in Emacs-lisp." single ((:commit . "60c5498c801be186478cf7c05be05b4430c4a144") (:keywords "tools" "wp" "languages") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/html-to-markdown"))]) -(html-to-hiccup . [(20190909 1549) ((emacs (25 1)) (dash (2 13 0)) (s (1 10 0))) "Convert HTML to Hiccup syntax" single ((:commit . "50a52e2b0d13d865187acdf775b8203d5003f2f1") (:keywords "html" "hiccup" "clojure") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:url . "https://github.com/plexus/html-to-hiccup"))]) -(html-script-src . [(20120403 1815) nil "Insert " - :insert ((?j js-tag nil @ "" @))))) - -;;}}} -;;{{{ CSS in HTML - -(mmm-add-group - 'html-css - '((css-cdata - :submode css - :face mmm-code-submode-face - :front "]*>[ \t\n]*\\(//\\)?[ \t\n]*") - (css - :submode css - :face mmm-code-submode-face - :front "]*>[ \t]*\n?" - :back "[ \t]*" - :insert ((?c css-tag nil @ "" @))))) - -;;}}} -;;{{{ Here-documents - -;; Here we match the here-document syntax used by Perl and shell -;; scripts. We try to be automagic about recognizing what mode the -;; here-document should be in. To make sure that it is recognized -;; correctly, the name of the mode, perhaps minus `-mode', in upper -;; case, and/or with hyphens converted to underscores, should be -;; separated from the rest of the here-document name by hyphens or -;; underscores. - -(defvar mmm-here-doc-mode-alist '() - "Alist associating here-document name regexps to submodes. -Normally, this variable is unnecessary, as the `here-doc' submode -class tries to automagically recognize the right submode. If you use -here-document names that it doesn't recognize, however, then you can -add elements to this alist. Each element is \(REGEXP . MODE) where -REGEXP is a regular expression matched against the here-document name -and MODE is a major mode function symbol.") - -(defun mmm-here-doc-get-mode (string) - (string-match "[a-zA-Z_-]+" string) - (setq string (match-string 0 string)) - (or (mmm-ensure-modename - ;; First try the user override variable. - (cl-some (lambda (pair) - (if (string-match (car pair) string) (cdr pair) nil)) - mmm-here-doc-mode-alist)) - (let ((words (split-string (downcase string) "[_-]+"))) - (or (mmm-ensure-modename - ;; Try the whole name, stopping at "mode" if present. - (intern - (mapconcat #'identity - (nconc (cl-ldiff words (member "mode" words)) - (list "mode")) - "-"))) - ;; Try each word by itself (preference list) - (cl-some (lambda (word) - (mmm-ensure-modename (intern word))) - words) - ;; Try each word with -mode tacked on - (cl-some (lambda (word) - (mmm-ensure-modename - (intern (concat word "-mode")))) - words) - ;; Try each pair of words with -mode tacked on - (cl-loop for (one two) on words - if (mmm-ensure-modename - (intern (concat one two "-mode"))) - return it) - ;; I'm unaware of any modes whose names, minus `-mode', - ;; are more than two words long, and if the entire mode - ;; name (perhaps minus `-mode') doesn't occur in the - ;; here-document name, we can give up. - (signal 'mmm-no-matching-submode nil))))) - -(mmm-add-classes - '((here-doc - :front "<<[\"\'\`]?\\([a-zA-Z0-9_-]+\\)" - :front-offset (end-of-line 1) - :back "^~1$" - :save-matches 1 - :delimiter-mode nil - :match-submode mmm-here-doc-get-mode - :insert ((?d here-doc "Here-document Name: " @ "<<" str _ "\n" - @ "\n" @ str "\n" @)) - ))) - -;;}}} -;;{{{ Embperl - -(mmm-add-group - 'embperl - '((embperl-perl - :submode perl - :front "\\[\\([-\\+!\\*\\$]\\)" - :back "~1\\]" - :save-matches 1 - :match-name "embperl" - :match-face (("[+" . mmm-output-submode-face) - ("[-" . mmm-code-submode-face) - ("[!" . mmm-init-submode-face) - ("[*" . mmm-code-submode-face) - ("[$" . mmm-special-submode-face)) - :insert ((?p embperl "Region Type (Character): " @ "[" str - @ " " _ " " @ str "]" @) - (?+ embperl+ ?p . "+") - (?- embperl- ?p . "-") - (?! embperl! ?p . "!") - (?* embperl* ?p . "*") - (?$ embperl$ ?p . "$") - ) - ) - (embperl-comment - :submode text-mode - :face mmm-comment-submode-face - :front "\\[#" - :back "#\\]" - :insert ((?# embperl-comment nil @ "[#" @ " " _ " " @ "#]" @)) - ))) - -;;}}} -;;{{{ ePerl - -(mmm-add-group - 'eperl - '((eperl-expr - :submode perl - :face mmm-output-submode-face - :front "<:=" - :back ":>" - :insert ((?= eperl-expr nil @ "<:=" @ " " _ " " @ ":>" @))) - (eperl-code - :submode perl - :face mmm-code-submode-face - :front "<:" - :back "_?:>" - :match-name "eperl" - :insert ((?p eperl-code nil @ "<:" @ " " _ " " @ ":>" @) - (?: eperl-code ?p . nil) - (?_ eperl-code_ nil @ "<:" @ " " _ " " @ "_:>" @))) - (eperl-comment - :submode text - :face mmm-comment-submode-face - :front ":>//" - :back "\n") - )) - -;;}}} -;;{{{ File Variables - -;; This submode class puts file local variable values, specified with -;; a `Local Variables:' line as in (emacs)File Variables, into Emacs -;; Lisp Mode. It is a good candidate to put in `mmm-global-classes'. - -(defun mmm-file-variables-verify () - ;; It would be nice to cache this somehow, which could be done in a - ;; buffer-local variable with markers for positions, but the trick - ;; is knowing when to expire the cache. - (let ((bounds - (save-excursion - (save-match-data - (goto-char (point-max)) - (backward-page) - (and (re-search-forward "^\\(.*\\)Local Variables:" nil t) - (list (match-string 1) - (progn (end-of-line) (point)) - (and (search-forward - (format "%sEnd:" (match-string 1)) - nil t) - (progn (beginning-of-line) - (point))))))))) - (and bounds (caddr bounds) - (save-match-data - (string-match (format "^%s" (regexp-quote (car bounds))) - (match-string 0))) - (> (match-beginning 0) (cadr bounds)) - (< (match-end 0) (caddr bounds))))) - -(defun mmm-file-variables-find-back (bound) - (forward-sexp) - (if (> (point) bound) - nil - (looking-at ""))) - -(mmm-add-classes - '((file-variables - :front ".+:" - :front-verify mmm-file-variables-verify - :back mmm-file-variables-find-back - :submode emacs-lisp-mode - :delimiter-mode nil - ))) - -;;}}} -;;{{{ JSP Pages - -(mmm-add-group 'jsp - `((jsp-comment - :submode text-mode - :face mmm-comment-submode-face - :front "<%--" - :back "--%>" - :insert ((?- jsp-comment nil @ "<%--" @ " " _ " " @ "--%>" @)) - ) - (jsp-code - :submode java - :match-face (("<%!" . mmm-declaration-submode-face) - ("<%=" . mmm-output-submode-face) - ("<%" . mmm-code-submode-face)) - :front "<%[!=]?" - :back "%>" - :match-name "jsp" - :insert ((?% jsp-code nil @ "<%" @ " " _ " " @ "%>" @) - (?! jsp-declaration nil @ "<%!" @ " " _ " " @ "%>" @) - (?= jsp-expression nil @ "<%=" @ " " _ " " @ "%>" @)) - ) - (jsp-directive - :submode text-mode - :face mmm-special-submode-face - :front "<%@" - :back "%>" - :insert ((?@ jsp-directive nil @ "<%@" @ " " _ " " @ "%>" @)) - ))) - -;;}}} -;;{{{ SGML DTD - -;; Thanks to Yann Dirson for writing and -;; contributing this submode class. - -(mmm-add-classes - '((sgml-dtd - :submode dtd-mode - :face mmm-declaration-submode-face - :delimiter-mode nil - :front "[]*\\[" - :back "]>"))) - -;;}}} -;;{{{ PHP in HTML - -(mmm-add-group 'html-php - '((html-php-output - :submode php-mode - :face mmm-output-submode-face - :front "<\\?php *echo " - :back "\\(\\?>\\|\\'\\)" - :include-front t - :front-offset 5 - :insert ((?e php-echo nil @ "" @)) - ) - (html-php-code - :submode php-mode - :face mmm-code-submode-face - :front "<\\?\\(php\\)?" - :back "\\(\\?>\\|\\'\\)" - :insert ((?p php-section nil @ "" @) - (?b php-block nil @ "" @)) - ))) - -;;}}} - -;; NOT YET UPDATED -;;{{{ HTML in PL/SQL;-COM- -;-COM- -;-COM-;; This one is the most complex example. In PL/SQL, HTML is generally -;-COM-;; output as a (single quote delimited) string inside a call to htp.p or -;-COM-;; its brethren. The problem is that there may be strings outside of -;-COM-;; htp.p calls that should not be HTML, so we need to only look inside -;-COM-;; these calls. The situation is complicated by PL/SQL's rule that two -;-COM-;; sequential single quotes in a string mean to put a single quote -;-COM-;; inside the string. -;-COM- -;-COM-;; These functions have not been thoroughly tested, and always search -;-COM-;; the entire buffer, ignoring START and END. -;-COM- -;-COM-(defun mmm-html-in-plsql (start end) -;-COM- (save-match-data -;-COM- (let ((case-fold-search t)) -;-COM- (and (re-search-forward "htp.p\\(\\|rn\\|rint\\)1?(" nil t) -;-COM- (mmm-html-in-plsql-in-htp -;-COM- ;; Find the end of the procedure call -;-COM- (save-excursion (forward-char -1) (forward-sexp) (point)) -;-COM- start end))))) -;-COM- -;-COM-(defun mmm-html-in-plsql-in-htp (htp-end start end) -;-COM- (let (beg end) -;-COM- (or (and (re-search-forward "'" htp-end 'limit) -;-COM- (setf beg (match-end 0)) -;-COM- ;; Find an odd number of 's to end the string. -;-COM- (do ((lgth 0 (length (match-string 0)))) -;-COM- ((oddp lgth) t) -;-COM- (re-search-forward "'+" nil t)) -;-COM- (setf end (1- (match-end 0))) -;-COM- (cons (cons beg end) -;-COM- (mmm-html-in-plsql-in-htp htp-end start end))) -;-COM- ;; No more strings in the procedure call; look for another. -;-COM- (and (eql (point) htp-end) -;-COM- (mmm-html-in-plsql start end))))) -;-COM- -;-COM-(add-to-list 'mmm-classes-alist -;-COM- '(htp-p (:function html-mode mmm-html-in-plsql))) -;-COM- -;;}}} - -(provide 'mmm-sample) - -;;; mmm-sample.el ends here diff --git a/elpa/mmm-mode-0.5.7/mmm-univ.el b/elpa/mmm-mode-0.5.7/mmm-univ.el deleted file mode 100644 index 3a2c86b..0000000 --- a/elpa/mmm-mode-0.5.7/mmm-univ.el +++ /dev/null @@ -1,64 +0,0 @@ -;;; mmm-univ.el --- The "Universal" Submode Class - -;; Copyright (C) 2000, 2001, 2013 Free Software Foundation, Inc. - -;; Author: Michael Abraham Shulman - -;;{{{ GPL - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;}}} - -;;; Commentary: - -;; This file defines the "universal" submode class, the default value -;; of `mmm-global-classes', which specifies a standard way to indicate -;; that part of a buffer should be in a different mode--for example, -;; in an email message. - -;;; Code: - -(require 'mmm-auto) -(require 'mmm-vars) - -(defun mmm-univ-get-mode (string) - (string-match "[a-zA-Z-]+" string) - (setq string (match-string 0 string)) - (let ((modestr (intern (if (string-match "mode\\'" string) - string - (concat string "-mode"))))) - (or (mmm-ensure-modename modestr) - (signal 'mmm-no-matching-submode nil)))) - -(mmm-add-classes - `((universal - :front "{%\\([a-zA-Z-]+\\)%}" - :back "{%/~1%}" - :insert ((?/ universal "Submode: " @ "{%" str "%}" @ "\n" _ "\n" - @ "{%/" str "%}" @)) - :match-submode mmm-univ-get-mode - :save-matches 1 - ))) - -(provide 'mmm-univ) - - -;;; Local Variables: -;;; mmm-global-classes: nil -;;; End: - -;;; mmm-univ.el ends here diff --git a/elpa/mmm-mode-0.5.7/mmm-utils.el b/elpa/mmm-mode-0.5.7/mmm-utils.el deleted file mode 100644 index d17ee44..0000000 --- a/elpa/mmm-mode-0.5.7/mmm-utils.el +++ /dev/null @@ -1,157 +0,0 @@ -;;; mmm-utils.el --- Coding Utilities for MMM Mode - -;; Copyright (C) 2000-2003, 2011-2013 Free Software Foundation, Inc. - -;; Author: Michael Abraham Shulman - -;;{{{ GPL - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;}}} - -;;; Commentary: - -;; This file provides a number of macros and other coding utilities -;; for MMM Mode. - -;;; Code: - -;;{{{ Valid Buffer - -;; We used to wrap almost everything in this, but I realized that -;; only `mmm-mode-on' really needs it. Kept it as a macro, though, -;; for modularity and in case we need it somewhere else. -(defmacro mmm-valid-buffer (&rest body) - "Execute BODY if in a valid buffer for MMM Mode to be enabled. This -means not hidden, not a minibuffer, not in batch mode, and not in of -`mmm-never-modes'." - `(unless (or (eq (aref (buffer-name) 0) ?\ ) - (window-minibuffer-p (selected-window)) - (memq major-mode mmm-never-modes) - noninteractive - mmm-in-temp-buffer) - ,@body)) - -;;;(def-edebug-spec mmm-valid-buffer t) - -;;}}} -;;{{{ Save Everything - -;; Never trust callback functions to preserve anything. -(defmacro mmm-save-all (&rest body) - "Execute BODY forms, then restoring point, mark, current buffer, -restrictions, and match data." - `(save-excursion - (save-restriction - (save-match-data - ,@body)))) - -;;;(def-edebug-spec mmm-save-all t) - -;;}}} -;;{{{ String Formatting - -(defun mmm-format-string (string arg-pairs) - "Format STRING by replacing arguments as specified by ARG-PAIRS. -Each element of ARG-PAIRS is \(REGEXP . STR) where each STR is to be -substituted for the corresponding REGEXP wherever it matches." - (let ((case-fold-search nil)) - (save-match-data - (dolist (pair arg-pairs) - (while (string-match (car pair) string) - (setq string (replace-match - (if (fboundp 'format-mode-line) - (format-mode-line (cdr pair)) - (cdr pair)) - t t string)))))) - string) - -(defun mmm-format-matches (string &optional on-string) - "Format STRING by matches from the current match data. -Strings like ~N are replaced by the Nth subexpression from the last -global match. Does nothing if STRING is not a string. - -ON-STRING, if supplied, means to use the match data from a -`string-match' on that string, rather than the global match data." - (when (stringp string) - (let ((old-data (match-data)) - subexp) - (save-match-data - (while (string-match "~\\([0-9]\\)" string) - (setq subexp (string-to-number (match-string-no-properties 1 string)) - string (replace-match - (save-match-data - (set-match-data old-data) - (match-string-no-properties subexp on-string)) - t t string)))))) - string) - -;;}}} -;;{{{ Save Keywords - -(defmacro mmm-save-keyword (param) - "If the value of PARAM as a variable is non-nil, return the list -\(:PARAM (symbol-value PARAM)), otherwise NIL. Best used only when it -is important that nil values disappear." - `(if (and (boundp ',param) ,param) - (list (intern (concat ":" (symbol-name ',param))) ,param) - nil)) - -(defmacro mmm-save-keywords (&rest params) - "Return a list saving the non-nil elements of PARAMS. E.g. -\(let \(\(a 1) \(c 2)) \(mmm-save-keywords a b c)) ==> \(:a 1 :c 2) -Use of this macro can make code more readable when there are a lot of -PARAMS, but less readable when there are only a few. Also best used -only when it is important that nil values disappear." - `(append ,@(mapcar (lambda (param) - (macroexpand `(mmm-save-keyword ,param))) - params))) - -;;}}} -;;{{{ Looking Back At - -(defun mmm-looking-back-at (regexp &optional bound) - "Return t if text before point matches REGEXP. -Modifies the match data. If supplied, BOUND means not to look farther -back that that many characters before point. Otherwise, it defaults to -\(length REGEXP), which is good enough when REGEXP is a simple -string." - (eq (point) - (save-excursion - (and (re-search-backward regexp - (- (point) (or bound (length regexp))) - t) - (match-end 0))))) - -;;}}} -;;{{{ Markers - -;; Mostly for remembering interactively made regions -(defun mmm-make-marker (pos beg-p sticky-p) - "Make, and return, a marker at POS that is or isn't sticky. -BEG-P represents whether the marker delimits the beginning of a -region \(or the end of it). STICKY-P is whether it should be sticky, -i.e. whether text inserted at the marker should be inside the region." - (let ((mkr (set-marker (make-marker) pos))) - (set-marker-insertion-type mkr (if beg-p (not sticky-p) sticky-p)) - mkr)) - -;;}}} - -(provide 'mmm-utils) - -;;; mmm-utils.el ends here diff --git a/elpa/mmm-mode-0.5.7/mmm-vars.el b/elpa/mmm-mode-0.5.7/mmm-vars.el deleted file mode 100644 index b567bb0..0000000 --- a/elpa/mmm-mode-0.5.7/mmm-vars.el +++ /dev/null @@ -1,1133 +0,0 @@ -;;; mmm-vars.el --- Variables for MMM Mode - -;; Copyright (C) 2000-2004, 2011-2015, 2018 Free Software Foundation, Inc. - -;; Author: Michael Abraham Shulman - -;;{{{ GPL - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;}}} - -;;; Commentary: - -;; This file provides the definitions for the variables used by MMM -;; Mode, as well as several functions to manipulate them. It also -;; defines the errors that MMM Mode can signal. - -;;; Code: - -(require 'mmm-compat) -(require 'mmm-utils) -(require 'cl-lib) - -;; MISCELLANEOUS -;;{{{ Shut up the Byte Compiler - -;; Otherwise it complains about undefined variables. -(defvar mmm-current-submode) -(defvar mmm-save-local-variables) -(defvar mmm-mode-string) -(defvar mmm-submode-mode-line-format) -(defvar mmm-mode-ext-classes-alist) -(defvar mmm-mode-prefix-key) -(defvar mmm-global-mode) -(defvar mmm-primary-mode) -(defvar mmm-classes-alist) -(defvar mmm-current-overlay) -(declare-function mmm-apply-all "mmm-class") -(declare-function mmm-set-class-parameter "mmm-class" (class param value)) -(declare-function mmm-get-class-parameter "mmm-class" (class param)) - -;;}}} -;;{{{ Error Conditions - -;; Most of these should be caught internally and never seen by the -;; user, except when the user is creating submode regions manually. - -;; Signalled when we try to put a submode region inside one where it -;; isn't meant to go. -(put 'mmm-subregion-invalid-parent - 'error-conditions - '(mmm-subregion-invalid-parent mmm-error error)) -(put 'mmm-subregion-invalid-parent - 'error-message - "Invalid submode region parent") - -;; Signalled when we try to put a submode region overlapping others in -;; an invalid way. -(put 'mmm-subregion-invalid-placement - 'error-conditions - '(mmm-subregion-invalid-placement mmm-error error)) -(put 'mmm-subregion-invalid-placement - 'error-message - "Submode region placement invalid") - -;; Signalled when we try to apply a submode class that doesn't exist. -(put 'mmm-invalid-submode-class - 'error-conditions - '(mmm-invalid-submode-class mmm-error error)) -(put 'mmm-invalid-submode-class - 'error-message - "Invalid or undefined submode class") - -;; Signalled by :match-submode functions when they are unable to -;; resolve a submode. This error should *always* be caught internally -;; and never seen by the user. -(put 'mmm-no-matching-submode - 'error-conditions - '(mmm-no-matching-submode mmm-error error)) -(put 'mmm-no-matching-submode - 'error-message - "Internal error: no matching submode.") - -;;}}} - -;; USER VARIABLES -;;{{{ Customization Group - -(defgroup mmm nil - "Multiple Major Modes in one buffer." - :group 'tools) - -;;}}} -;;{{{ Save Local Variables - -(defvar mmm-c-derived-modes - '(c-mode c++-mode objc-mode pike-mode java-mode jde-mode javascript-mode - php-mode)) - -(defvar mmm-save-local-variables - `(;; Don't use `function' (#') here!! We're already inside `quote'! - major-mode - comment-start - comment-end - (comment-line-start-skip buffer (fortran-mode)) - comment-start-skip - (comment-column buffer) - comment-indent-function - comment-line-break-function - sentence-end - ,@(when mmm-xemacs - '(mode-popup-menu - (((lambda () current-menubar) . set-buffer-menubar)) - )) - (font-lock-keywords buffer) - font-lock-set-defaults - font-lock-major-mode - font-lock-keywords-only - font-lock-keywords-case-fold-search - font-lock-syntax-table - font-lock-mark-block-function ; Override this? - font-lock-syntactic-keywords - font-lock-syntactic-face-function - parse-sexp-ignore-comments ; Fixes indentation in PHP-mode? - ;; Can be different in different buffers - (c-basic-offset - buffer (c-mode c++-mode objc-mode pike-mode java-mode jde-mode)) - ;; These are necessary for C syntax parsing - (c-class-key nil ,mmm-c-derived-modes) - (c-extra-toplevel-key nil ,mmm-c-derived-modes) - (c-inexpr-class-key nil ,mmm-c-derived-modes) - (c-conditional-key nil ,mmm-c-derived-modes) - semantic-bovinate-toplevel-override - semantic-toplevel-bovine-table - ;; Indentation style control variables. - ;; These have to be localized in Emacs: see `mmm-mode-on'. - ,@(mapcar - (lambda (var) (list var nil mmm-c-derived-modes)) - '(c++-template-syntax-table - c-<-op-cont-regexp - c->-op-cont-regexp - c-after-brace-list-key - c-after-suffixed-type-decl-key - c-after-suffixed-type-maybe-decl-key - c-any-class-key - c-asm-stmt-kwds - c-assignment-op-regexp - c-backslash-column - c-basic-offset - c-before-context-fontification-functions - c-bitfield-kwds - c-block-comment-prefix - c-block-decls-with-vars - c-block-prefix-charset - c-block-stmt-1-2-key - c-block-stmt-1-key - c-block-stmt-1-kwds - c-block-stmt-2-key - c-block-stmt-2-kwds - c-brace-list-key - c-case-kwds-regexp - c-cast-parens - c-class-key - c-class-kwds - c-cleanup-list - c-colon-type-list-re - c-comment-only-line-offset - c-comment-prefix-regexp - c-comment-start-regexp - c-cpp-defined-fns - c-current-comment-prefix - c-decl-block-key - c-decl-hangon-key - c-decl-prefix-or-start-re - c-decl-prefix-re - c-decl-spec-kwds - c-decl-start-kwds - c-decl-start-re - c-doc-comment-start-regexp - c-expr-kwds - c-file-offsets - c-file-style - c-not-primitive-type-keywords-regexp - c-hanging-braces-alist - c-hanging-colons-alist - c-hanging-comment-ender-p - c-hanging-comment-starter-p - c-hanging-semi\&comma-criteria - c-identifier-key - c-identifier-last-sym-match - c-identifier-start - c-identifier-syntax-modifications - c-identifier-syntax-table - c-in-comment-lc-prefix - c-indent-comment-alist - c-indent-comments-syntactically-p - c-indentation-style - c-inexpr-block-kwds - c-inexpr-class-kwds - c-keywords - c-keywords-obarray - c-keywords-regexp - c-known-type-key - c-label-kwds - c-label-kwds-regexp - c-label-minimum-indentation - c-lambda-kwds - c-literal-start-regexp - c-macro-with-semi-re - c-nonlabel-token-key - c-nonlabel-token-2-key - c-nonsymbol-chars - c-nonsymbol-token-regexp - c-not-decl-init-keywords - c-offsets-alist - c-opt-<>-arglist-start - c-opt-<>-arglist-start-in-paren - c-opt-<>-sexp-key - c-opt-access-key - c-opt-asm-stmt-key - c-opt-bitfield-key - c-opt-block-decls-with-vars-key - c-opt-block-stmt-key - c-opt-cpp-prefix - c-opt-cpp-start - c-opt-decl-spec-key - c-opt-friend-key - c-opt-identifier-concat-key - c-opt-inexpr-block-key - c-opt-inexpr-brace-list-key - c-opt-inexpr-class-key - c-opt-lambda-key - c-opt-method-key - c-opt-postfix-decl-spec-key - c-opt-type-component-key - c-opt-type-concat-key - c-opt-type-modifier-key - c-opt-type-suffix-key - c-other-decl-block-key - c-other-decl-block-kwds - c-other-decl-kwds - c-overloadable-operators-regexp - c-paragraph-separate - c-paragraph-start - c-paren-stmt-key - c-primary-expr-regexp - c-primitive-type-key - c-primitive-type-kwds - c-protection-kwds - c-postfix-decl-spec-key - c-recognize-<>-arglists - c-recognize-knr-p - c-recognize-paren-inits - c-recognize-typeless-decls - c-regular-keywords-regexp - c-simple-stmt-key - c-simple-stmt-kwds - c-special-brace-lists - c-specifier-key - c-specifier-kwds - c-stmt-delim-chars - c-stmt-delim-chars-with-comma - c-symbol-char-key - c-symbol-key - c-symbol-start - c-syntactic-eol - c-syntactic-ws-end - c-syntactic-ws-start - c-type-decl-prefix-key - c-type-decl-suffix-key - c-type-prefix-key - c-typeof-key - c-prefix-spec-kwds-re - c-typedef-key - c-typedef-decl-key - comment-end - comment-start - comment-start-skip)) - ,@(mapcar - (lambda (var) (list var nil '(js-mode))) - '(js--quick-match-re - js--quick-match-re-func)) - ;; Skeleton insertion - skeleton-transformation - ;; Abbrev mode - abbrev-mode - local-abbrev-table - ;; And finally the syntax table and local map. - ((syntax-table . set-syntax-table) buffer) - ((current-local-map . use-local-map) buffer) - paragraph-separate - paragraph-start - (whitespace-active-style buffer) - (whitespace-display-table buffer) - (whitespace-display-table-was-local buffer) - (whitespace-font-lock buffer) - (whitespace-font-lock-mode buffer) - (whitespace-font-lock-keywords buffer) - (whitespace-mode buffer) - (whitespace-point--used buffer) - (whitespace-point buffer) - (whitespace-bob-marker buffer) - forward-sexp-function - smie-rules-function - smie-grammar - smie-forward-token-function - smie-backward-token-function - ) - "Which local variables to save for major mode regions. -Each element has the form \(VARIABLE [TYPE [MODES]]), causing VARIABLE -to be saved for all major modes in the list MODES. If MODES is t or -absent, the variable is saved for all major modes. MODES can also be -a function of no arguments which returns non-nil whenever the variable -should be saved. - -TYPE should be either the symbol `global', meaning to save the -variable globally, the symbol `buffer', meaning to save it per buffer, -or the symbol `region', meaning to save it for each submode region. -If TYPE has any other value, such as nil, or is absent, the variable -is saved globally. If all optional parameters are omitted, the -element may be simply VARIABLE instead of \(VARIABLE). - -It is possible for VARIABLE to be not a symbol but a cons cell of the -form \(GETTER . SETTER), thus specifying special functions to set and -get the value of the \"variable\". This is used for objects like -local maps, syntax tables, etc. which need to be installed in a -special way. GETTER should be a function of no arguments, and SETTER -a function of one. In this case, even if TYPE and MODES are omitted, -the list cannot be flattened--it must be \((GETTER . SETTER)). -\"Variables\" of this type cannot be seen with `mmm-get-saved-local'. - -A single variable may appear more than once in this list, with -different modes and/or types. If the same mode appears more than once -for the same variable with different types, the behavior is undefined. -Changing the value of this variable after MMM Mode has been activated -in some buffer may produce unpredictable results. - -Globally saved variables are saved in the mmm-local-variables property -of the mode symbol. Buffer saved variables are saved in the alist -`mmm-buffer-saved-locals'. Region saved variables are saved in the -mmm-local-variables property of the overlay.") - -(defvar mmm-buffer-saved-locals () - "Stores saved local variables for this buffer, by mode. -Each element looks like \(MODE \(VAR VALUE) ...).") -(make-variable-buffer-local 'mmm-buffer-saved-locals) - -(defvar mmm-region-saved-locals-defaults () - "Stores saved defaults for region-saved locals, by mode. -Each element looks like \(MODE \(VAR VALUE) ...). Used to initialize -new submode regions.") -(make-variable-buffer-local 'mmm-region-saved-locals-defaults) - -(defvar mmm-region-saved-locals-for-dominant () - "Stores saved region locals for the dominant major mode. -The dominant major mode is considered to be one region for purposes of -saving region variables. Region-saved variables for submode regions -are saved as overlay properties.") -(make-variable-buffer-local 'mmm-region-saved-locals-for-dominant) - -;;}}} -;;{{{ Submode Faces - -(defgroup mmm-faces nil - "Faces and coloring for submode regions. -In general, only background colors should be set, to avoid interfering -with font-lock." - :group 'mmm) - -(defcustom mmm-submode-decoration-level 1 - "*Amount of coloring to use in submode regions. -Should be either 0, 1, or 2, representing None, Low, and High amounts -of coloring respectively. -* None (0) means to use no coloring at all. -* Low (1) means to use `mmm-default-submode-face' for all submode - regions \(except for \"non-submode\" regions, i.e. those that are of - the primary mode) and `mmm-delimiter-face' for region delimiters. -* High (2) means to use different faces for different types of submode - regions and delimiters, such as initialization code, expressions that - are output, declarations, and so on, as specified by the submode - class. The default faces are still used for regions that do not - specify a face." - :group 'mmm-faces - :type '(choice (const :tag "None" 0) - (const :tag "Low" 1) - (const :tag "High" 2))) - -(defface mmm-init-submode-face '((((background light)) (:background "Pink")) - (((background dark)) (:background "MediumOrchid")) - (t (:background "Pink"))) - "Face used for submodes containing initialization code." - :group 'mmm-faces) - -(defface mmm-cleanup-submode-face '((((background light)) (:background "Wheat")) - (((background dark)) (:background "peru")) - (t (:background "Wheat"))) - "Face used for submodes containing cleanup code." - :group 'mmm-faces) - -(defface mmm-declaration-submode-face '((((background light)) (:background "Aquamarine")) - (((background dark)) (:background "DarkTurquoise")) - (t (:background "Aquamarine"))) - "Face used for submodes containing declarations." - :group 'mmm-faces) - -(defface mmm-comment-submode-face '((((background light)) (:background "SkyBlue")) - (((background dark)) (:background "SteelBlue")) - (t (:background "SkyBlue"))) - "Face used for submodes containing comments and documentation." - :group 'mmm-faces) - -(defface mmm-output-submode-face '((((background light)) (:background "Plum")) - (((background dark)) (:background "MediumVioletRed")) - (t (:background "Plum"))) - "Face used for submodes containing expression that are output." - :group 'mmm-faces) - -(defface mmm-special-submode-face '((((background light)) (:background "MediumSpringGreen")) - (((background dark)) (:background "ForestGreen")) - (t (:background "MediumSpringGreen"))) - "Face used for special submodes not fitting any other category." - :group 'mmm-faces) - -(defface mmm-code-submode-face '((((background light)) (:background "LightGray")) - (((background dark)) (:background "DimGray")) - (t (:background "LightGray"))) - "Face used for submodes containing ordinary code." - :group 'mmm-faces) - -(defface mmm-default-submode-face '((((background light)) (:background "gray85")) - (((background dark)) (:background "gray20")) - (t (:background "gray85"))) - "Face used for all submodes at decoration level 1. -Also used at decoration level 2 for submodes not specifying a type." - :group 'mmm-faces) - -(defface mmm-delimiter-face nil - "Face used to mark submode delimiters." - :group 'mmm-faces) - -;;}}} -;;{{{ Mode Line Format - -(defcustom mmm-mode-string " MMM" - "*String to display in mode line as MMM minor mode indicator." - :group 'mmm - :type 'string) - -(defcustom mmm-submode-mode-line-format "~M[~m]" - "*Format of the mode-line display when point is in a submode region. - -~M is replaced by the name of the primary major mode \(which may be -replaced by a combined-mode function, see the info documentation). - -~m is replaced by the submode region overlay's `display-name' -property, if it has one. Otherwise it is replaced by the mode name of -the submode region. - -If `mmm-primary-mode-display-name' is non-nil, then this variable is -used even when point is not in a submode region \(i.e. it is in a -primary mode region), with ~m being replaced by the value of that -variable." - :group 'mmm - :type 'string) - -(defvar mmm-primary-mode-display-name nil - "If non-nil, displayed as the primary mode name in the mode line. -See also `mmm-buffer-mode-display-name'.") -(make-variable-buffer-local 'mmm-primary-mode-display-name) - -(defvar mmm-buffer-mode-display-name nil - "If non-nil, displayed in the mode line instead of the primary mode -name, which is then shown next to it as if it were a submode when in a -primary mode region, i.e. outside all submode regions.") -(make-variable-buffer-local 'mmm-buffer-mode-display-name) - -(defun mmm-set-mode-line () - "Set the mode line display correctly for the current submode, -according to `mmm-submode-mode-line-format'." - (let ((primary (or mmm-primary-mode-display-name - (get mmm-primary-mode 'mmm-mode-name))) - (submode (and mmm-current-overlay - (or (overlay-get mmm-current-overlay 'display-name) - (get mmm-current-submode 'mmm-mode-name))))) - (if mmm-buffer-mode-display-name - (setq mode-name - (mmm-format-string mmm-submode-mode-line-format - `(("~M" . ,mmm-buffer-mode-display-name) - ("~m" . ,(or submode primary))))) - (if submode - (setq mode-name - (mmm-format-string mmm-submode-mode-line-format - `(("~M" . ,primary) - ("~m" . ,submode)))) - (setq mode-name primary)))) - (force-mode-line-update)) - -;;}}} -;;{{{ Submode Classes - -(defvar mmm-classes nil - "*List of submode classes that apply to a buffer. -Generally set in a file local variables list. Can either be one -symbol, or a list of symbols. Automatically buffer-local.") -(make-variable-buffer-local 'mmm-classes) - -(defvar mmm-global-classes '(universal) - "*List of submode classes that apply to all buffers. -Can be overridden in a file local variables list.") - -;;}}} -;;{{{ Modes and Extensions - -(defcustom mmm-mode-ext-classes-alist nil - "Alist of submode classes for major modes and/or file extensions. -This variable can now be directly modified. - -Elements look like \(MODE EXT CLASS), where MODE is a major mode, EXT -is a regexp to match a filename such as in `auto-mode-alist', and -CLASS is a submode class. CLASS is activated in all buffers in mode -MODE \(if non-nil) and whose filenames match EXT \(if non-nil). If -both MODE and EXT are nil, CLASS is activated in all buffers. If CLASS -is the symbol t, MMM Mode is turned on in all buffers matching MODE -and EXT, but no classes are activated. - -See `mmm-global-mode'." - :group 'mmm - :type '(repeat (list (symbol :tag "Major Mode") - (string :tag "Filename Regexp") - (symbol :tag "Class"))) - :require 'mmm-mode) - -(defun mmm-add-mode-ext-class (mode ext class) - "Add an element to `mmm-mode-ext-classes-alist', which see. -That variable can now be directly modified, so this function is -unnecessary. It probably won't go away, though." - (add-to-list 'mmm-mode-ext-classes-alist (list mode ext class))) - -;;}}} -;;{{{ Preferred Major Modes - -(defcustom mmm-major-mode-preferences - '((perl cperl-mode perl-mode) - (python python-mode python-mode) - (javascript javascript-mode c++-mode) - (java jde-mode java-mode c++-mode) - (css css-mode c++-mode)) - "User preferences about what major modes to use. -Each element has the form \(LANGUAGE . MODES) where LANGUAGE is the -name of a programming language such as `perl' as a symbol, and MODES -is a list of possible major modes to use, such as `cperl-mode' or -`perl-mode'. The first element of MODES which is `fboundp' is used -for submodes of LANGUAGE. The last element of MODES should be a mode -which will always be available." - :group 'mmm - :type '(repeat (cons symbol - (repeat - (restricted-sexp :match-alternatives - (fboundp)))))) - -(defun mmm-add-to-major-mode-preferences (language mode &optional default) - "Add major mode MODE as acceptable for LANGUAGE. -This sets the value of `mmm-major-mode-preferences'. If DEFAULT -is non-nil, MODE is added at the front of the list of modes for -LANGUAGE. Otherwise, it is added at the end. This may be used by -packages to ensure that some mode is present, but not override -any user-specified mode." - (let ((pair (assq language mmm-major-mode-preferences))) - (if pair - ;; Existing mode preferences - (if default - (setcdr pair (cons mode (cdr pair))) - (setcdr pair (append (cdr pair) (list mode)))) - ;; No existing mode preference - (add-to-list 'mmm-major-mode-preferences (list language mode))))) - -(defun mmm-ensure-modename (symbol) - "Return SYMBOL if it is a valid submode name, else nil. -Valid submode names are either `fboundp' or present as the `car' of an -element in `mmm-major-mode-preferences'." - (if (or (fboundp symbol) - (assq symbol mmm-major-mode-preferences)) - symbol - nil)) - -(defun mmm-modename->function (mode) - "Convert MODE to a mode function, nil if impossible. -Valid submode names are either `fboundp' or present as the `car' of an -element in `mmm-major-mode-preferences'. In the latter case, the -first `fboundp' element of the `cdr' is returned, or nil if none." - (if (fboundp mode) - mode - (car (cl-remove-if-not - #'fboundp - (cdr (assq mode mmm-major-mode-preferences)))))) - -;;}}} -;;{{{ Delimiter Regions - -(defcustom mmm-delimiter-mode 'fundamental-mode - "Major mode used by default for delimiter regions. -Classes are encouraged to override this by providing a delimiter-mode -parameter-- see `mmm-classes-alist'." - :group 'mmm - :type 'function) - -;;}}} -;;{{{ Key Bindings - -(defcustom mmm-mode-prefix-key [(control ?c) ?%] - "Prefix key for the MMM Minor Mode Keymap." - :group 'mmm - :type 'vector) - -(defcustom mmm-command-modifiers '(control) - "List of key modifiers for MMM command keys. -The MMM commands in the MMM Mode map, after `mmm-mode-prefix-key', -are bound to default keys with these modifiers added. This variable -must be set before MMM Mode is loaded to have an effect. - -It is suggested that the value of this variable be either nil or -\(control), as the default keys are either plain keys or have only a -meta modifier. The shift modifier is not particularly portable between -Emacsen. The values of this variable and `mmm-insert-modifiers' should -be disjoint." - :group 'mmm - :type '(repeat (symbol :tag "Modifier"))) - -(defcustom mmm-insert-modifiers '() - "List of key modifiers for MMM submode insertion keys. -When a key pressed after `mmm-mode-prefix-key' has no MMM Mode command -binding, and its modifiers include these, then its basic type, plus any -modifiers in addition to these, is looked up in classes' :insert -specifications. - -It is suggested that the value of this variable be either nil or -\(control), allowing submode classes to specify the presence or -absence of the meta modifier. The shift modifier is not particularly -portable between Emacsen. The values of `mmm-command-modifiers' and -this variable should be disjoint." - :group 'mmm - :type '(repeat (symbol :tag "Modifier"))) - -(defcustom mmm-use-old-command-keys nil - "Non-nil means to Use the old command keys for MMM Mode. -MMM Mode commands then have no modifier while insertion commands have -a control modifier, i.e. `mmm-command-modifiers' is set to nil and -`mmm-insert-modifiers' is set to \(control). If nil, the values of -these variables are as the default, or whatever the user has set them -to. This variable must be set before MMM Mode is loaded." - :group 'mmm - :type 'boolean) - -(defun mmm-use-old-command-keys () - "Use the old command keys \(no control modifer) in MMM Mode." - (setq mmm-command-modifiers '() - mmm-insert-modifiers '(control))) - -;;}}} -;;{{{ MMM Hooks - -(defcustom mmm-mode-hook () - "Hook run when MMM Mode is enabled in a buffer. - -A hook named mmm--hook is also run, if it exists. For -example, `mmm-html-mode-hook' is run whenever MMM Mode is entered with -HTML mode the dominant mode. - -A hook named mmm--submode-hook is run when a submode region -of a given mode is created. For example, `mmm-cperl-mode-submode-hook' -is run whenever a CPerl mode submode region is created, in any buffer. -When this hooks are run, point is guaranteed to be at the start of -the newly created submode region. - -Finally, a hook named mmm--class-hook is run whenever a buffer -is first mmm-ified with a given submode class. For example, -`mmm-mason-class-hook' is run whenever the `mason' class is first -applied in a buffer." - :group 'mmm - :type 'hook) - -(defun mmm-run-constructed-hook (body &optional suffix) - "Run the hook named `mmm---hook', if it exists. -If SUFFIX is nil or unsupplied, run `mmm--hook' instead." - (let ((hook (intern-soft (if suffix - (format "mmm-%s-%s-hook" body suffix) - (format "mmm-%s-hook" body))))) - (if hook (run-hooks hook)))) - -(defun mmm-run-major-hook () - (mmm-run-constructed-hook mmm-primary-mode)) - -(defun mmm-run-submode-hook (submode) - (mmm-run-constructed-hook submode "submode")) - -(defvar mmm-class-hooks-run () - "List of submode classes for which hooks have already been run in -the current buffer.") -(make-variable-buffer-local 'mmm-class-hooks-run) - -(defun mmm-run-class-hook (class) - (unless (member class mmm-class-hooks-run) - (mmm-run-constructed-hook class "class") - (add-to-list 'mmm-class-hooks-run class))) - -(defvar mmm-primary-mode-entry-hook nil - "Hook run when point moves into a region of the primary mode. -Each submode region can have an `entry-hook' property which is run -when they are entered, but since primary mode regions have no overlay -to store properties, this is a buffer-local variable. - -N.B. This variable is not a standard Emacs hook. Unlike Emacs' -\"local hooks\" it has *no* global value, only a local one. Its value -should always be a list of functions \(possibly empty) and never a -single function. It may be used with `add-hook', however.") -(make-variable-buffer-local 'mmm-primary-mode-entry-hook) - -;;}}} -;;{{{ Major Mode Hook - -(defcustom mmm-major-mode-hook () - "Hook run whenever a new major mode is finished starting up. -MMM Mode implements this with a hack \(see comments in the source) so -that `mmm-global-mode' will function correctly, but makes this hook -available so that others can take advantage of the hack as well. - -Note that file local variables have *not* been processed by the time -this hook is run. If a function needs to inspect them, it should also -be added to `find-file-hook'. However, `find-file-hook' is not run -when creating a non-file-based buffer, or when changing major modes in -an existing buffer." - :group 'mmm - :type 'hook) - -(defun mmm-run-major-mode-hook () - (dolist (func mmm-major-mode-hook) - (ignore-errors (funcall func)))) - -;;}}} -;;{{{ MMM Global Mode - -;; There's a point to be made that this variable should default to -;; `maybe' (i.e. not nil and not t), because that's what practically -;; everyone wants. I subscribe, however, to the view that simply -;; *loading* a lisp extension should not change the (user-visible) -;; behavior of Emacs, until it is configured or turned on in some -;; way, which dictates that the default for this must be nil. -(defcustom mmm-global-mode nil - "Specify in which buffers to turn on MMM Mode automatically. - -- If nil, MMM Mode is never enabled automatically. -- If t, MMM Mode is enabled automatically in all buffers. -- If any other symbol, MMM mode is enabled only in those buffers that - have submode classes associated with them. See `mmm-classes' and - `mmm-mode-ext-classes-alist' for more information." - :group 'mmm - :type '(choice (const :tag "Always" t) - (const :tag "Never" nil) - (other :tag "Maybe" maybe)) - :require 'mmm-mode) - -;; These are not traditional editing modes, so mmm makes no sense, and -;; can mess things up seriously if it doesn't know not to try. -(defcustom mmm-never-modes - '( - help-mode - Info-mode - dired-mode - comint-mode - telnet-mode - shell-mode - eshell-mode - forms-mode - ) - "List of modes in which MMM Mode is never activated." - :group 'mmm - :type '(repeat (symbol :tag "Mode"))) - -;;}}} -;;{{{ Buffer File Name - -(defvar mmm-set-file-name-for-modes '(mew-draft-mode) - "List of modes for which the temporary buffers MMM creates have a -file name. In these modes, this file name is the same as that of the -parent buffer. In general, this has been found to cause more problems -than it solves, but some modes require it.") - -;;}}} -;;{{{ Idle Parsing - -(defcustom mmm-parse-when-idle nil - "Non-nil to automatically reparse the buffer when it has some - modifications and Emacs has been idle for `mmm-idle-timer-delay'." - :type 'boolean - :group 'mmm) - -(defcustom mmm-idle-timer-delay 0.2 - "Delay in secs before re-parsing after user makes changes." - :type 'number - :group 'mmm) -(make-variable-buffer-local 'mmm-idle-timer-delay) - -(defvar mmm-mode-parse-timer nil "Private variable.") -(make-variable-buffer-local 'mmm-mode-parse-timer) -(defvar mmm-mode-buffer-dirty nil "Private variable.") -(make-variable-buffer-local 'mmm-mode-buffer-dirty) - -(defun mmm-mode-edit (_beg _end _len) - (setq mmm-mode-buffer-dirty t) - (mmm-mode-reset-timer)) - -(defun mmm-mode-reset-timer () - (when mmm-mode-parse-timer - (cancel-timer mmm-mode-parse-timer)) - (setq mmm-mode-parse-timer - (run-with-idle-timer mmm-idle-timer-delay nil - #'mmm-mode-idle-reparse (current-buffer)))) - -(defun mmm-mode-idle-reparse (buffer) - (when (buffer-live-p buffer) - (with-current-buffer buffer - (when mmm-mode-buffer-dirty - (mmm-apply-all) - (setq mmm-mode-buffer-dirty nil) - (setq mmm-mode-parse-timer nil))))) - -;;}}} - -;; NON-USER VARIABLES -;;{{{ Mode Variable - -(defvar mmm-mode nil - "Non-nil means MMM Mode is turned on in this buffer. -Do not set this variable directly; use the function `mmm-mode'.") -(make-variable-buffer-local 'mmm-mode) - -;;}}} -;;{{{ Primary Mode - -(defvar mmm-primary-mode nil - "The primary major mode in the current buffer.") -(make-variable-buffer-local 'mmm-primary-mode) - -;;}}} -;;{{{ Classes Alist - -;; Notes: -;; 1. :parent could be an all-class argument. Same with :keymap. -;; 2. :match-submode really does have to be distinct from :submode, -;; because 'functionp' isn't enough to distinguish which is meant. -(defvar mmm-classes-alist nil - "Alist containing all defined mmm submode classes. -A submode class is a named recipe for parsing a document into submode -regions, and sometimes for inserting new ones while editing. - -Each element of this alist looks like \(CLASS . ARGS) where CLASS is a -symbol naming the submode class and ARGS is a list of keyword -arguments, called a \"class specifier\". There are a large number of -accepted keyword arguments in the class specifier. - -The argument CLASSES, if supplied, must be a list of other submode -class names, or class specifiers, representing other classes to call -recursively. The FACE arguments of these classes are overridden by -the FACE argument of this class. If the argument CLASSES is supplied, -all other arguments to this class are ignored. That is, \"grouping\" -classes can do nothing but group other classes. - -The argument HANDLER, if supplied, also overrides any other processing. -It must be a function, and all the arguments are passed to it as -keywords, and it must do everything. See `mmm-ify' for what sorts of -things it must do. This back-door interface should be cleaned up. - -The optional argument FACE gives the display face of the submode -regions under high decoration (see `mmm-submode-decoration-level'). -It must be a valid face. The standard faces used for submode regions -are `mmm-*-submode-face' where * is one of `init', `cleanup', -`declaration', `comment', `output', `special', or `code'. A more -flexible alternative is the argument MATCH-FACE. MATCH-FACE can be a -function, which is called with one argument, the form of the front -delimiter \(found from FRONT-FORM, below), and should return the face -to use. It can also be an alist, with each element of the form -\(DELIM . FACE). - -If neither CLASSES nor HANDLER are supplied, either SUBMODE or -MATCH-SUBMODE must be. SUBMODE specifies the submode to use for the -submode regions, a symbol such as `cperl-mode' or `emacs-lisp-mode', -while MATCH-SUBMODE must be a function to be called immediately after -a match is found for FRONT, which is passed one argument, the form of -the front delimiter \(found from FRONT-FORM, below), and return a -symbol such as SUBMODE would be set to. If MATCH-SUBMODE detects an -invalid match--for example a specified mode which is not `fboundp'--it -should \(signal 'mmm-no-matching-submode nil). - -FRONT and BACK are the means to find the submode regions, and can be -either buffer positions \(number-or-markers), regular expressions, or -functions. If they are absolute buffer positions, only one submode -region is created, from FRONT to BACK. This is generally not used in -named classes. \(Unnamed classes are created by interactive commands -in `mmm-interactive-history'). - -If FRONT is a regexp, then that regexp is searched for, and the end of -its FRONT-MATCH'th match \(or the beginning thereof, if INCLUDE-FRONT -is non-nil), plus FRONT-OFFSET, becomes the beginning of the submode -region. If FRONT is a function, that function is called instead, and -must act somewhat like a search, in that it should start at point, -take one argument as a search bound, and set the match data. A -similar pattern is followed for BACK \(the search starts at the -beginning of the submode region), save that the beginning of its -BACK-MATCH'th match \(or the end, if INCLUDE-BACK is non-nil) becomes -the end of the submode region, plus BACK-OFFSET. - -If SAVE-MATCHES is non-nil, then BACK, if it is a regexp, is formatted -by replacing strings of the form \"~N\" by the corresponding value of -\(match-string n) after matching FRONT. - -FRONT-MATCH and BACK-MATCH default to zero. They specify which -sub-match of the FRONT and BACK regexps to treat as the delimiter. -This number will be passed to any calls to `match-beginning' and -company. - -FRONT- and BACK-OFFSET default to 0. In addition to numbers, they can -also be functions to call which should move point to the correct -position for the beginning or end of the submode region. Common -choices include `beginning-of-line' and `end-of-line', and new -functions can of course be written. They can also be lists which will -be applied in sequence, such as \(end-of-line 1) meaning move to end -of line and then forward one character. - -FRONT-VERIFY and BACK-VERIFY, if supplied, must be functions that -inspect the match data to see if a match found by FRONT or BACK -respectively is valid. - -FRONT-DELIM \(resp. BACK-DELIM), if supplied, can take values like -those of FRONT-OFFSET \(resp. BACK-OFFSET), specifying the offset from -the start \(resp. end) of the match for FRONT \(resp. BACK) to use as -the starting \(resp. ending) point for the front \(resp. back) -delimiter. If nil, it means not to make a region for the respective -delimiter at all. - -DELIMITER-MODE, if supplied, specifies what submode to use for the -delimiter regions, if any. If `nil', the primary mode is used. If -not supplied, `mmm-delimiter-mode' is used. - -FRONT-FACE and BACK-FACE specify faces to use for displaying the -delimiter regions, under high decoration. - -FRONT-FORM and BACK-FORM, if given, must supply a regexp used to match -the *actual* delimiter. If they are strings, they are used as-is. If -they are functions, they are called and must inspect the match data. -If they are lists, their `car' is taken as the delimiter. The default -for both is \(regexp-quote \(match-string 0)). - -The last case--them being a list--is usually used to set the delimiter -to a function. Such a function must take 1-2 arguments, the first -being the overlay in question, and the second meaning to insert the -delimiter and adjust the overlay rather than just matching the -delimiter. See `mmm-match-front', `mmm-match-back', and -`mmm-end-current-region'. - -CASE-FOLD-SEARCH, if specified, controls whether the search is -case-insensitive. See `case-fold-search'. It defaults to `t'. - -CREATION-HOOK, if specified, should be a function which is run -whenever a submode region is created, with point at the beginning of -the new region. One use for it is to set region-saved local variables -\(see `mmm-save-local-variables'). - -INSERT specifies the keypress insertion spec for such submode regions. -INSERT's value should be list of elements of the form \(KEY NAME . -SPEC). Each KEY should be either a character, a function key symbol, -or a dotted list \(MOD . KEY) where MOD is a symbol for a modifier -key. The use of any other modifier than meta is discouraged, as -`mmm-insert-modifiers' is sometimes set to \(control), and other -modifiers are not very portable. Each NAME should be a symbol -representing the insertion for that key. Each SPEC can be either a -skeleton, suitable for passing to `skeleton-insert' to create a -submode region, or a dotted pair \(OTHER-KEY . ARG) meaning to use the -skeleton defined for OTHER-KEY but pass it the argument ARG as the -`str' variable, possible replacing a prompt string. Skeletons for -insertion should have the symbol `_' where point \(or wrapped text) -should go, and the symbol `@' in four different places: at the -beginning of the front delimiter, the beginning of the submode region, -the end of the submode region, and the end of the back delimiter. - -If END-NOT-BEGIN is non-nil, it specifies that a BACK delimiter cannot -begin a new submode region. - -MATCH-NAME, if supplied, specifies how to determine the \"name\" for -each submode region. It must be a string or a function. If it is a -function, it is passed the value of FRONT-FORM and must return the -name to use. If it is a string, it is used as-is unless SAVE-NAME has -a non-nil value, in which case, the string is interpreted the same as -BACK when SAVE-MATCHES is non-nil. If MATCH-NAME is not specified, -the regions are unnamed. Regions with the same name are considered -part of the same chunk of code, and formatted as such, while unnamed -regions are not grouped with any others. - -As a special optimization for insertion, if SKEL-NAME is non-nil, the -insertion code will use the user-prompted string value as the region -name, instead of going through the normal matching procedure. - -PRIVATE, if supplied and non-nil, means that this class is a private -or internal class, usually one invoked by another class via :classes, -and is not for the user to see.") - -;;;###autoload -(defun mmm-add-classes (classes) - "Add the submode classes CLASSES to `mmm-classes-alist'." - (dolist (class classes) - (add-to-list 'mmm-classes-alist class))) - -(defun mmm-add-group (group classes) - "Add CLASSES and a \"grouping class\" named GROUP which calls them all. -The CLASSES are all made private, i.e. non-user-visible." - (mmm-add-classes (mapcar (lambda (class) - (append class - '(:private t))) - classes)) - (add-to-list 'mmm-classes-alist - (list group :classes (mapcar #'cl-first classes)))) - -(defun mmm-add-to-group (group classes) - "Add CLASSES to the \"grouping class\" named GROUP. -The CLASSES are all made private, i.e. non-user-visible." - (mmm-add-classes (mapcar (lambda (class) - (append class - '(:private t))) - classes)) - (mmm-set-class-parameter group :classes - (append (mmm-get-class-parameter group :classes) - (mapcar #'cl-first classes)))) - -;;}}} -;;{{{ Version Number - -(defconst mmm-version "0.5.7" - "Current version of MMM Mode.") - -(defun mmm-version () - (interactive) - (message "MMM Mode version %s by Michael Abraham Shulman" mmm-version)) - -;;}}} -;;{{{ Temp Buffer Name - -(defvar mmm-temp-buffer-name "mmm-temp-buffer" - "Name for temporary buffers created by MMM Mode. -Using non-special name, so that font-lock-mode will be enabled -automatically when appropriate, and will set all related vars.") - -(defvar mmm-in-temp-buffer nil - "Bound to t when working in the temp buffer.") - -;;}}} -;;{{{ Interactive History - -(defvar mmm-interactive-history nil - "History of interactive mmm-ification in the current buffer. -Elements are either submode class symbols or class specifications. See -`mmm-classes-alist' for more information.") -(make-variable-buffer-local 'mmm-interactive-history) - -(defun mmm-add-to-history (class) - (add-to-list 'mmm-interactive-history class)) - -(defun mmm-clear-history () - "Clears history of interactive mmm-ification in current buffer." - (interactive) - (setq mmm-interactive-history nil)) - -;;}}} -;;{{{ Mode/Ext Manipulation - -(defvar mmm-mode-ext-classes () - "List of classes associated with current buffer by mode and filename. -Set automatically from `mmm-mode-ext-classes-alist'.") -(make-variable-buffer-local 'mmm-mode-ext-classes) - -(defun mmm-get-mode-ext-classes () - "Return classes for current buffer from major mode and filename. -Uses `mmm-mode-ext-classes-alist' to find submode classes." - (or mmm-mode-ext-classes - (setq mmm-mode-ext-classes - (mapcar #'cl-third - (cl-remove-if-not #'mmm-mode-ext-applies - mmm-mode-ext-classes-alist))))) - -(defun mmm-clear-mode-ext-classes () - "Clear classes added by major mode and filename." - (setq mmm-mode-ext-classes nil)) - -(defun mmm-mode-ext-applies (element) - (cl-destructuring-bind (mode ext _class) element - (and (if mode - (eq mode - ;; If MMM is on in this buffer, use the primary mode, - ;; otherwise use the normal indicator. - (or mmm-primary-mode major-mode)) - t) - (if ext - (and (buffer-file-name) - (save-match-data - (string-match ext (buffer-file-name)))) - t)))) - -(defun mmm-get-all-classes (global) - "Return a list of all classes applicable to the current buffer. -These come from mode/ext associations, `mmm-classes', and interactive -history, as well as `mmm-global-classes' if GLOBAL is non-nil." - (append mmm-interactive-history - (if (listp mmm-classes) mmm-classes (list mmm-classes)) - (if global mmm-global-classes ()) - (mmm-get-mode-ext-classes))) - -;;}}} - -(provide 'mmm-vars) - -;;; mmm-vars.el ends here diff --git a/elpa/mmm-mode-0.5.7/mmm.texinfo b/elpa/mmm-mode-0.5.7/mmm.texinfo deleted file mode 100644 index 7bd1d24..0000000 --- a/elpa/mmm-mode-0.5.7/mmm.texinfo +++ /dev/null @@ -1,2108 +0,0 @@ -\input texinfo -@c %**start of header -@setfilename mmm.info -@settitle MMM Mode Manual -@c %**end of header -@syncodeindex vr fn -@set MASON_VERSION 0.896 - -@dircategory GNU Emacs Lisp -@direntry -* MMM-Mode: (mmm). Multiple Major Modes for Emacs -@end direntry - -@ifinfo - -Copyright 2000 Michael Abraham Shulman. - -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries a copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -sections entitled ``Copying'' and ``GNU General Public License'' are -included exactly as in the original, and provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the Free Software Foundation. - -@end ifinfo - -@titlepage -@title MMM Mode Manual -@subtitle Multiple Major Modes for Emacs -@author Michael Abraham Shulman -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2000 Michael Abraham Shulman. - -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -sections entitled ``Copying'' and ``GNU General Public License'' are -included exactly as in the original, and provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the Free Software Foundation. - -@end titlepage - -@ifinfo -@node Top, Overview, (dir), (dir) -@top MMM Mode - -MMM Mode is a minor mode for Emacs which allows Multiple Major Modes to -coexist in a single buffer. - -@end ifinfo - -@menu -* Overview:: An overview and introduction to MMM Mode. -* Basics:: The basics of how to use it. -* Customizing:: Customizing how it works to your needs. -* Supplied Classes:: The supplied submode classes. -* Writing Classes:: Writing your own submode classes. -* Indices:: Just that. - -@detailmenu - --- The Detailed Node Listing --- - -Overview of MMM Mode - -* Basic Concepts:: A simple explanation of how it works. -* Installation:: How to install MMM Mode. -* Quick Start:: Getting started using MMM Mode quickly. - -MMM Mode Basics - -* MMM Minor Mode:: The Emacs minor mode that manages it all. -* Submode Classes:: What they are and how to use them. -* Selecting Classes:: How MMM Mode knows what classes to use. -* Insertion:: Inserting new submode regions automatically. -* Re-parsing:: Re-scanning for submode regions. -* Interactive:: Adding submode regions manually. -* Global Mode:: Turning MMM Mode on automatically. - -The MMM Minor Mode - -* Enabling MMM Mode:: Turning MMM Mode on and off. -* MMM Mode Keys:: Default key bindings in MMM Mode. - -How MMM Mode selects submode classes - -* File Classes:: Classes for a single file. -* Mode-Ext Classes:: Classes for a given mode or extension. -* Global Classes:: Classes for all MMM Mode buffers. - -MMM Global Mode - -* Major Mode Hook:: Using MMM's Major Mode Hook - -Customizing MMM Mode - -* Region Coloring:: Changing or removing background colors. -* Preferred Modes:: Choosing which major modes to use. -* Mode Line:: What is displayed in the mode line. -* Key Bindings:: Customizing the MMM Mode key bindings. -* Local Variables:: What local variables are saved for submodes. -* Changing Classes:: Changing the supplied submode classes. -* Hooks:: How to make MMM Mode run your code. - -Supplied Submode Classes - -* Mason:: Mason server-side Perl in HTML. -* File Variables:: Elisp code in File Variables. -* Here-documents:: Code in shell and Perl here-documents. -* Javascript:: Javascript embedded in HTML. -* Embedded CSS:: CSS Styles embedded in HTML. -* Embperl:: Another syntax for Perl in HTML. -* ePerl:: A general Perl-embedding syntax. -* JSP:: Java code embedded in HTML. -* RPM:: Shell scripts in RPM Spec Files. -* Noweb:: Noweb literate programs. - -Writing Submode Classes - -* Basic Classes:: Writing a simple submode class. -* Paired Delimiters:: Matching paired delimiters. -* Region Placement:: Placing the region more accurately. -* Submode Groups:: Grouping several classes together. -* Calculated Submodes:: Deciding the submode at run-time. -* Calculated Faces:: Deciding the display face at run-time. -* Insertion Commands:: Inserting regions automatically. -* Region Names:: Naming regions for syntax grouping. -* Other Hooks:: Running code at arbitrary points. -* Delimiters:: Controlling delimiter overlays. -* Misc Keywords:: Other miscellaneous options. - -Indices - -* Concept Index:: Index of MMM Mode Concepts. -* Function Index:: Index of functions and variables. -* Keystroke Index:: Index of key bindings in MMM Mode. - -@end detailmenu -@end menu - -@node Overview, Basics, Top, Top -@comment node-name, next, previous, up -@chapter Overview of MMM Mode -@cindex overview of mmm-mode -@cindex mmm-mode, overview of - -MMM Mode is a minor mode for Emacs which allows Multiple Major Modes to -coexist in a single buffer. The name is an abbreviation of `Multiple -Major Modes'@footnote{The name is derived from @file{mmm.el} for XEmacs -by Gongquan Chen , from which MMM Mode was adapted.}. A -major mode is a customization of Emacs for editing a certain type of -text, such as code for a specific programming language. @xref{Major -Modes, , , emacs, The Emacs Manual}, for details. - -MMM Mode is a general extension to Emacs which is useful whenever one -file contains text in two or more programming languages, or that -should be in two or more different modes. For example: - -@itemize @bullet -@item -CGI scripts written in any language, from Perl to PL/SQL, may want to -output verbatim HTML, and the writer of such scripts may want to use -Emacs' html-mode or sgml-mode to edit this HTML code, while remaining -in the appropriate programming language mode for the rest of the -file. @xref{Here-documents}, for example. - -@item -There are now many ``content delivery systems'' which turn the CGI -script idea around and simply add extra commands to an HTML file, -often in some programming language, which are interpreted on the -server. @xref{Mason}, @xref{Embperl}, @xref{ePerl}, @xref{JSP}. - -@item -HTML itself can also contain embedded languages such as Javascript and -CSS styles, for which Emacs has different major modes. -@xref{Javascript}, and @xref{Embedded CSS}, for example. - -@item -The idea of ``literate programming'' requires the same file to contain -documentation (written as text, html, latex, etc.) and code (in an -appropriate programming language). @xref{Noweb}, for example. - -@item -Emacs allows files of any type to contain `local variables', which can -include Emacs Lisp code to be evaluated. @xref{File Variables, , , -emacs, The Emacs Manual}. It may be easier to edit this code in Emacs -Lisp mode than in whatever mode is used for the rest of the file. -@xref{File Variables}. - -@item -There are many more possible uses for MMM Mode. RPM spec files can -contain shell scripts (@pxref{RPM}). Email or newsgroup messages may -contain sample code. And so on. We encourage you to experiment. -@end itemize - -@menu -* Basic Concepts:: A simple explanation of how it works. -* Installation:: How to install MMM Mode. -* Quick Start:: Getting started using MMM Mode quickly. -@end menu - -@node Basic Concepts, Installation, Overview, Overview -@comment node-name, next, previous, up -@section Basic Concepts -@cindex dominant major mode -@cindex major mode, dominant -@cindex default major mode -@cindex major mode, default -@cindex submode regions -@cindex regions, submode -@cindex overlays, submode -@cindex submode overlays -@cindex mmm-ification - -The way MMM Mode works is as follows. Each buffer has a @dfn{dominant} -or @dfn{default} major mode, which is chosen as major modes normally -are: the user can set it interactively, or it can be chosen -automatically with `auto-mode-alist' (@pxref{Choosing Modes, , , emacs, -The Emacs Manual}). Within the file, MMM Mode creates @dfn{submode -regions} within which other major modes are in effect. While the point -is in a submode region, the following changes occur: - -@enumerate -@item -The local keymap is that of the submode. This means the key bindings for -the submode are available, while those of the dominant mode are not. -@item -The mode line (@pxref{Mode Line, , , emacs, The Emacs Manual}) changes -to show which submode region is active. This can be configured; see -@ref{Mode Line}. -@item -The major mode menu, both on the menu bar and the mouse popup, are that -of the submode. -@item -Some local variables of the submode shadow those of the default mode -(@pxref{Local Variables}). For the user, this serves to help make Emacs -behave as if the submode were the major mode. -@item -The syntax table and indentation are those of the submode. -@item -Font-lock (@pxref{Font Lock, , , emacs, The Emacs Manual}) fontifies -correctly for the submode. -@item -The submode regions are highlighted by a background color; see -@ref{Region Coloring}. - -@end enumerate - -The submode regions are represented internally by Emacs Lisp objects -known as @dfn{overlays}. Some of the above are implemented by overlay -properties, and others are updated by an MMM Mode function in -`post-command-hook'. You don't need to know this to use MMM Mode, but it -may make any error messages you come across more understandable. -@xref{Overlays, , , elisp, The GNU Emacs Lisp Reference Manual}, for -more information on overlays. - -Because overlays are not saved with a file, every time a file is opened, -they must be created. Creating submode regions is occasionally referred -to as @dfn{mmm-ification}. (I've never had occasion to pronounce this, -but if I did I would probably say `mummification'. Like what they did in -ancient Egypt.) You can mmm-ify a buffer interactively, but most often -MMM Mode will find and create submode regions automatically based on a -buffer's file extension, dominant mode, or local variables. - - -@node Installation, Quick Start, Basic Concepts, Overview -@comment node-name, next, previous, up -@section Installing MMM Mode - -MMM Mode has a standard installation process. See the file INSTALL for -generic information on this process. To summarize, unpack the archive, -@command{cd} to the created MMM Mode directory, type @samp{./configure}, -then @samp{make}, then @samp{make install}. If all goes correctly, this -will compile the MMM Mode elisp files, install them in your local -site-lisp directory, and install the MMM Mode info file @file{mmm.info} -in your local info directory. - -Now you need to configure your Emacs initialization file (usually -@file{~/.emacs}) to use MMM Mode. First, Emacs has to know where to -find MMM Mode. In other words, the MMM Mode directory has to be in -@code{load-path}. This can be done in the parent directory's -@file{subdirs.el} file, or in the init file with a line such as: - -@lisp -(add-to-list 'load-path "/path/to/site-lisp/mmm/") -@end lisp - -Once @code{load-path} is configured, MMM Mode must be loaded. You can -load all of MMM Mode with the line - -@lisp -(require 'mmm-mode) -@end lisp - -@noindent -but if you use MMM Mode only rarely, it may not be desirable to load all -of it at the beginning of every editing session. You can load just -enough of MMM Mode so it will turn itself on when necessary and load the -rest of itself, by using instead the line - -@lisp -(require 'mmm-auto) -@end lisp - -@noindent -in your initialization file. - -One more thing you may want to do right now is to set the variable -@code{mmm-global-mode}. If this variable is @code{nil} (the default), -MMM Mode will never turn itself on. If it is @code{t}, MMM Mode will -turn itself on in every buffer. Probably the most useful value for it, -however, is the symbol @code{maybe} (actually, anything that is not -@code{nil} and not @code{t}), which causes MMM Mode to turn itself on in -precisely those buffers where it would be useful. You can do this with -a line such as: - -@lisp -(setq mmm-global-mode 'maybe) -@end lisp - -@noindent -in your initialization file. @xref{Global Mode}, for more detailed -information. - - -@node Quick Start, , Installation, Overview -@comment node-name, next, previous, up -@section Getting Started Quickly - -Perhaps the simplest way to create submode regions is to do it -interactively by specifying a region. First you must turn MMM Mode -on---say, with @kbd{M-x mmm-mode}---then place point and mark around the -area you want to make into a submode region, type @kbd{C-c % C-r}, and -enter the desired major mode. @xref{Interactive}, for more details. - -A better way to add submode regions is by using submode classes, which -store a lot of useful information for MMM Mode about how to add and -manipulate the regions created. @xref{Submode Classes}, for more -details. There are several sample submode classes that come with MMM -Mode, which are documented later in this manual. Look through these and -determine if one of them fits your needs. If so, I suggest reading the -comments on that mode. Then come back here to find out to use it. - -To apply a submode class to a buffer interactively, turn MMM Mode on as -above, then type @kbd{C-c % C-c} and enter the name of the class. -Submode regions should be added automatically, if there are any regions -in the buffer appropriate to the submode class. - -If you want a given file to always use a given submode class, you can -express this in a file variable: add a line containing the string -@samp{-*- mmm-classes: @var{class} -*-} at the top of the file. -@xref{File Variables, , , emacs, The Emacs Manual}, for more information -and other methods. Now whenever MMM Mode is turned on in that file, it -will be mmm-ified according to @var{class}. If @code{mmm-global-mode} is -non-nil, then MMM Mode will turn itself on whenever a file with a -@code{mmm-classes} local variable is opened. @xref{Global Mode}, for more -information. - -If you want a submode class to apply to @emph{all} files in a certain -major mode or with a certain extension, add a line such as this to your -initialization file: - -@lisp -(mmm-add-mode-ext-class @var{mode} @var{extension} @var{class}) -@end lisp - -@noindent -After this call, any file opened whose name matches the regular -expression @var{extension} @emph{and} whose default mode is @var{mode} -will be automatically mmm-ified according to @var{class} (assuming -@code{mmm-global-mode} is non-nil). If one of @var{extension} or -@var{mode} is @code{nil}, a file need only satisfy the other one to be -mmm-ified. - -You can now read the rest of this manual to learn more about how MMM -Mode works and how to configure it to your preferences. If none of the -supplied submode classes fit your needs, then you can try to write your -own. @xref{Writing Classes}, for more information. - -@node Basics, Customizing, Overview, Top -@comment node-name, next, previous, up -@chapter MMM Mode Basics - -This chapter explains the most important parts of how to use MMM Mode. - -@menu -* MMM Minor Mode:: The Emacs minor mode that manages it all. -* Submode Classes:: What they are and how to use them. -* Selecting Classes:: How MMM Mode knows what classes to use. -* Insertion:: Inserting new submode regions automatically. -* Re-parsing:: Re-scanning for submode regions. -* Interactive:: Adding submode regions manually. -* Global Mode:: Turning MMM Mode on automatically. -@end menu - -@node MMM Minor Mode, Submode Classes, Basics, Basics -@comment node-name, next, previous, up -@section The MMM Minor Mode -@cindex mode, mmm minor -@cindex minor mode, mmm -@cindex mmm minor mode - -An Emacs minor mode is an optional feature which can be turned on or off -in a given buffer, independently of the major mode. @xref{Minor Modes, , -, emacs, The Emacs Manual}. MMM Mode is implemented as a minor mode -which manages the submode regions. This minor mode must be turned on in -a buffer for submode regions to be effective. When activated, the MMM -Minor mode is denoted by @samp{MMM} in the mode line (@pxref{Mode -Line}). - -@menu -* Enabling MMM Mode:: Turning MMM Mode on and off. -* MMM Mode Keys:: Default key bindings in MMM Mode. -@end menu - - -@node Enabling MMM Mode, MMM Mode Keys, MMM Minor Mode, MMM Minor Mode -@comment node-name, next, previous, up -@subsection Enabling MMM Mode -@cindex mmm mode, turning on -@cindex mmm mode, turning off -@cindex turning on mmm mode -@cindex turning off mmm mode -@cindex mmm mode, enabling -@cindex mmm mode, disabling -@cindex enabling mmm mode -@cindex disabling mmm mode - -If @code{mmm-global-mode} is non-@code{nil} (@pxref{Global Mode}), -then the MMM minor mode will be turned on automatically whenever a file -with associated submode classes is opened (@pxref{Selecting Classes}). -It is also turned on by interactive mmm-ification (@pxref{Interactive}), -although the interactive commands do not have key bindings when it is -not on and must be invoked via @kbd{M-x}. You can also turn it on (or -off) manually with @kbd{M-x mmm-mode}, in which case it applies all -submode classes associated with the buffer. Turning MMM Mode off -automatically removes all submode regions from the buffer. - -@deffn Command mmm-mode @var{arg} -Toggle the state of MMM Mode in the current buffer. If @var{arg} is -supplied, turn MMM Mode on if and only if @var{arg} is positive. -@end deffn - -@defun mmm-mode-on -Turn MMM Mode on unconditionally in the current buffer. -@end defun - -@defun mmm-mode-off -Turn MMM Mode off unconditionally in the current buffer. -@end defun - -@defvar mmm-mode -This variable represents whether MMM Mode is on in the current buffer. -Do not set this variable directly; use one of the above functions. -@end defvar - - -@node MMM Mode Keys, , Enabling MMM Mode, MMM Minor Mode -@comment node-name, next, previous, up -@subsection Key Bindings in MMM Mode -@cindex mmm mode key bindings -@cindex key bindings in mmm mode -@findex mmm-insertion-help -@kindex C-c % h - -When MMM Mode is on, it defines a number of key bindings. By default, -these are bound after the prefix sequence @kbd{C-c %}. Minor mode -keymaps are supposed to use @kbd{C-c @var{punctuation}} sequences, and I -find this one to be a good mnemonic because @samp{%} is used by Mason to -denote special tags. This prefix key can be customized; @ref{Key -Bindings}. - -There are two types of key bindings in MMM Mode: @dfn{commands} and -@dfn{insertions}. Command bindings run MMM Mode interactive functions to -do things like re-parse the buffer or end the current submode region, -and are defined statically as normal Emacs key-bindings. Insertion -bindings insert submode region skeletons with delimiters into the -buffer, and are defined dynamically, according to which submode classes -(@pxref{Submode Classes}) are in effect, via a keymap default binding. - -To distinguish between the two, MMM Mode uses distinct modifier keys for -each. By default, command bindings use the control key (e.g. @kbd{C-c % -C-b} re-parses the buffer), and insertion bindings do not (e.g. @kbd{C-c -% p}, when the Mason class is in effect, inserts a -@samp{<%perl>...} region). This makes the command bindings -different from in previous versions, however, so the variable -@code{mmm-use-old-bindings} is provided. If this variable is set to `t' -before MMM Mode is loaded, the bindings will be reversed: insertion -bindings will use the control key and command bindings will not. - -Normally, Emacs gives help on a prefix command if you type @kbd{C-h} -after that command (e.g. @kbd{C-x C-h} displays all key bindings -starting with @kbd{C-x}). Because of how insertion bindings are -implemented dynamically with a default binding, they do not show up when -you hit @kbd{C-c % C-h}. For this reason, MMM Mode defines the command -@kbd{C-c % h} which displays a list of all currently valid insertion key -sequences. If you use the defaults for command and insertion bindings, -the @kbd{C-h} and @kbd{h} should be mnemonic. - -In the rest of this manual, I will assume you are using the defaults for -the mode prefix (@kbd{C-c %}) and the command and insertion modifiers. -You can customize them, however; @ref{Key Bindings}. - - -@node Submode Classes, Selecting Classes, MMM Minor Mode, Basics -@comment node-name, next, previous, up -@section Understanding Submode Classes -@cindex submode classes -@cindex classes, submode - -A submode class represents a ``type'' of submode region. It specifies -how to find the regions, what their delimiters look like, what submode -they should be, how to insert them, and how they behave in other ways. -It is represented by a symbol, such as @code{mason} or -@code{eval-elisp}. - -For example, in the Mason set of classes, there is one class -representing all @samp{<%...%>} inline Perl regions, and one -representing regions such as @samp{<%perl>...}, -@samp{<%init>...}, and so on. These are different to Mason, but -to Emacs they are all just Perl sections, so they are covered by the -same submode class. - -But it would be tedious if whenever we wanted to use the Mason classes, -we had to specify both of these. (Actually, this is a simplification: -there are some half a dozen Mason submode classes.) So submode classes -can also ``group'' others together, and we can refer to the @code{mason} -class and mean all of them. - -The way a submode class is used is to @dfn{apply} it to a buffer. This -scans the buffer for regions which should be submode regions according -to that class, and also remembers the class for later, so that new -submode regions can be inserted and scanned for later. - - -@node Selecting Classes, Insertion, Submode Classes, Basics -@comment node-name, next, previous, up -@section How MMM Mode selects submode classes - -Submode classes that apply to a buffer come from three sources: -mode/extension-associated classes, file-local classes, and interactive -MMM-ification (@pxref{Interactive}). Whenever MMM Mode is turned on in a -buffer (@pxref{MMM Minor Mode}, and @ref{Global Mode}), it inspects the -value of two variables to determine which classes to automatically apply -to the buffer. This covers the first two sources; the latter is covered -in a later chapter. - -@menu -* File Classes:: Classes for a single file. -* Mode-Ext Classes:: Classes for a given mode or extension. -* Global Classes:: Classes for all MMM Mode buffers. -@end menu - - -@node File Classes, Mode-Ext Classes, Selecting Classes, Selecting Classes -@comment node-name, next, previous, up -@subsection File-Local Submode Classes - -@defvar mmm-classes -This variable is always buffer-local when set. Its value should be -either a single symbol or a list of symbols. Each symbol represents a -submode class that is applied to the buffer. -@end defvar - -@code{mmm-classes} is usually set in a file local variables list. -@xref{File Variables, , , emacs, The Emacs Manual}. The easiest way to -do this is for the first line of the file to contain the string -@samp{-*- mmm-classes: @var{classes} -*-}, where @var{classes} is the -desired value of @code{mmm-classes} for the file in question. It can -also be done with a local variables list at the end of the file. - - -@node Mode-Ext Classes, Global Classes, File Classes, Selecting Classes -@comment node-name, next, previous, up -@subsection Submode Classes Associated with Modes and Extensions - -@defopt mmm-mode-ext-classes-alist -This global variable associates certain submode classes with major modes -and/or file extensions. Its value is a list of elements of the form -@code{(@var{mode} @var{ext} @var{class})}. Any buffer whose major mode -is @var{mode} (a symbol) @emph{and} whose file name matches @var{ext} (a -regular expression) will automatically have the submode class -@var{class} applied to it. - -If @var{mode} is @code{nil}, then only @var{ext} is considered to -determine if a buffer fits the criteria, and vice versa. Thus if both -@var{mode} and @var{ext} are nil, then @var{class} is applied to -@emph{all} buffers in which MMM Mode is on. Note that @var{ext} can be -any regular expression, although its name indicates that it most often -refers to the file extension. - -If @var{class} is the symbol @code{t}, then no submode class is actually -applied for this association. However, if @code{mmm-global-mode} is -non-@code{nil} and non-@code{t}, MMM Mode will be turned on in matching -buffers even if there are no actual submode classes being applied. -@xref{Global Mode}. -@end defopt - -@defun mmm-add-mode-ext-class @var{mode} @var{ext} @var{class} -This function adds an element to @code{mmm-mode-ext-classes-alist}, -associating the submode class @var{class} with the major mode @var{mode} -and extension @var{ext}. - -Older versions of MMM Mode required this function to be used to control -the value of @code{mmm-mode-ext-classes-alist}, rather than setting it -directly. In this version it is provided purely for convenience and -backward compatibility. -@end defun - - -@node Global Classes, , Mode-Ext Classes, Selecting Classes -@comment node-name, next, previous, up -@subsection Globally Applied Classes and the Universal Class - -In addition to file-local and mode-ext-associated submode classes, MMM -Mode also allows you to specify that certain submode classes apply to -@emph{all} buffers in which MMM Mode is enabled. - -@defopt mmm-global-classes -This variable's value should be a list of submode classes that apply to -all buffers with MMM Mode on. It can be overriden in a file local -variables list, such as to disable global class for a specific file. -Its default value is @code{(universal)}. -@end defopt - -The default global class is the ``universal class'', which is defined in -the file @file{mmm-univ.el} (loaded automatically), and allows the -author of text to specify that a certain section of it be in a specific -major mode. Thus, for example, when writing an email message that -includes sample code, the author can allow readers of the message (who -use emacs and MMM) to view the code in the appropriate major mode. The -syntax used is @samp{@{%@var{mode}%@} ... @{%/@var{mode}%@}}, where -@var{mode} should be the name of the major mode, with or without the -customary @samp{-mode} suffix: for example, both @samp{cperl} and -@samp{cperl-mode} are acceptable. - -The universal class also defines an insertion key, @samp{/}, which -prompts for the submode to use. @xref{Insertion}. The universal class -is most useful when @code{mmm-global-mode} is set to @code{t}; -@ref{Global Mode}. - - -@node Insertion, Re-parsing, Selecting Classes, Basics -@comment node-name, next, previous, up -@section Inserting new submode regions - -So much for noticing submode regions already present when you open a -file. When editing a file with MMM Mode on, you will often want to add a -new submode region. MMM Mode provides several facilities to help you. -The simplest is to just hit a few keys and have the region and its -delimiters inserted for you. - -Each submode class can define an association of keystrokes with -``skeletons'' to insert a submode region. If there are several submode -classes enabled in a buffer, it is conceivable that the keys they use -for insertion might conflict, but unlikely as most buffers will not use -more than one or two submode classes groups. - -As an example of how insertion works, consider the Mason classes. In a -buffer with MMM Mode enabled and Mason associated, the key sequence -@kbd{C-c % p} inserts the following perl section (the semicolon is to -prevent CPerl Mode from getting confused---@pxref{Mason}): - -@example -<%perl>-<-; --!- -->- -@end example - -In this schematic representation, the string @samp{-!-} represents the -position of point (the cursor), @samp{-<-} represents the beginning of -the submode region, and @samp{->-} its end. - -All insertion keys come after the MMM Mode prefix keys (by default -@kbd{C-c %}; @pxref{Key Bindings}) and are by default single characters -such as @kbd{p}, @kbd{%}, and @kbd{i}. To avoid confusion, all the MMM -Mode commands are bound by default to control characters (after the same -prefix keys), such as @kbd{C-b}, @kbd{C-%} and @kbd{C-r}. This is a -change from earlier versions of MMM Mode, and can be customized; see -@ref{Key Bindings}. - -To find out what insertion keys are available, consult the documentation -for the submode class you are using. If it is one of the classes -supplied with MMM Mode, you can find it in this Info file. - -Because insertion keys are implemented with a ``default binding'' for -flexibility, they do not show up in the output of @kbd{C-h m} and cannot -be found with @kbd{C-h k}. For this reason, MMM Mode supplies the -command @kbd{C-c % h} (@code{mmm-insertion-help} to view the available -insertion keys. - - -@node Re-parsing, Interactive, Insertion, Basics -@comment node-name, next, previous, up -@section Re-Parsing Submode Regions -@cindex re-parsing submode regions -@cindex parsing submode regions -@cindex submode regions, re-parsing -@cindex regions, submode, re-parsing -@cindex submode regions, clearing -@cindex clearing submode regions -@cindex regions, submode, clearing -@kindex C-c % C-b -@kindex C-c % C-g -@kindex C-c % C-% -@kindex C-c % C-5 -@kindex C-c % C-k - -Describe @code{mmm-parse-buffer}, @code{mmm-parse-region}, -@code{mmm-parse-block}, and @code{mmm-clear-current-region}. - -@node Interactive, Global Mode, Re-parsing, Basics -@comment node-name, next, previous, up -@section Interactive MMM-ification Functions -@cindex interactive mmm-ification -@cindex mmm-ification, interactive -@cindex mmm-ification by region -@cindex mmm-ification by regexp -@cindex mmm-ification by class -@cindex region, mmm-ification by -@cindex regexp, mmm-ification by -@cindex class, mmm-ification by -@kindex C-c % C-r -@kindex C-c % C-c -@kindex C-c % C-x -@cindex mmm-ification, interactive history -@cindex history of interactive mmm-ification -@cindex interactive mmm-ification, history of - -There are several commands you can use to create submode regions -interactively, rather than by applying a submode class to a buffer. -These commands (in particular, @code{mmm-ify-region}), can be useful -when editing a file or email message containing a snippet of code in -some other language. Also see @ref{Global Classes}, for an alternate -approach to the same problem. - -@table @kbd -@item C-c % C-r -Creates a submode region between point and mark. Prompts for the submode -to use, which must be a valid Emacs major mode name, such as -@code{emacs-lisp-mode} or @code{cperl-mode}. Adds markers to the -interactive history. (@code{mmm-ify-region}) - -@item C-c % C-c -Applies an already-defined submode class to the buffer, which it prompts -for. Adds this class to the interactive history. -(@code{mmm-ify-by-class}) - -@item C-c % C-x -Scans the buffer for submode regions (prompts for the submode) using -front and back regular expressions that it also prompts for. Briefly, it -starts at the beginning of the buffer and searches for the front regexp. -If it finds a match, it searches for the back regexp. If it finds a -match for that as well, it makes a submode region between the two -matches and continues searching until no more matches are found. Adds -the regexps to the interactive history. (@code{mmm-ify-by-regexp}) - -@end table - -These commands are also useful when designing a new submode class -(@pxref{Submode Classes}). Working with the regexps interactively can -make it easier to debug and tune the class before starting to use it on -automatic. All these commands also add to value of the following -variable. - -@defvar mmm-interactive-history -Stores a history of all interactive mmm-ification that has been -performed in the current buffer. This way, for example, the re-parsing -functions (@pxref{Re-parsing}) will respect interactively added regions, -and the insertion keys for classes that were added interactively are -available. -@end defvar - -If for any reason you want to ``wipe the slate clean'', this command -should help you. By default, it has no key binding, so you must invoke -it with @kbd{M-x mmm-clear-history @key{RET}}. - -@deffn Command mmm-clear-history -Clears all history of interactive mmm-ification in the current buffer. -This command does not affect existing submode regions; to remove them, -you may want to re-parse the buffer with @kbd{C-c % C-b} -(@code{mmm-parse-buffer}). -@end deffn - - -@node Global Mode, , Interactive, Basics -@comment node-name, next, previous, up -@section MMM Global Mode -@cindex mode, mmm global -@cindex global mmm mode -@cindex mmm global mode -@vindex mmm-never-modes - -When a file has associated submode classes (@pxref{Selecting Classes}), -you may want MMM Mode to turn itself on and parse that file for submode -regions automatically whenever it is opened in an Emacs buffer. The -value of the following variable controls when MMM Mode turns itself on -automatically. - -@defopt mmm-global-mode -Do not be misled by the fact that this variable's name ends in -@samp{-mode}: it is not a simple on/off switch. There are three possible -(meanings of) values for it: @code{t}, @code{nil}, and anything else. - -When this variable is @code{nil}, MMM Mode is never enabled -automatically. If it is enabled manually, such as by typing @kbd{M-x -mmm-mode}, any submode classes associated with the buffer will still be -used, however. - -When this variable is @code{t}, MMM Mode is enabled automatically in -@emph{all} buffers, including those not visiting files, except those -whose major mode is an element of @code{mmm-never-modes}. The default -value of this variable contains modes such as @code{help-mode} and -@code{dired-mode} in which most users would never want MMM Mode, and -in which MMM might cause problems. - -When this variable is neither @code{nil} nor @code{t}, MMM Mode is -enabled automatically in all buffers that would have associated submode -classes; i.e. only if there would be something for it to do. The value -of @code{mmm-never-modes} is still respected, however. Note that this -can include buffers not visiting files, if that buffer's major mode is -present in @code{mmm-mode-ext-classes-alist} with a @code{nil} value for -@var{ext} (@pxref{Mode-Ext Classes}). Submode class values of @code{t} -in @code{mmm-mode-ext-classes-alist} cause MMM Mode to be enabled in -matching buffers, but supply no submode classes to be applied. -@end defopt - -@menu -* Major Mode Hook:: Using MMM's Major Mode Hook -@end menu - - -@node Major Mode Hook, , Global Mode, Global Mode -@comment node-name, next, previous, up -@subsection The Major Mode Hook -@cindex hook, major mode -@cindex major mode hook -@vindex mmm-major-mode-hook - -This section is intended for users who understand Emacs Lisp and want to -know how MMM Global Mode is implemented, and perhaps use the same -technique. In fact, MMM Mode exports a hook variable that you can use -easily, without understanding any of the details---see below. - -In order to enable itself in @emph{all} buffers, however, MMM Mode has -to hook itself into all major modes. Global Font Lock Mode from the -standard Emacs distribution (@pxref{Font Lock, , , emacs, The Emacs -Manual}) has a similar problem, and solves it by adding a function to -@code{change-major-mode-hook}, which is run by -@code{kill-all-local-variables}, which is run in turn by all major mode -functions at the @emph{beginning}. This function stores a list of which -buffers need fontification. It then adds a different function to -@code{post-command-hook}, which checks if the current buffer needs -fontification, and if so performs it. MMM Global Mode uses the same -technique. - -In the interests of generality, and for your use, the function that MMM -Mode runs in @code{post-command-hook} (@code{mmm-run-major-mode-hook}) -is not specific to MMM Mode, but rather runs the hook variable -@code{mmm-major-mode-hook}, which by default contains a function -(@code{mmm-mode-on-maybe}) which possibly turns MMM Mode on, depending -on the value of @code{mmm-global-mode}. Thus, to run another function -in all major modes, all you need to do is add it to this hook. For -example, the following line in an initialization file will turn on Auto -Fill Mode (@pxref{Auto Fill, , , emacs, The Emacs Manual}) in all -buffers: - -@lisp -(add-hook 'mmm-major-mode-hook 'turn-on-auto-fill) -@end lisp - -@node Customizing, Supplied Classes, Basics, Top -@comment node-name, next, previous, up -@chapter Customizing MMM Mode - -This chapter explains how to customize the appearance and functioning of -MMM Mode however you want. - -@menu -* Region Coloring:: Changing or removing background colors. -* Preferred Modes:: Choosing which major modes to use. -* Mode Line:: What is displayed in the mode line. -* Key Bindings:: Customizing the MMM Mode key bindings. -* Local Variables:: What local variables are saved for submodes. -* Changing Classes:: Changing the supplied submode classes. -* Hooks:: How to make MMM Mode run your code. -@end menu - -@node Region Coloring, Preferred Modes, Customizing, Customizing -@comment node-name, next, previous, up -@section Customizing Region Coloring -@cindex faces, submode -@cindex submode faces -@cindex customizing submode faces -@cindex default submode face - -By default, MMM Mode highlights all submode regions with a background -color. There are three levels of this decoration, controlled by the -following variable: - -@defopt mmm-submode-decoration-level -This variable controls the level of coloring of submode regions. It -should be one of the integers 0, 1, or 2, representing (respectively) -none, low, and high coloring. -@end defopt - -No coloring means exactly that. Submode regions have the same -background as the rest of the text. This produces the minimal -interference with font-lock coloration. In particular, if you want to -use background colors for font-lock, this may be a good idea, because -the submode highlight, if present, overrides any font-lock background -coloring. - -Low coloring uses the same background color for all submode regions. -This color is specified with the face @code{mmm-default-submode-face} -(@pxref{Faces, , , emacs, The Emacs Manual}) which can be customized, -either through the Emacs ``customize'' interface or using direct Lisp -commands such as @code{set-face-background}. Of course, other aspects -of the face can also be set, such as the foreground color, bold, -underline, etc. These are more likely to conflict with font-lock, -however, so only a background color is recommended. - -High coloring uses multiple background colors, depending on the function -of the submode region. The recognized functions and their meanings are -as follows: - -@table @samp -@item init -Code that is executed at the beginning of (something), as initialization -of some sort. - -@item cleanup -Code that is executed at the end of (something), as some sort of clean -up facility. - -@item declaration -Code that provides declarations of some sort, perhaps global or local -arguments, variables, or methods. - -@item comment -Text that is not executed as code, but instead serves to document the -code around it. Submode regions of this function often use a mode such -as Text Mode rather than a programming language mode. - -@item output -An expression that is evaluated and its value interpolated into the -output produced. - -@item code -Executed code not falling under any other category. - -@item special -Submode regions not falling under any other category, such as component -calls. - -@end table - -The different background colors are provided by the faces -@code{mmm-@var{function}-submode-face}, which can be customized in the -same way as @code{mmm-default-submode-face}. - - -@node Preferred Modes, Mode Line, Region Coloring, Customizing -@comment node-name, next, previous, up -@section Preferred Major Modes - -Certain of the supplied submode classes know only the language that -certain sections are written in, but not what major mode you prefer to -use to edit such code. For example, many people prefer CPerl mode over -Perl mode; you may have a special mode for Javascript or just use C++ -mode. This variable allows you to tell submodes such as Mason -(@pxref{Mason}) and Embedded Javascript (@pxref{Javascript}) what major -mode to use for the submodes: - -@defopt mmm-major-mode-preferences -The elements of this list are cons cells of the form -@code{(@var{language} . @var{mode})}. @var{language} should be a symbol -such as @code{perl}, @code{html-js}, or @code{java}, while @var{mode} -should be the name of a major mode such as @code{perl-mode}, -@code{cperl-mode}, @code{javascript-mode}, or @code{c++-mode}. - -You probably won't have to set this variable at all; MMM tries to make -intelligent guesses about what modes you prefer. For example, if a -function called @code{javascript-mode} exists, it is chosen, otherwise -@code{c++-mode} is used. Similarly for @code{jde-mode} and -@code{java-mode}. -@end defopt - -If you do need to change the defaults, you may find the following -function convenient. - -@defun mmm-set-major-mode-preferences @var{language} @var{mode} &optional @var{default} -Set the preferred major mode for LANGUAGE to MODE. If there is already -a mode specified for LANGUAGE, and DEFAULT is nil or unsupplied, then it -is changed. If DEFAULT is non-nil, then any existing mode is unchanged. -This is used by packages to ensure that some mode is present, but not -override any user-specified mode. If you are not writing a submode -class, you should ignore the third argument. -@end defun - -Thus, for example, to use @code{my-java-mode} for Java code, you would -use the following line: - -@lisp -(mmm-set-major-mode-preferences 'java 'my-java-mode) -@end lisp - - -@node Mode Line, Key Bindings, Preferred Modes, Customizing -@comment node-name, next, previous, up -@section Customizing the Mode Line Display - -By default, when in a submode region, MMM Mode changes the section of -the mode line (@pxref{Mode Line, , , emacs, The Emacs Manual}) that -normally displays the major mode name---for example, @samp{HTML}---to -instead show both the dominant major mode and the currently active -submode---for example, @samp{HTML[CPerl]}. You can change this format, -however. - -@defopt mmm-submode-mode-line-format -The value of this variable should be a string containing one or both of -the escape sequences @samp{~M} and @samp{~m}. The string displayed in -the major mode section of the mode line when in a submode is obtained by -replacing all occurrences of @samp{~M} with the dominant major mode name -and @samp{~m} with the currently active submode name. For example, to -display only the currently active submode, set this variable to -@samp{~m}. The default value is @samp{~M[~m]}. -@end defopt - -The MMM minor mode also normally displays the string @samp{MMM} in the -minor mode section of the mode line to indicate when it is active. You -can customize or disable this as well. - -@defopt mmm-mode-string -This string is displayed in the minor mode section of the mode line when -the MMM minor mode is active. If nonempty, it should begin with a space -to separate the MMM indicator from that of other minor modes. To -eliminate the indicator entirely, set this variable to the empty string. -@end defopt - - -@node Key Bindings, Local Variables, Mode Line, Customizing -@comment node-name, next, previous, up -@section Customizing the MMM Mode Key Bindings - -The default MMM Mode key bindings are explained in @ref{MMM Mode Keys}, -and in @ref{Insertion}. There are a couple of ways to customize these -bindings. - -@defopt mmm-mode-prefix-key -The value of this variable (default is @kbd{C-c %}) should be a key -sequence to use as the prefix for the MMM Mode keymap. Minor modes -typically use @kbd{C-c} followed by a punctuation character, but you can -change it to any user-available key sequence. To have an effect, this -variable should be set before MMM Mode is loaded. -@end defopt - -@defopt mmm-use-old-command-keys -When this variable is @code{nil}, MMM Mode commands use the control -modifier and insertion keys no modifier. Any other value switches the -two, so that @code{mmm-parse-buffer}, for example, is bound to @kbd{C-c -% b}, while perl-section insertion in the Mason class is bound to -@kbd{C-c % C-p}. This variable should be set before MMM Mode is loaded -to have an effect. -@end defopt - -When MMM is loaded, it uses the value of @code{mmm-use-old-command-keys} -to set the values of the variables @code{mmm-command-modifiers} and -@code{mmm-insert-modifiers}, so if you prefer you can set these -variables instead. They should each be a list of key modifiers, such as -@code{(control)} or @code{()}. The Meta modifier is used in some of the -command and insertion keys, so it should not be used, and the Shift -modifier is not particularly portable between Emacsen---if it works for -you, feel free to use it. Other modifiers, such as Hyper and Super, are -not universally available, but are valid when present. - - -@node Local Variables, Changing Classes, Key Bindings, Customizing -@comment node-name, next, previous, up -@section Changing Saved Local Variables - -A lot of the functionality of MMM Mode---that which makes the major mode -appear to change---is implemented by saving and restoring the values of -local variables, or pseudo-variables. You can customize what variables -are saved, and how, with the following variable. - -@defvar mmm-save-local-variables -At its simplest, this is a list each of whose elements is a buffer-local -variable whose value is saved and restored for each major mode. Each -elements can also, however, be a list whose first element is the -variable symbol and whose subsequent elements specify how and where the -variable is to be saved. The second element of the list, if present, -should be one of the symbols @code{global}, @code{buffer}, or -@code{region}. If not present, the default value is @code{global}. The -third element, if present, should be a list of major mode symbols in -which to save the variable. In the list form, the variable symbol -itself can be replaced with a cons cell of two functions, one to get the -value and one to set the value. This is called a ``pseudo-variable''. -@end defvar - -Globally saved variables are the same in all (MMM-controlled) buffers -and submode regions of each major mode listed in the third argument, or -all major modes if it is @code{t} or not present. Buffer-saved -variables are the same in all submode regions of a given major mode in -each buffer, and region-saved variables can be different for each -submode region. - -Pseudo-variables are used, for example, to save and restore the syntax -table (@pxref{Syntax, , , emacs, The Emacs Manual}) and mode keymaps -(@pxref{Keymaps, , , emacs, The Emacs Manual}). - - -@node Changing Classes, Hooks, Local Variables, Customizing -@comment node-name, next, previous, up -@section Changing the Supplied Submode Classes - -If you need to use MMM with a syntax for which a submode class is not -supplied, and you have some facility with Emacs Lisp, you can write your -own; see @ref{Writing Classes}. However, sometimes you will only want -to make a slight change to one of the supplied submode classes. You can -do this, after that class is loaded, with the following functions. - -@defun mmm-set-class-parameter @var{class} @var{param} @var{value} -Set the value of the keyword parameter @var{param} of the submode class -@var{class} to @var{value}. @xref{Writing Classes}, for an explanation -of the meaning of each keyword parameter. This creates a new parameter -if one is not already present in the class. -@end defun - -@defun mmm-get-class-parameter @var{class} @var{param} -Get the value of the keyword parameter @var{param} for the submode class -@var{class}. Returns @code{nil} if there is no such parameter. -@end defun - - - -@node Hooks, , Changing Classes, Customizing -@comment node-name, next, previous, up -@section Hooks Provided by MMM Mode - -MMM Mode defines several hook variables (@pxref{Hooks, , , emacs, The -Emacs Manual}) which are run at different times. The most often used is -@code{mmm-major-mode-hook} which is described in @ref{Major Mode Hook}, -but there are a couple others. - -@defvar mmm-mode-hook -This normal hook is run whenever MMM Mode is enabled in a buffer. -@end defvar - -@defvar mmm-@var{major-mode}-hook -This is actually a whole set of hook variables, a different one for -every major mode. Whenever MMM Mode is enabled in a buffer, the -corresponding hook variable for the dominant major mode is run. -@end defvar - -@defvar mmm-@var{submode}-submode-hook -Again, this is a set of one hook variable per major mode. These hooks -are run whenever a submode region of the corresponding major mode is -created in any buffer, with point at the start of the new submode -region. -@end defvar - -@defvar mmm-@var{class}-class-hook -This is a set of one hook variable per submode class. These hooks are -run when a submode class is first applied to a given buffer. -@end defvar - -Submode classes also have a @code{:creation-hook} parameter which should -be a function to run whenever a submode region is created with that -class, with point at the beginning of the submode region. This can be -set for supplied submode classes with @code{mmm-set-class-parameter}; -@ref{Changing Classes}. - - -@node Supplied Classes, Writing Classes, Customizing, Top -@comment node-name, next, previous, up -@chapter Supplied Submode Classes - -This chapter describes the submode classes that are supplied with MMM -Mode. - -@menu -* Mason:: Mason server-side Perl in HTML. -* File Variables:: Elisp code in File Variables. -* Here-documents:: Code in shell and Perl here-documents. -* Javascript:: Javascript embedded in HTML. -* Embedded CSS:: CSS Styles embedded in HTML. -* Embperl:: Another syntax for Perl in HTML. -* ePerl:: A general Perl-embedding syntax. -* JSP:: Java code embedded in HTML. -* RPM:: Shell scripts in RPM Spec Files. -* Noweb:: Noweb literate programs. -@end menu - -@node Mason, File Variables, Supplied Classes, Supplied Classes -@comment node-name, next, previous, up -@section Mason: Perl in HTML - -Mason is a syntax to embed Perl code in HTML and other documents. See -@uref{http://www.masonhq.com} for more information. The submode class -for Mason components is called `mason' and is loaded on demand from -`mmm-mason.el'. The current Mason class is intended to correctly -recognize all syntax valid in Mason @value{MASON_VERSION}. There are -insertion keys for most of the available syntax; use -@code{mmm-insertion-help} (@kbd{C-c % h} by default) with Mason on to -get a list. - -If you want to have mason submodes automatically in all Mason files, you -can use automatic mode and filename associations; the details depend on -what you call your Mason components and what major mode you use. -@xref{Mode-Ext Classes}. If you use an extension for your Mason files -that emacs does not automatically place in your preferred HTML Mode, you -will probably want to associate that extension with your HTML Mode as -well; @ref{Choosing Modes, , , emacs, The Emacs Manual}. This also goes -for ``special'' Mason files such as autohandlers and dhandlers. - -The Perl mode used is controlled by the user: @xref{Preferred Modes}. -The default is to use CPerl mode, if present. Unfortunately, there are -also certain problems with CPerl mode in submode regions. (Not to say -that the original perl-mode would do any better---it hasn't been much -tried.) First of all, the first line of a Perl section is usually -indented as if it were a continuation line. A fix for this is to start -with a semicolon on the first line. The insertion key commands do this -whenever the Mason syntax allows it. - -@example -<%perl>; -print $var; - -@end example - -In addition, some users have reported that the CPerl indentation -sometimes does not work. This problem has not yet been tracked down, -however, and more data about when it happens would be helpful. - -Some people have reported problems using PSGML with Mason. Adding the -following line to a @file{.emacs} file should suffice to turn PSGML off -and cause emacs to use a simpler HTML mode: - -@lisp -(autoload 'html-mode "sgml-mode" "HTML Mode" t) -@end lisp - -Earlier versions of PSGML may require instead the following fix: - -@lisp -(delete '("\\.html$" . sgml-html-mode) auto-mode-alist) -(delete '("\\.shtml$" . sgml-html-mode) auto-mode-alist) -@end lisp - -Other users report using PSGML with Mason and MMM Mode without -difficulty. If you don't have problems and want to use PSGML, you may -need to replace @code{html-mode} in the suggested code with -@code{sgml-html-mode}. (Depending on your version of PSGML, this may -not be necessary.) Similarly, if you are using XEmacs and want to use -the alternate HTML mode @code{hm--html-mode}, replace @code{html-mode} -with that symbol. - -One problem that crops up when using PSGML with Mason is that even -ignoring the special tags and Perl code (which, as I've said, haven't -caused me any problems), Mason components often are not a complete SGML -document. For instance, my autohandlers often say - -@example - - <% $m->call_next %> - -@end example - -in which case the actual components contain no doctype declaration, -@code{}, @code{}, or @code{}, confusing PSGML. One -solution I've found is to use the variable @code{sgml-parent-document} -in such incomplete components; try, for example, these lines at the end -of a component. - -@example -%# Local Variables: -%# sgml-parent-document: ("autohandler" "body" nil ("body")) -%# sgml-doctype: "/top/level/autohandler" -%# End: -@end example - -This tells PSGML that the current file is a sub-document of the file -@file{autohandler} and is included inside a @code{} tag, thus -alleviating its confusion. - - -@node File Variables, Here-documents, Mason, Supplied Classes -@comment node-name, next, previous, up -@section Elisp in a Local Variables List - -Emacs allows the author of a file to specify major and minor modes to be -used while editing that file, as well as specifying values for other -local Elisp variables, with a File Variables list. @xref{File -Variables, , , emacs, The Emacs Manual}. Since file variables values -are Elisp objects (and with the @code{eval} special ``variable'', they -are forms to be evaluated), one might want to edit them in -@code{emacs-lisp-mode}. The submode class @code{file-variables} allows -this, and is suitable for turning on in a given file with -@code{mmm-classes}, or in all files with @code{mmm-global-classes}. - - -@node Here-documents, Javascript, File Variables, Supplied Classes -@comment node-name, next, previous, up -@section Here-documents - -One of the long-time standard syntaxes for outputting large amounts of -code (or text, or HTML, or whatever) from a script (notably shell -scripts and Perl scripts) is the here-document syntax: - -@example -print < - - Test Page - - -END_HTML -@end example - -The @code{here-doc} submode class recognizes this syntax, and can even -guess the correct submode to use in many cases. For instance, it would -put the above example in @code{html-mode}, noticing the string -@samp{HTML} in the name of the here-document. If you use less than -evocative here-document names, or if the submode is recognized -incorrectly for any other reason, you can tell it explicitly what -submode to use. - -@defopt mmm-here-doc-mode-alist -The value of this variable should be an alist, each element a cons pair -associating a regular expression to a submode symbol. Whenever a -here-document name matches one of these regexps, the corresponding -submode is applied. For example, if this variable contains the element -@code{("CODE" . cc-mode)}, then any here-document whose name contains -the string @samp{CODE} will be put in @code{cc-mode}. The value of this -variable overrides any guessing that the @code{here-doc} submode class -would do otherwise. -@end defopt - - -@node Javascript, Embedded CSS, Here-documents, Supplied Classes -@comment node-name, next, previous, up -@section Javascript in HTML - -The submode class @code{html-js} allows for embedding Javascript code in -HTML documents. It recognizes both this syntax: - -@example - -@end example - -and this syntax: - -@example - -@end example - -The mode used for Javascript regions is controlled by the user; -@xref{Preferred Modes}. - - -@node Embedded CSS, Embperl, Javascript, Supplied Classes -@comment node-name, next, previous, up -@section CSS embedded in HTML - -CSS (Cascading Style Sheets) can also be embedded in HTML. The -@code{embedded-css} submode class recognizes this syntax: - -@example - -@end example - -It uses @code{css-mode} if present, @code{c++-mode} otherwise. This can -be customized: @xref{Preferred Modes}. - - -@node Embperl, ePerl, Embedded CSS, Supplied Classes -@comment node-name, next, previous, up -@section Embperl: More Perl in HTML - -Embperl is another syntax for embedding Perl in HTML. See -@uref{http://perl.apache.org/embperl} for more information. The -@code{embperl} submode class recognizes most if not all of the Embperl -embedding syntax. Its Perl mode is also controllable by the user; -@xref{Preferred Modes}. - - -@node ePerl, JSP, Embperl, Supplied Classes -@comment node-name, next, previous, up -@section ePerl: General Perl Embedding - -Yet another syntax for embedding Perl is called ePerl. See -@uref{http://www.engelschall.com/sw/eperl/} for more information. The -@code{eperl} submode class handles this syntax, using the Perl mode -specified by the user; @xref{Preferred Modes}. - - -@node JSP, RPM, ePerl, Supplied Classes -@comment node-name, next, previous, up -@section JSP: Java Embedded in HTML - -JSP (Java Server Pages) is a syntax for embedding Java code in HTML. -The submode class @code{jsp} handles this syntax, using a Java mode -specified by the user; @xref{Preferred Modes}. The default is -@code{jde-mode} if present, otherwise @code{java-mode}. - - -@node RPM, Noweb, JSP, Supplied Classes -@comment node-name, next, previous, up -@section RPM Spec Files - -@file{mmm-rpm.el} contains the definition of an MMM Mode submode class -for editing shell script sections within RPM (Redhat Package Manager) -spec files. It is recommended for use in combination with -@file{rpm-spec-mode.el} by Stig Bjrlykke and -Steve Sanbeg -(@uref{http://www.xemacs.org/~stigb/rpm-spec-mode.el}). - -Suggested setup code: - -@lisp -(add-to-list 'mmm-mode-ext-classes-alist - '(rpm-spec-mode "\\.spec\\'" rpm-sh)) -@end lisp - -Thanks to Marcus Harnisch for contributing -this submode class. - -@node Noweb, , RPM, Supplied Classes -@comment node-name, next, previous, up -@section Noweb literate programming - -@file{mmm-noweb.el} contains the definition of an MMM Mode submode -class for editing Noweb documents. Most Noweb documents use \LaTeX -for the documentation chunks. Code chunks in Noweb are -document-specific, and the mode may be set with a local variable -setting in the document. The variable @var{mmm-noweb-code-mode} -controls the global code chunk mode. Since Noweb files may have many -languages in their code chunks, this mode also allows setting the mode -by specifying a mode in the first line or two of a code chunk, using -the normal Emacs first-line mode setting syntax. Note that this -first-line mode setting only matches a single word for the mode name, -and does not support the variable name setting of the generalized -first file line syntax. - -@verbatim -% -*- mode: latex; mmm-noweb-code-mode: c++; -*- -% First chunk delimiter! -@ -\noweboptions{smallcode} - -\title{Sample Noweb File} -\author{Joe Kelsey\\ -\nwanchorto{mailto:bozo@bozo.bozo}{\tt bozo@bozo.bozo}} -\maketitle - -@ -\section{Introduction} -Normal noweb documentation for the required [[*]] chunk. -<<*>>= -// C++ mode here! -// We might list the program here, or simply included chunks. -<> -@ %def myfile.cc - -@ -\section{[[myfile.cc]]} -This is [[myfile.cc]]. MMM noweb-mode understands code quotes in -documentation. -<>= -// This section is indented separately from previous. -@ - -@ -\section{A Perl Chunk} -We need a Perl chunk. -<>= -#!/usr/bin/perl -# -*- perl -*- -# Each differently named chunk is flowed separately. -@ - -\section{Finish [[myfile.cc]]} -When we resume a previously defined chunk, they are indented together. -<>= -// Pick up where we left off... -@ - -@end verbatim - -The quoted code chunks inside documentation chunks are given the mode -found in the variable @var{mmm-noweb-quote-mode}, if set, or the value -in @var{mmm-noweb-code-mode} otherwise. Also, each quoted chunk is -set to have a unique name to prevent them from being indented as a -unit. - -Suggested setup code: -@lisp -(mmm-add-mode-ext-class 'latex-mode "\\.nw\\'" 'noweb) -(add-to-list 'auto-mode-alist '("\\.nw\\'" . latex-mode)) -@end lisp - -In mmm-noweb buffers, each differently-named code chunk has a -different @code{:name}, allowing all chunks with the same name to get -indented together. - -This mode also supplies special paragraph filling operations for use -in documentation areas of the buffer. From a primary-mode -(@code{latex-mode, , emacs}) region, pressing @kbd{C-c % C-q} will mark all -submode regions with word syntax (@code{mmm-word-other-regions}), fill -the current paragraph (@code{(fill-paragraph justify)}), and remove the -syntax markings (@code{mmm-undo-syntax-other-regions}). - -Thanks to Joe Kelsey for contributing this -class. - - -@node Writing Classes, Indices, Supplied Classes, Top -@comment node-name, next, previous, up -@chapter Writing Submode Classes - -Sometimes (perhaps often) you may want to use MMM with a syntax for -which it is suited, but for which no submode is supplied. In such cases -you may have to write your own submode class. This chapter briefly -describes how to write a submode class, from the basic to the advanced, -with examples. - -@menu -* Basic Classes:: Writing a simple submode class. -* Paired Delimiters:: Matching paired delimiters. -* Region Placement:: Placing the region more accurately. -* Submode Groups:: Grouping several classes together. -* Calculated Submodes:: Deciding the submode at run-time. -* Calculated Faces:: Deciding the display face at run-time. -* Insertion Commands:: Inserting regions automatically. -* Region Names:: Naming regions for syntax grouping. -* Other Hooks:: Running code at arbitrary points. -* Delimiters:: Controlling delimiter overlays. -* Misc Keywords:: Other miscellaneous options. -@end menu - -@node Basic Classes, Paired Delimiters, Writing Classes, Writing Classes -@comment node-name, next, previous, up -@section Writing Basic Submode Classes -@cindex simple submode classes -@cindex submode classes, simple - -Writing a submode class can become rather complex, if the syntax to -match is complicated and you want to take advantage of some of MMM -Mode's extra features. But a simple submode class is not particularly -difficult to write. This section describes the basics of writing -submode classes. - -Submode classes are stored in the variable @code{mmm-classes-alist}. -Each element of this list represents a single submode class. For -convenience, the function @code{mmm-add-classes} takes a list of submode -classes and adds them all to this alist. Each class is represented by a -list containing the class name---a symbol such as @code{mason} or -@code{html-js}---followed by pairs of keywords and arguments called a -@dfn{class specifier}. For example, consider the specifier for the -submode class @code{embedded-css}: - -@lisp -(mmm-add-classes - '((embedded-css - :submode css - :face mmm-declaration-submode-face - :front "]*>" - :back ""))) -@end lisp - -The name of the submode is @code{embedded-css}, the first element of the -list. The rest of the list consists of pairs of keywords (symbols -beginning with a colon) such as @code{:submode} and @code{:front}, and -arguments, such as @code{css} and @code{"]*>"}. It is the -keywords and arguments that specify how the submode works. The order of -keywords is not important; all that matters is the arguments that follow -them. - -The three most important keywords are @code{:submode}, @code{:front}, -and @code{:back}. The argument following @code{:submode} names the -major mode to use in submode regions. It can be either a symbol naming -a major mode, such as @code{text-mode} or @code{c++-mode}, or a symbol -to look up in @code{mmm-major-mode-preferences} (@pxref{Preferred -Modes}) such as @code{css}, as in this case. - -The arguments following @code{:front} and @code{:back} are regular -expressions (@pxref{Regexps, , , emacs, The Emacs Manual}) that should -match the delimiter strings which begin and end the submode regions. In -our example, CSS regions begin with a @samp{} tag. - -The argument following @code{:face} specifies the face (background -color) to use when @code{mmm-submode-decoration-level} is 2 (high -coloring). @xref{Region Coloring}, for a list of canonical available -faces. - -There are many more possible keywords arguments. In the following -sections, we will examine each of them and their uses in writing submode -classes. - - -@node Paired Delimiters, Region Placement, Basic Classes, Writing Classes -@comment node-name, next, previous, up -@section Matching Paired Delimiters - -A simple pair of regular expressions does not always suffice to exactly -specify the beginning and end of submode regions correctly. For this -reason, there are several other possible keyword/argument pairs which -influence the matching process. - -Many submode regions are marked by paired delimiters. For example, the -tags used by Mason (@pxref{Mason}) include @samp{<%init>...} and -@samp{<%args>...}. It would be possible to write a separate -submode class for each type of region, but there is an easier way: the -keyword argument @code{:save-matches}. If supplied and non-nil, it -causes the regular expression @code{:back}, before being searched for, -to be formatted by replacing all strings of the form @samp{~@var{N}} -(where @var{N} is an integer) with the corresponding numbered -subexpression of the match for @code{:front}. As an example, here is an -excerpt from the @code{here-doc} submode class. @xref{Here-documents}, -for more information about this submode. - -@lisp -:front "<<\\([a-zA-Z0-9_-]+\\)" -:back "^~1$" -:save-matches 1 -@end lisp - -The regular expression for @code{:front} matches @samp{<<} followed by a -string of one or more alphanumeric characters, underscores, and dashes. -The latter string, which happens to be the name of the here-document, is -saved as the first subexpression, since it is surrounded by -@samp{\(...\)}. Then, because the value of @code{:save-matches} is -present and non-nil, the string @samp{~1} is replaced in the value of -@code{:back} by the name of the here-document, thus creating a regular -expression to match the correct ending delimiter. - - -@node Region Placement, Submode Groups, Paired Delimiters, Writing Classes -@comment node-name, next, previous, up -@section Placing Submode Regions Precisely - -Normally, a submode region begins immediately after the end of the -string matching the @code{:front} regular expression and ends -immediately before the beginning of the string matching the @code{:back} -regular expression. This can be changed with the keywords -@code{:include-front} and @code{:include-back}. If their arguments are -@code{nil}, or they do not appear, the default behavior is unchanged. -But if the argument of @code{:include-front} (respectively, -@code{:include-back}) is non-nil, the submode region will begin -(respectively, end) immediately before (respectively, after) the string -matching the @code{:front} (respectively, @code{:back}) regular -expression. In other words, these keywords specify whether or not the -delimiter strings are @emph{included} in the submode region. - -When @code{:front} and @code{:back} are regexps, the delimiter is -normally considered to be the entire matched region. This can be -changed using the @code{:front-match} and @code{:back-match} -keywords. The values of the keywords is a number specifying the -submatch. This defaults to zero (specifying the whole regexp). - -Two more keywords which affect the placement of the region -@code{:front-offset} and @code{:back-offset}, which both take integers -as arguments. The argument of @code{:front-offset} (respectively, -@code{:back-offset}) gives the distance in characters from the beginning -(respectively, ending) location specified so far, to the actual point -where the submode region begins (respectively, ends). For example, if -@code{:include-front} is nil or unsupplied and @code{:front-offset} is -2, the submode region will begin two characters after the end of the -match for @code{:front}, and if @code{:include-back} is non-nil and -@code{:back-offset} is -1, the region will end one character before the -end of the match for @code{:back}. - -In addition to integers, the arguments of @code{:front-offset} and -@code{:back-offset} can be functions which are invoked to move the point -from the position specified by the matches and inclusions to the correct -beginning or end of the submode region, or lists whose elements are -either functions or numbers and whose effects are applied in sequence. -To help disentangle these options, here is another excerpt from the -@code{here-doc} submode class: - -@lisp -:front "<<\\([a-zA-Z0-9_-]+\\)" -:front-offset (end-of-line 1) -:back "^~1$" -:save-matches 1 -@end lisp - -Here the value of @code{:front-offset} is the list @code{(end-of-line -1)}, meaning that from the end of the match for @code{:front}, go to the -end of the line, and then one more character forward (thus to the -beginning of the next line), and begin the submode region there. This -coincides with the normal behavior of here-documents: they begin on the -following line and go until the ending flag. - -If the @code{:back} should not be able to start a new submode region, -set the @code{:end-not-begin} keyword to non-nil. - -@node Submode Groups, Calculated Submodes, Region Placement, Writing Classes -@comment node-name, next, previous, up -@section Defining Groups of Submodes - -Sometimes more than one submode class is required to accurately reflect -the behavior of a single type of syntax. For example, Mason has three -very different types of Perl regions: blocks bounded by matched tags -such as @samp{<%perl>...}, inline output expressions bounded by -@samp{<%...%>}, and single lines of code which simply begin with a -@samp{%} character. In cases like these, it is possible to specify an -``umbrella'' class, to turn all these classes on or off together. - -@defun mmm-add-group @var{group} @var{classes} -The submode classes @var{classes}, which should be a list of lists, -similar to what might be passed to @code{mmm-add-classes}, are added -just as by that function. Furthermore, another class named -@var{group} is added, which encompasses all the classes in -@var{classes}. -@end defun - -Technically, an group class is specified with a @code{:classes} keyword -argument, and the subsidiary classes are given a non-nil @code{:private} -keyword argument to make them invisible. But in general, all you should -ever need to know is how to invoke the function above. - -@defun mmm-add-to-group @var{group} @var{classes} -Adds a list of classes to an already existing group. This can be -used, for instance, to add a new quoting definition to @var{html-js} -using this example to add the quote characters ``%=%'': - -@lisp -(mmm-add-to-group 'html-js '((js-html - :submode javascript - :face mmm-code-submode-face - :front "%=%" - :back "%=%" - :end-not-begin t))) -@end lisp -@end defun - - -@node Calculated Submodes, Calculated Faces, Submode Groups, Writing Classes -@comment node-name, next, previous, up -@section Calculating the Correct Submode - -In most cases, the author of a submode class will know in advance what -major mode to use, such as @code{text-mode} or @code{c++-mode}. If -there are multiple possible modes that the user might desire, then -@code{mmm-major-mode-preferences} should be used (@pxref{Preferred -Modes}). The function @code{mmm-set-major-mode-preferences} can be -used, with a third argument, to ensure than the mode is present. - -In some cases, however, the author has no way of knowing in advance even -what language the submode region will be in. The @code{here-doc} class -is one of these. In such cases, instead of the @code{:submode} keyword, -the @code{:match-submode} keyword must be used. Its argument should be -a function, probably written by the author of the submode class, which -calculates what major mode each region should use. - -It is invoked immediately after a match is found for @code{:front}, and -is passed one argument: a string representing the front delimiter. -Normally this string is simply whatever was matched by @code{:front}, -but this can be changed with the keyword @code{:front-form} -(@pxref{Delimiters}). The function should then return a symbol -that would be a valid argument to @code{:submode}: either the name of a -mode, or that of a language to look up a preferred mode. If it detects -an invalid match---for example, the user has specified a mode which is -not available---it should @code{(signal 'mmm-no-matching-submode nil)}. - -Since here-documents can contain code in any language, the -@code{here-doc} submode class uses @code{:match-submode} rather than -@code{:submode}. The function it uses is @code{mmm-here-doc-get-mode}, -defined in @file{mmm-sample.el}, which inspects the name of the -here-document for flags indicating the proper mode. For example, this -code should probably be in @code{perl-mode} (or @code{cperl-mode}): - -@example -print <} and @code{ - - - - diff --git a/elpa/skewer-mode-20180706.1807/skewer-bower.el b/elpa/skewer-mode-20180706.1807/skewer-bower.el deleted file mode 100644 index 69bfbe6..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-bower.el +++ /dev/null @@ -1,217 +0,0 @@ -;;; skewer-bower.el --- dynamic library loading -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;;; Commentary: - -;; This package loads libraries into the current page using the bower -;; infrastructure. Note: bower is not actually used by this package -;; and so does *not* need to be installed. Only git is required (see -;; `skewer-bower-git-executable'). It will try to learn how to run git -;; from Magit if available. - -;; The interactive command for loading libraries is -;; `skewer-bower-load'. It will prompt for a library and a version, -;; automatically fetching it from the bower infrastructure if needed. -;; For example, I often find it handy to load some version of jQuery -;; when poking around at a page that doesn't already have it loaded. - -;; Caveat: unfortunately the bower infrastructure is a mess; many -;; packages are in some sort of broken state -- missing dependencies, -;; missing metadata, broken metadata, or an invalid repository URL. -;; Some of this is due to under-specification of the metadata by the -;; bower project. Broken packages are unlikely to be loadable by -;; skewer-bower. - -;;; Code: - -(require 'cl-lib) -(require 'skewer-mode) -(require 'simple-httpd) -(require 'magit nil t) ; optional - -(defcustom skewer-bower-cache-dir (locate-user-emacs-file "skewer-cache") - "Location of library cache (git repositories)." - :type 'string - :group 'skewer) - -(defcustom skewer-bower-endpoint "https://bower.herokuapp.com" - "Endpoint for accessing package information." - :type 'string - :group 'skewer) - -(defcustom skewer-bower-json '("bower.json" "package.json" "component.json") - "Files to search for package metadata." - :type 'list - :group 'skewer) - -; Try to match Magit's configuration if available -(defcustom skewer-bower-git-executable "git" - "Name of the git executable." - :type 'string - :group 'skewer) - -(defvar skewer-bower-packages nil - "Alist of all packages known to bower.") - -(defvar skewer-bower-refreshed nil - "List of packages that have been refreshed recently. This keeps -them from hitting the network frequently.") - -;;;###autoload -(defun skewer-bower-refresh () - "Update the package listing and packages synchronously." - (interactive) - (cl-declare (special url-http-end-of-headers)) - (setf skewer-bower-refreshed nil) - (with-current-buffer - (url-retrieve-synchronously (concat skewer-bower-endpoint "/packages")) - (setf (point) url-http-end-of-headers) - (setf skewer-bower-packages - (cl-sort - (cl-loop for package across (json-read) - collect (cons (cdr (assoc 'name package)) - (cdr (assoc 'url package)))) - #'string< :key #'car)))) - -;; Git functions - -(defun skewer-bower-cache (package) - "Return the cache repository directory for PACKAGE." - (unless (file-exists-p skewer-bower-cache-dir) - (make-directory skewer-bower-cache-dir t)) - (expand-file-name package skewer-bower-cache-dir)) - -(defun skewer-bower-git (package &rest args) - "Run git for PACKAGE's repository with ARGS." - (with-temp-buffer - (when (zerop (apply #'call-process skewer-bower-git-executable nil t nil - (format "--git-dir=%s" (skewer-bower-cache package)) - args)) - (buffer-string)))) - -(defun skewer-bower-git-clone (url package) - "Clone or fetch PACKAGE's repository from URL if needed." - (if (member package skewer-bower-refreshed) - t - (let* ((cache (skewer-bower-cache package)) - (status - (if (file-exists-p cache) - (when (skewer-bower-git package "fetch") - (push package skewer-bower-refreshed)) - (skewer-bower-git package "clone" "--bare" url cache)))) - (not (null status))))) - -(defun skewer-bower-git-show (package version file) - "Grab FILE from PACKAGE at version VERSION." - (when (string-match-p "^\\./" file) ; avoid relative paths - (setf file (substring file 2))) - (skewer-bower-git package "show" (format "%s:%s" version file))) - -(defun skewer-bower-git-tag (package) - "List all the tags in PACKAGE's repository." - (split-string (skewer-bower-git package "tag"))) - -;; Bower functions - -(defun skewer-bower-package-ensure (package) - "Ensure a package is installed in the cache and up to date. -Emit an error if the package could not be ensured." - (when (null skewer-bower-packages) (skewer-bower-refresh)) - (let ((url (cdr (assoc package skewer-bower-packages)))) - (when (null url) - (error "Unknown package: %s" package)) - (when (null (skewer-bower-git-clone url package)) - (error "Failed to fetch: %s" url)) - t)) - -(defun skewer-bower-package-versions (package) - "List the available versions for a package. Always returns at -least one version." - (skewer-bower-package-ensure package) - (or (sort (skewer-bower-git-tag package) #'string<) - (list "master"))) - -(defun skewer-bower-get-config (package &optional version) - "Get the configuration alist for PACKAGE at VERSION. Return nil -if no configuration could be found." - (skewer-bower-package-ensure package) - (unless version (setf version "master")) - (json-read-from-string - (cl-loop for file in skewer-bower-json - for config = (skewer-bower-git-show package version file) - when config return it - finally (return "null")))) - -;; Serving the library - -(defvar skewer-bower-history () - "Library selection history for `completing-read'.") - -(defun skewer-bowser--path (package version main) - "Return the simple-httpd hosted path for PACKAGE." - (format "/skewer/bower/%s/%s/%s" package (or version "master") main)) - -(defun skewer-bower-prompt-package () - "Prompt for a package and version from the user." - (when (null skewer-bower-packages) (skewer-bower-refresh)) - ;; ido-completing-read bug workaround: - (when (> (length skewer-bower-history) 32) - (setf skewer-bower-history (cl-subseq skewer-bower-history 0 16))) - (let* ((packages (mapcar #'car skewer-bower-packages)) - (selection (nconc skewer-bower-history packages)) - (package (completing-read "Library: " selection nil t nil - 'skewer-bower-history)) - (versions (reverse (skewer-bower-package-versions package))) - (version (completing-read "Version: " versions - nil t nil nil (car versions)))) - (list package version))) - -(defun skewer-bower--js-p (filename) - "Return non-nil if FILENAME looks like JavaScript." - (string-match "\\.js$" filename)) - -(defun skewer-bower-guess-main (package version config) - "Attempt to determine the main entrypoints from a potentially -incomplete or incorrect bower configuration. Returns nil if -guessing failed." - (let ((check (apply-partially #'skewer-bower-git-show package version)) - (main (cdr (assoc 'main config)))) - (cond ((and (vectorp main) (cl-some check main)) - (cl-coerce (cl-remove-if-not #'skewer-bower--js-p main) 'list)) - ((and (stringp main) (funcall check main)) - (list main)) - ((funcall check (concat package ".js")) - (list (concat package ".js"))) - ((funcall check package) - (list package))))) - -;;;###autoload -(defun skewer-bower-load (package &optional version) - "Dynamically load a library from bower into the current page." - (interactive (skewer-bower-prompt-package)) - (let* ((config (skewer-bower-get-config package version)) - (deps (cdr (assoc 'dependencies config))) - (main (skewer-bower-guess-main package version config))) - (when (null main) - (error "Could not load %s (%s): no \"main\" entrypoint specified" - package version)) - (cl-loop for (dep . version) in deps - do (skewer-bower-load (format "%s" dep) version)) - (cl-loop for entrypoint in main - for path = (skewer-bowser--path package version entrypoint) - do (skewer-eval path nil :type "script")))) - -(defservlet skewer/bower "application/javascript; charset=utf-8" (path) - "Serve a script from the local bower repository cache." - (cl-destructuring-bind (_ _skewer _bower package version . parts) - (split-string path "/") - (let* ((file (mapconcat #'identity parts "/")) - (contents (skewer-bower-git-show package version file))) - (if contents - (insert contents) - (httpd-error t 404))))) - -(provide 'skewer-bower) - -;;; skewer-bower.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-bower.elc b/elpa/skewer-mode-20180706.1807/skewer-bower.elc deleted file mode 100644 index 0eb1b3a..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-bower.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer-css.el b/elpa/skewer-mode-20180706.1807/skewer-css.el deleted file mode 100644 index 457c742..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-css.el +++ /dev/null @@ -1,134 +0,0 @@ -;;; skewer-css.el --- skewer support for live-interaction CSS -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;;; Commentary: - -;; This minor mode provides functionality for CSS like plain Skewer -;; does for JavaScript. - -;; * C-x C-e -- `skewer-css-eval-current-declaration' -;; * C-M-x -- `skewer-css-eval-current-rule' -;; * C-c C-k -- `skewer-css-eval-buffer' - -;; These functions assume there are no comments within a CSS rule, -;; *especially* not within a declaration. In the former case, if you -;; keep the comment free of CSS syntax it should be able to manage -;; reasonably well. This may be fixed someday. - -;;; Code: - -(require 'css-mode) -(require 'skewer-mode) - -(defun skewer-css-trim (string) - "Trim and compress whitespace in the string." - (let ((cleaned (replace-regexp-in-string "[\t\n ]+" " " string))) - (replace-regexp-in-string "^[\t\n ]+\\|[\t\n ]+$" "" cleaned))) - -;; Parsing - -(defun skewer-css-beginning-of-rule () - "Move to the beginning of the current rule and return point." - (skewer-css-end-of-rule) - (re-search-backward "{") - (when (re-search-backward "[}/]" nil 'start) - (forward-char)) - (re-search-forward "[^ \t\n]") - (backward-char) - (point)) - -(defun skewer-css-end-of-rule () - "Move to the end of the current rule and return point." - (if (eql (char-before) ?}) - (point) - (re-search-forward "}"))) - -(defun skewer-css-end-of-declaration () - "Move to the end of the current declaration and return point." - (if (eql (char-before) ?\;) - (point) - (re-search-forward ";"))) - -(defun skewer-css-beginning-of-declaration () - "Move to the end of the current declaration and return point." - (skewer-css-end-of-declaration) - (re-search-backward ":") - (backward-sexp 1) - (point)) - -(defun skewer-css-selectors () - "Return the selectors for the current rule." - (save-excursion - (let ((start (skewer-css-beginning-of-rule)) - (end (1- (re-search-forward "{")))) - (skewer-css-trim - (buffer-substring-no-properties start end))))) - -(defun skewer-css-declaration () - "Return the current declaration as a pair of strings." - (save-excursion - (let ((start (skewer-css-beginning-of-declaration)) - (end (skewer-css-end-of-declaration))) - (let* ((clip (buffer-substring-no-properties start end)) - (pair (split-string clip ":"))) - (mapcar #'skewer-css-trim pair))))) - -;; Evaluation - -(defun skewer-css (rule) - "Add RULE as a new stylesheet." - (skewer-eval rule nil :type "css")) - -(defun skewer-css-eval-current-declaration () - "Evaluate the declaration at the point." - (interactive) - (save-excursion - (let ((selectors (skewer-css-selectors)) - (rule (skewer-css-declaration)) - (start (skewer-css-beginning-of-declaration)) - (end (skewer-css-end-of-declaration))) - (skewer-flash-region start end) - (skewer-css (apply #'format "%s { %s: %s }" selectors rule))))) - -(defun skewer-css-eval-current-rule () - "Evaluate the rule at the point." - (interactive) - (save-excursion - (let* ((start (skewer-css-beginning-of-rule)) - (end (skewer-css-end-of-rule)) - (rule (buffer-substring-no-properties start end))) - (skewer-flash-region start end) - (skewer-css (skewer-css-trim rule))))) - -(defun skewer-css-eval-buffer () - "Send the entire current buffer as a new stylesheet." - (interactive) - (skewer-css (buffer-substring-no-properties (point-min) (point-max)))) - -(defun skewer-css-clear-all () - "Remove *all* Skewer-added styles from the document." - (interactive) - (skewer-eval nil nil :type "cssClearAll")) - -;; Minor mode definition - -(defvar skewer-css-mode-map - (let ((map (make-sparse-keymap))) - (prog1 map - (define-key map (kbd "C-x C-e") 'skewer-css-eval-current-declaration) - (define-key map (kbd "C-M-x") 'skewer-css-eval-current-rule) - (define-key map (kbd "C-c C-k") 'skewer-css-eval-buffer) - (define-key map (kbd "C-c C-c") 'skewer-css-clear-all))) - "Keymap for skewer-css-mode.") - -;;;###autoload -(define-minor-mode skewer-css-mode - "Minor mode for interactively loading new CSS rules." - :lighter " skewer-css" - :keymap skewer-css-mode-map - :group 'skewer) - -(provide 'skewer-css) - -;;; skewer-css.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-css.elc b/elpa/skewer-mode-20180706.1807/skewer-css.elc deleted file mode 100644 index 6568ae5..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-css.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer-everything.user.js b/elpa/skewer-mode-20180706.1807/skewer-everything.user.js deleted file mode 100644 index 2d62f12..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-everything.user.js +++ /dev/null @@ -1,54 +0,0 @@ -// ==UserScript== -// @name Skewer Everything -// @description Add a toggle button to run Skewer on the current page -// @lastupdated 2015-09-14 -// @version 1.3 -// @license Public Domain -// @include /^https?:/// -// @grant none -// @run-at document-start -// ==/UserScript== - -window.skewerNativeXHR = XMLHttpRequest; -window.skewerInject = inject; - -var host = 'http://localhost:8080'; - -var toggle = document.createElement('div'); -toggle.onclick = inject; -toggle.style.width = '0px'; -toggle.style.height = '0px'; -toggle.style.borderStyle = 'solid'; -toggle.style.borderWidth = '0 12px 12px 0'; -toggle.style.borderColor = 'transparent #F00 transparent transparent'; -toggle.style.position = 'absolute'; -toggle.style.right = 0; -toggle.style.top = 0; -toggle.style.zIndex = 214748364; - -var injected = false; - -function inject() { - if (!injected) { - var script = document.createElement('script'); - script.src = host + '/skewer'; - document.body.appendChild(script); - toggle.style.borderRightColor = '#0F0'; - } else { - /* break skewer to disable it */ - skewer.fn = null; - toggle.style.borderRightColor = '#F00'; - } - injected = !injected; - localStorage._autoskewered = JSON.stringify(injected); -} - -document.addEventListener('DOMContentLoaded', function() { - /* Don't use on iframes. */ - if (window.top === window.self) { - document.body.appendChild(toggle); - if (JSON.parse(localStorage._autoskewered || 'false')) { - inject(); - } - } -}); diff --git a/elpa/skewer-mode-20180706.1807/skewer-html.el b/elpa/skewer-mode-20180706.1807/skewer-html.el deleted file mode 100644 index b21de16..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-html.el +++ /dev/null @@ -1,165 +0,0 @@ -;;; skewer-html.el --- skewer support for live-interaction HTML -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;;; Commentary: - -;; This minor mode provides functionality for HTML like plain Skewer -;; does for JavaScript. There's no clean way to replace the body and -;; head elements of a live document, so "evaluating" these elements is -;; not supported. - -;; * C-M-x -- `skewer-html-eval-tag' - -;; See also `skewer-html-fetch-selector-into-buffer' for grabbing the -;; page as it current exists. - -;;; Code: - -(require 'cl-lib) -(require 'sgml-mode) -(require 'skewer-mode) - -;; Macros - -(defmacro skewer-html--with-html-mode (&rest body) - "Evaluate BODY as if in `html-mode', using a temp buffer if necessary." - (declare (indent 0)) - (let ((orig-buffer (make-symbol "orig-buffer")) - (temp-buffer (make-symbol "temp-buffer")) - (orig-point (make-symbol "orig-point"))) - `(let ((,temp-buffer (and (not (eq major-mode 'html-mode)) - (generate-new-buffer " *skewer-html*"))) - (,orig-buffer (current-buffer)) - (,orig-point (point))) - (unwind-protect - (with-current-buffer (or ,temp-buffer ,orig-buffer) - (when ,temp-buffer - (insert-buffer-substring ,orig-buffer) - (setf (point) ,orig-point) - (html-mode)) - ,@body) - (when ,temp-buffer - (kill-buffer ,temp-buffer)))))) - -;; Selector computation - -(defun skewer-html--cleanup (tag) - "Cleanup TAG name from sgml-mode." - (skewer-html--with-html-mode - (replace-regexp-in-string "/$" "" (sgml-tag-name tag)))) - -(defun skewer-html--tag-after-point () - "Return the tag struct for the tag immediately following point." - (skewer-html--with-html-mode - (save-excursion - (forward-char 1) - (sgml-parse-tag-backward)))) - -(defun skewer-html--get-context () - "Like `sgml-get-context' but to the root, skipping close tags." - (skewer-html--with-html-mode - (save-excursion - (cl-loop for context = (sgml-get-context) - while context - nconc (nreverse context) into tags - finally return (cl-delete 'close tags :key #'sgml-tag-type))))) - -(cl-defun skewer-html-compute-tag-nth (&optional (point (point))) - "Compute the position of this tag within its parent." - (skewer-html--with-html-mode - (save-excursion - (setf (point) point) - (let ((context (skewer-html--get-context))) - (when context - (let ((tag-name (skewer-html--cleanup (car context))) - (target-depth (1- (length context)))) - (cl-loop with n = 0 - ;; If point doesn't move, we're at the root. - for point-start = (point) - do (sgml-skip-tag-backward 1) - until (= (point) point-start) - ;; If depth changed, we're done. - for current-depth = (length (skewer-html--get-context)) - until (< current-depth target-depth) - ;; Examine the sibling tag. - for current-name = (save-excursion - (forward-char) - (sgml-parse-tag-name)) - when (equal current-name tag-name) - do (cl-incf n) - finally return n))))))) - -(defun skewer-html-compute-tag-ancestry () - "Compute the ancestry chain at point." - (skewer-html--with-html-mode - (nreverse - (cl-loop for tag in (skewer-html--get-context) - for nth = (skewer-html-compute-tag-nth (1+ (sgml-tag-start tag))) - for name = (skewer-html--cleanup tag) - unless (equal name "html") - collect (list name nth))))) - -(defun skewer-html-compute-selector () - "Compute the selector for exactly the tag around point." - (let ((ancestry (skewer-html-compute-tag-ancestry))) - (mapconcat (lambda (tag) - (format "%s:nth-of-type(%d)" (cl-first tag) (cl-second tag))) - ancestry " > "))) - -;; Fetching - -(defun skewer-html-fetch-selector (selector) - "Fetch the innerHTML of a selector." - (let ((result (skewer-eval-synchronously selector :type "fetchselector"))) - (if (skewer-success-p result) - (cdr (assoc 'value result)) - ""))) - -(defun skewer-html-fetch-selector-into-buffer (selector) - "Fetch the innerHTML of a selector and insert it into the active buffer." - (interactive "sSelector: ") - (insert (skewer-html-fetch-selector selector))) - -;; Evaluation - -(defun skewer-html-eval (string ancestry &optional append) - "Load HTML into a selector, optionally appending." - (let ((ancestry* (cl-coerce ancestry 'vector))) ; for JSON - (skewer-eval string nil :type "html" :extra `((ancestry . ,ancestry*) - (append . ,append))))) - -(defun skewer-html-eval-tag () - "Load HTML from the immediately surrounding tag." - (interactive) - (let ((ancestry (skewer-html-compute-tag-ancestry))) - (save-excursion - ;; Move to beginning of opening tag - (let* ((beg (skewer-html--with-html-mode - (sgml-skip-tag-forward 1) (point))) - (end (skewer-html--with-html-mode - (sgml-skip-tag-backward 1) (point))) - (region (buffer-substring-no-properties beg end))) - (skewer-flash-region beg end) - (if (= (length ancestry) 1) - (error "Error: cannot eval body and head tags.") - (skewer-html-eval region ancestry nil)))))) - -;; Minor mode definition - -(defvar skewer-html-mode-map - (let ((map (make-sparse-keymap))) - (prog1 map - (define-key map (kbd "C-M-x") 'skewer-html-eval-tag))) - "Keymap for skewer-html-mode") - -;;;###autoload -(define-minor-mode skewer-html-mode - "Minor mode for interactively loading new HTML." - :lighter " skewer-html" - :keymap skewer-html-mode-map - :group 'skewer) - -(provide 'skewer-html) - -;;; skewer-html.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-html.elc b/elpa/skewer-mode-20180706.1807/skewer-html.elc deleted file mode 100644 index 9162d94..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-html.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer-mode-autoloads.el b/elpa/skewer-mode-20180706.1807/skewer-mode-autoloads.el deleted file mode 100644 index 39a8e47..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-mode-autoloads.el +++ /dev/null @@ -1,128 +0,0 @@ -;;; skewer-mode-autoloads.el --- automatically extracted autoloads -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "cache-table" "cache-table.el" (0 0 0 0)) -;;; Generated autoloads from cache-table.el - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "cache-table" '("cache-table-"))) - -;;;*** - -;;;### (autoloads nil "skewer-bower" "skewer-bower.el" (0 0 0 0)) -;;; Generated autoloads from skewer-bower.el - -(autoload 'skewer-bower-refresh "skewer-bower" "\ -Update the package listing and packages synchronously. - -\(fn)" t nil) - -(autoload 'skewer-bower-load "skewer-bower" "\ -Dynamically load a library from bower into the current page. - -\(fn PACKAGE &optional VERSION)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "skewer-bower" '("skewer"))) - -;;;*** - -;;;### (autoloads nil "skewer-css" "skewer-css.el" (0 0 0 0)) -;;; Generated autoloads from skewer-css.el - -(autoload 'skewer-css-mode "skewer-css" "\ -Minor mode for interactively loading new CSS rules. - -\(fn &optional ARG)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "skewer-css" '("skewer-css"))) - -;;;*** - -;;;### (autoloads nil "skewer-html" "skewer-html.el" (0 0 0 0)) -;;; Generated autoloads from skewer-html.el - -(autoload 'skewer-html-mode "skewer-html" "\ -Minor mode for interactively loading new HTML. - -\(fn &optional ARG)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "skewer-html" '("skewer-html-"))) - -;;;*** - -;;;### (autoloads nil "skewer-mode" "skewer-mode.el" (0 0 0 0)) -;;; Generated autoloads from skewer-mode.el - -(autoload 'list-skewer-clients "skewer-mode" "\ -List the attached browsers in a buffer. - -\(fn)" t nil) - -(autoload 'skewer-mode "skewer-mode" "\ -Minor mode for interacting with a browser. - -\(fn &optional ARG)" t nil) - -(autoload 'run-skewer "skewer-mode" "\ -Attach a browser to Emacs for a skewer JavaScript REPL. Uses -`browse-url' to launch a browser. - -With a prefix arugment (C-u), it will ask the filename of the -root document. With two prefix arguments (C-u C-u), it will use -the contents of the current buffer as the root document. - -\(fn &optional ARG)" t nil) - -(autoload 'skewer-run-phantomjs "skewer-mode" "\ -Connect an inferior PhantomJS process to Skewer, returning the process. - -\(fn)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "skewer-mode" '("skewer" "phantomjs-program-name" "httpd/skewer/"))) - -;;;*** - -;;;### (autoloads nil "skewer-repl" "skewer-repl.el" (0 0 0 0)) -;;; Generated autoloads from skewer-repl.el - -(autoload 'skewer-repl--response-hook "skewer-repl" "\ -Catches all browser messages logging some to the REPL. - -\(fn RESPONSE)" nil nil) - -(autoload 'skewer-repl "skewer-repl" "\ -Start a JavaScript REPL to be evaluated in the visiting browser. - -\(fn)" t nil) - -(eval-after-load 'skewer-mode '(progn (add-hook 'skewer-response-hook #'skewer-repl--response-hook) (add-hook 'skewer-repl-mode-hook #'skewer-repl-mode-compilation-shell-hook) (define-key skewer-mode-map (kbd "C-c C-z") #'skewer-repl))) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "skewer-repl" '("skewer-" "company-skewer-repl"))) - -;;;*** - -;;;### (autoloads nil "skewer-setup" "skewer-setup.el" (0 0 0 0)) -;;; Generated autoloads from skewer-setup.el - -(autoload 'skewer-setup "skewer-setup" "\ -Fully integrate Skewer into js2-mode, css-mode, and html-mode buffers. - -\(fn)" nil nil) - -;;;*** - -;;;### (autoloads nil nil ("skewer-mode-pkg.el") (0 0 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; skewer-mode-autoloads.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-mode-pkg.el b/elpa/skewer-mode-20180706.1807/skewer-mode-pkg.el deleted file mode 100644 index e6a4d44..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-mode-pkg.el +++ /dev/null @@ -1,7 +0,0 @@ -(define-package "skewer-mode" "20180706.1807" "live browser JavaScript, CSS, and HTML interaction" - '((simple-httpd "1.4.0") - (js2-mode "20090723") - (emacs "24"))) -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/skewer-mode-20180706.1807/skewer-mode.el b/elpa/skewer-mode-20180706.1807/skewer-mode.el deleted file mode 100644 index a439a9c..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-mode.el +++ /dev/null @@ -1,620 +0,0 @@ -;;; skewer-mode.el --- live browser JavaScript, CSS, and HTML interaction -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;; Author: Christopher Wellons -;; URL: https://github.com/skeeto/skewer-mode - -;;; Commentary: - -;; Quick start (without package.el): - -;; 1. Put this directory in your `load-path' -;; 2. Load skewer-mode.el -;; 3. M-x `run-skewer' to attach a browser to Emacs -;; 4. From a `js2-mode' buffer with `skewer-mode' minor mode enabled, -;; send forms to the browser to evaluate - -;; The function `skewer-setup' can be used to configure all of mode -;; hooks (previously this was the default). This can also be done -;; manually like so, - -;; (add-hook 'js2-mode-hook 'skewer-mode) -;; (add-hook 'css-mode-hook 'skewer-css-mode) -;; (add-hook 'html-mode-hook 'skewer-html-mode) - -;; The keybindings for evaluating expressions in the browser are just -;; like the Lisp modes. These are provided by the minor mode -;; `skewer-mode'. - -;; * C-x C-e -- `skewer-eval-last-expression' -;; * C-M-x -- `skewer-eval-defun' -;; * C-c C-k -- `skewer-load-buffer' - -;; The result of the expression is echoed in the minibuffer. - -;; Additionally, `css-mode' and `html-mode' get a similar set of -;; bindings for modifying the CSS rules and updating HTML on the -;; current page. - -;; Note: `run-skewer' uses `browse-url' to launch the browser. This -;; may require further setup depending on your operating system and -;; personal preferences. - -;; Multiple browsers and browser tabs can be attached to Emacs at -;; once. JavaScript forms are sent to all attached clients -;; simultaneously, and each will echo back the result -;; individually. Use `list-skewer-clients' to see a list of all -;; currently attached clients. - -;; Sometimes Skewer's long polls from the browser will timeout after a -;; number of hours of inactivity. If you find the browser disconnected -;; from Emacs for any reason, use the browser's console to call -;; skewer() to reconnect. This avoids a page reload, which would lose -;; any fragile browser state you might care about. - -;; To skewer your own document rather than the provided blank page, - -;; 1. Load the dependencies -;; 2. Load skewer-mode.el -;; 3. Start the HTTP server (`httpd-start') -;; 4. Include "http://localhost:8080/skewer" as a script -;; (see `example.html' and check your `httpd-port') -;; 5. Visit the document from your browser - -;; Skewer fully supports CORS, so the document need not be hosted by -;; Emacs itself. A Greasemonkey userscript and a bookmarklet are -;; provided for injecting Skewer into any arbitrary page you're -;; visiting without needing to modify the page on the host. - -;; With skewer-repl.el loaded, a REPL into the browser can be created -;; with M-x `skewer-repl', or C-c C-z. This should work like a console -;; within the browser. Messages can be logged to this REPL with -;; skewer.log() (just like console.log()). - -;; Extending Skewer: - -;; Skewer is flexible and open to extension. The REPL and the CSS and -;; HTML minor modes are a partial examples of this. You can extend -;; skewer.js with your own request handlers and talk to them from -;; Emacs using `skewer-eval' (or `skewer-eval-synchronously') with -;; your own custom :type. The :type string chooses the dispatch -;; function under the skewer.fn object. To inject your own JavaScript -;; into skewer.js, use `skewer-js-hook'. - -;; You can also catch messages sent from the browser not in response -;; to an explicit request. Use `skewer-response-hook' to see all -;; incoming objects. - -;;; History: - -;; Version 1.8.0: features -;; * Work around XMLHttpRequest tampering in userscript -;; * Add Makefile "run" target for testing -;; Version 1.7.0: features and fixes -;; * Support for other major modes (including web-mode) in skewer-html-mode -;; * Opportunistic support for company-mode completions -;; * Always serve content as UTF-8 -;; * Improve skewer-everything.js portability -;; Version 1.6.2: fixes -;; * skewer.log() takes multiple arguments -;; * comint and encoding fixes -;; Version 1.6.1: fixes -;; * Add `skewer-css-clear-all' -;; * Better IE8 compatibility -;; * User interface tweaks -;; Version 1.6.0: fixes -;; * Bring up to speed with Emacs 24.3 -;; * Switch to cl-lib from cl -;; Version 1.5.3: features -;; * Add `skewer-run-phantomjs' -;; Version 1.5.2: small cleanup -;; * Add `skewer-apply' and `skewer-funall' -;; * Improved safeStringify -;; Version 1.5.1: features -;; * No more automatic hook setup (see `skewer-setup') -;; * Support for HTML interaction -;; * Support for loading Bower packages -;; * Drop jQuery dependency -;; * Many small improvements -;; Version 1.4: features -;; * Full CSS interaction -;; * Greasemonkey userscript for injection -;; * Full, working CORS support -;; * Better browser presence detection -;; Version 1.3: features and fixes -;; * Full offline support -;; * No more callback registering -;; * Fix 64-bit support -;; * Two new hooks for improved extension support -;; * More uniform keybindings with other interactive modes -;; Version 1.2: features -;; * Add a skewer-eval-print-last-expression -;; * Display evaluation time when it's long -;; * Flash the region on eval -;; * Improve JS stringification -;; Version 1.1: features and fixes -;; * Added `list-skewer-clients' -;; * Reduce the number of HTTP requests needed -;; * Fix stringification issues -;; Version 1.0: initial release - -;;; Code: - -(require 'cl-lib) -(require 'json) -(require 'url-util) -(require 'simple-httpd) -(require 'js2-mode) -(require 'cache-table) - -(defgroup skewer nil - "Live browser JavaScript interaction." - :group 'languages) - -(defvar skewer-mode-map - (let ((map (make-sparse-keymap))) - (prog1 map - (define-key map (kbd "C-x C-e") 'skewer-eval-last-expression) - (define-key map (kbd "C-M-x") 'skewer-eval-defun) - (define-key map (kbd "C-c C-k") 'skewer-load-buffer))) - "Keymap for skewer-mode.") - -(defvar skewer-data-root (file-name-directory load-file-name) - "Location of data files needed by impatient-mode.") - -(defvar skewer-js-hook () - "Hook to run when skewer.js is being served to the browser. - -When hook functions are called, the current buffer is the buffer -to be served to the client (a defservlet), with skewer.js script -already inserted. This is the chance for other packages to insert -their own JavaScript to extend skewer in the browser, such as -adding a new type handler.") - -(defvar skewer-response-hook () - "Hook to run when a response arrives from the browser. Used for -catching messages from the browser with no associated -callback. The response object is passed to the hook function.") - -(defvar skewer-timeout 3600 - "Maximum time to wait on the browser to respond, in seconds.") - -(defvar skewer-clients () - "Browsers awaiting JavaScript snippets.") - -(defvar skewer-callbacks (cache-table-create skewer-timeout :test 'equal) - "Maps evaluation IDs to local callbacks.") - -(defvar skewer-queue () - "Queued messages for the browser.") - -(defvar skewer--last-timestamp 0 - "Timestamp of the last browser response. Use -`skewer-last-seen-seconds' to access this.") - -(cl-defstruct skewer-client - "A client connection awaiting a response." - proc agent) - -(defun skewer-process-queue () - "Send all queued messages to clients." - (when (and skewer-queue skewer-clients) - (let ((message (pop skewer-queue)) - (sent nil)) - (while skewer-clients - (ignore-errors - (progn - (let ((proc (skewer-client-proc (pop skewer-clients)))) - (with-temp-buffer - (insert (json-encode message)) - (httpd-send-header proc "text/plain" 200 - :Cache-Control "no-cache" - :Access-Control-Allow-Origin "*"))) - (setq skewer--last-timestamp (float-time)) - (setq sent t)))) - (if (not sent) (push message skewer-queue))) - (skewer-process-queue))) - -(defun skewer-clients-tabulate () - "Prepare client list for tabulated-list-mode." - (cl-loop for client in skewer-clients collect - (let ((proc (skewer-client-proc client)) - (agent (skewer-client-agent client))) - (cl-destructuring-bind (host port) (process-contact proc) - `(,client [,host ,(format "%d" port) ,agent]))))) - -(define-derived-mode skewer-clients-mode tabulated-list-mode "skewer-clients" - "Mode for listing browsers attached to Emacs for skewer-mode." - (setq tabulated-list-format [("Host" 12 t) - ("Port" 5 t) - ("User Agent" 0 t)]) - (setq tabulated-list-entries #'skewer-clients-tabulate) - (tabulated-list-init-header)) - -(define-key skewer-clients-mode-map (kbd "g") - (lambda () - (interactive) - (skewer-ping) - (revert-buffer))) - -(defun skewer-update-list-buffer () - "Revert the client list, due to an update." - (save-window-excursion - (let ((list-buffer (get-buffer "*skewer-clients*"))) - (when list-buffer - (with-current-buffer list-buffer - (revert-buffer)))))) - -;;;###autoload -(defun list-skewer-clients () - "List the attached browsers in a buffer." - (interactive) - (pop-to-buffer (get-buffer-create "*skewer-clients*")) - (skewer-clients-mode) - (tabulated-list-print)) - -(defun skewer-queue-client (proc req) - "Add a client to the queue, given the HTTP header." - (let ((agent (cl-second (assoc "User-Agent" req)))) - (push (make-skewer-client :proc proc :agent agent) skewer-clients)) - (skewer-update-list-buffer) - (skewer-process-queue)) - -;; Servlets - -(defservlet skewer "text/javascript; charset=UTF-8" () - (insert-file-contents (expand-file-name "skewer.js" skewer-data-root)) - (goto-char (point-max)) - (run-hooks 'skewer-js-hook)) - -(defun httpd/skewer/get (proc _path _query req &rest _args) - (skewer-queue-client proc req)) - -(defun httpd/skewer/post (proc _path _query req &rest _args) - (let* ((result (json-read-from-string (cadr (assoc "Content" req)))) - (id (cdr (assoc 'id result))) - (callback (cache-table-get id skewer-callbacks))) - (setq skewer--last-timestamp (float-time)) - (when callback - (funcall callback result)) - (if id - (skewer-queue-client proc req) - (with-temp-buffer - (httpd-send-header proc "text/plain" 200 - :Access-Control-Allow-Origin "*"))) - (dolist (hook skewer-response-hook) - (funcall hook result)))) - -(defvar skewer-demo-source - (expand-file-name "example.html" skewer-data-root) - "Source file name or buffer for `httpd/skewer/demo' servlet.") - -(defservlet skewer/demo "text/html; charset=UTF-8" () - (cl-etypecase skewer-demo-source - (buffer (insert-buffer-substring skewer-demo-source)) - (string (insert-file-contents skewer-demo-source)))) - -;; Minibuffer display - -(defun skewer-success-p (result) - "Return T if result was a success." - (equal "success" (cdr (assoc 'status result)))) - -(define-derived-mode skewer-error-mode special-mode "skewer-error" - :group 'skewer - "Mode for displaying JavaScript errors returned by skewer-mode." - (setq truncate-lines t)) - -(defface skewer-error-face - '((((class color) (background light)) - :foreground "red" :underline t) - (((class color) (background dark)) - :foreground "red" :underline t)) - "Face for JavaScript errors." - :group 'skewer) - -(defun skewer--error (string) - "Return STRING propertized as an error message." - (propertize (or string "") 'font-lock-face 'skewer-error-face)) - -(defun skewer-post-minibuffer (result) - "Report results in the minibuffer or the error buffer." - (if (skewer-success-p result) - (let ((value (cdr (assoc 'value result))) - (time (cdr (assoc 'time result)))) - (if (and time (> time 1.0)) - (message "%s (%.3f seconds)" value time) - (message "%s" value))) - (with-current-buffer (pop-to-buffer (get-buffer-create "*skewer-error*")) - (let ((inhibit-read-only t) - (error (cdr (assoc 'error result)))) - (erase-buffer) - (skewer-error-mode) - (insert (skewer--error (cdr (assoc 'name error))) ": ") - (insert (or (cdr (assoc 'message error)) "") "\n\n") - (insert (or (cdr (assoc 'stack error)) "") "\n\n") - (insert (format "Expression: %s\n\n" - (if (cdr (assoc 'strict result)) "(strict)" "")) - (cdr (assoc 'eval error))) - (goto-char (point-min)))))) - -;; Evaluation functions - -(cl-defun skewer-eval (string &optional callback - &key verbose strict (type "eval") extra) - "Evaluate STRING in the waiting browsers, giving the result to CALLBACK. - -:VERBOSE -- if T, the return will try to be JSON encoded -:STRICT -- if T, expression is evaluated with 'use strict' -:TYPE -- chooses the JavaScript handler (default: eval) -:EXTRA -- additional alist keys to append to the request object" - (let* ((id (format "%x" (random most-positive-fixnum))) - (request `((type . ,type) - (eval . ,string) - (id . ,id) - (verbose . ,verbose) - (strict . ,strict) - ,@extra))) - (prog1 request - (setf (cache-table-get id skewer-callbacks) callback) - (setq skewer-queue (append skewer-queue (list request))) - (skewer-process-queue)))) - -(defun skewer-eval-synchronously (string &rest args) - "Just like `skewer-eval' but synchronously, so don't provide a -callback. Use with caution." - (let ((result nil)) - (apply #'skewer-eval string (lambda (v) (setq result v)) args) - (cl-loop until result - do (accept-process-output nil 0.01) - finally (return result)))) - -(defun skewer-apply (function args) - "Synchronously apply FUNCTION in the browser with the supplied -arguments, returning the result. All ARGS must be printable by -`json-encode'. For example, - - (skewer-apply \"Math.atan2\" '(1 -2)) ; => 2.677945044588987 - -Uncaught exceptions propagate to Emacs as an error." - (let ((specials '(("undefined" . nil) - ("NaN" . 0.0e+NaN) - ("Infinity" . 1.0e+INF) - ("-Infinity" . -1.0e+INF)))) - (let* ((expr (concat function "(" (mapconcat #'json-encode args ", ") ")")) - (result (skewer-eval-synchronously expr :verbose t)) - (value (cdr (assoc 'value result)))) - (if (skewer-success-p result) - (if (assoc value specials) - (cdr (assoc value specials)) - (condition-case _ - (json-read-from-string value) - (json-readtable-error value))) - (signal 'javascript - (list (cdr (assoc 'message (cdr (assoc'error result)))))))))) - -(defun skewer-funcall (function &rest args) - "Synchronously call FUNCTION with the supplied ARGS. All ARGS -must be printable by `json-read-from-string. For example, - - (skewer-funcall \"Math.sin\" 0.5) ; => 0.479425538604203 - -Uncaught exceptions propagate to Emacs as an error." - (skewer-apply function args)) - -(defun skewer--save-point (f &rest args) - "Return a function that calls F with point at the current point." - (let ((saved-point (point))) - (lambda (&rest more) - (save-excursion - (goto-char saved-point) - (apply f (append args more)))))) - -(defun skewer-ping () - "Ping the browser to test that it's still alive." - (unless (null skewer-clients) ; don't queue pings - (skewer-eval (prin1-to-string (float-time)) nil :type "ping"))) - -(defun skewer-last-seen-seconds () - "Return the number of seconds since the browser was last seen." - (skewer-ping) ; make sure it's still alive next request - (- (float-time) skewer--last-timestamp)) - -(defun skewer-mode-strict-p () - "Return T if buffer contents indicates strict mode." - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (js2-forward-sws) - (forward-char 1) - (let* ((stricts '("\"use strict\"" "'use strict'")) - (node (js2-node-at-point)) - (code (buffer-substring-no-properties (js2-node-abs-pos node) - (js2-node-abs-end node)))) - (and (member code stricts) t))))) - -(defun skewer-flash-region (start end &optional timeout) - "Temporarily highlight region from START to END." - (let ((overlay (make-overlay start end))) - (overlay-put overlay 'face 'secondary-selection) - (run-with-timer (or timeout 0.2) nil 'delete-overlay overlay))) - -(defun skewer-get-last-expression () - "Return the JavaScript expression before the point as a -list: (string start end)." - (save-excursion - (js2-backward-sws) - (backward-char) - (let ((node (js2-node-at-point nil t))) - (when (eq js2-FUNCTION (js2-node-type (js2-node-parent node))) - (setq node (js2-node-parent node))) - (when (js2-ast-root-p node) - (error "no expression found")) - (let ((start (js2-node-abs-pos node)) - (end (js2-node-abs-end node))) - (list (buffer-substring-no-properties start end) start end))))) - -(defun skewer-eval-last-expression (&optional prefix) - "Evaluate the JavaScript expression before the point in the -waiting browser. If invoked with a prefix argument, insert the -result into the current buffer." - (interactive "P") - (if prefix - (skewer-eval-print-last-expression) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse - (skewer--save-point #'skewer-eval-last-expression)) - (cl-destructuring-bind (string start end) (skewer-get-last-expression) - (skewer-flash-region start end) - (skewer-eval string #'skewer-post-minibuffer))))) - -(defun skewer-get-defun () - "Return the toplevel JavaScript expression around the point as -a list: (string start end)." - (save-excursion - (js2-backward-sws) - (backward-char) - (let ((node (js2-node-at-point nil t))) - (when (js2-ast-root-p node) - (error "no expression found")) - (while (and (js2-node-parent node) - (not (js2-ast-root-p (js2-node-parent node)))) - (setf node (js2-node-parent node))) - (let ((start (js2-node-abs-pos node)) - (end (js2-node-abs-end node))) - (list (buffer-substring-no-properties start end) start end))))) - -(defun skewer-eval-defun () - "Evaluate the JavaScript expression before the point in the -waiting browser." - (interactive) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse (skewer--save-point #'skewer-eval-defun)) - (cl-destructuring-bind (string start end) (skewer-get-defun) - (skewer-flash-region start end) - (skewer-eval string #'skewer-post-minibuffer)))) - -;; Print last expression - -(defvar skewer-eval-print-map (cache-table-create skewer-timeout :test 'equal) - "A mapping of evaluation IDs to insertion points.") - -(defun skewer-post-print (result) - "Insert the result after its source expression." - (if (not (skewer-success-p result)) - (skewer-post-minibuffer result) - (let* ((id (cdr (assoc 'id result))) - (pos (cache-table-get id skewer-eval-print-map))) - (when pos - (with-current-buffer (car pos) - (goto-char (cdr pos)) - (insert (cdr (assoc 'value result)) "\n")))))) - -(defun skewer-eval-print-last-expression () - "Evaluate the JavaScript expression before the point in the -waiting browser and insert the result in the buffer at point." - (interactive) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse - (skewer--save-point #'skewer-eval-print-last-expression)) - (cl-destructuring-bind (string start end) (skewer-get-defun) - (skewer-flash-region start end) - (insert "\n") - (let* ((request (skewer-eval string #'skewer-post-print :verbose t)) - (id (cdr (assoc 'id request))) - (pos (cons (current-buffer) (point)))) - (setf (cache-table-get id skewer-eval-print-map) pos))))) - -;; Script loading - -(defvar skewer-hosted-scripts (cache-table-create skewer-timeout) - "Map of hosted scripts to IDs.") - -(defun skewer-host-script (string) - "Host script STRING from the script servlet, returning the script ID." - (let ((id (random most-positive-fixnum))) - (prog1 id - (setf (cache-table-get id skewer-hosted-scripts) string)))) - -(defun skewer-load-buffer () - "Load the entire current buffer into the browser. A snapshot of -the buffer is hosted so that browsers visiting late won't see an -inconsistent buffer." - (interactive) - (let ((id (skewer-host-script (buffer-string))) - (buffer-name (buffer-name))) - (skewer-eval (format "/skewer/script/%d/%s" - id (url-hexify-string buffer-name)) - (lambda (_) (message "%s loaded" buffer-name)) - :type "script"))) - -(defservlet skewer/script "text/javascript; charset=UTF-8" (path) - (let ((id (string-to-number (nth 3 (split-string path "/"))))) - (insert (cache-table-get id skewer-hosted-scripts "")))) - -;; Define the minor mode - -;;;###autoload -(define-minor-mode skewer-mode - "Minor mode for interacting with a browser." - :lighter " skewer" - :keymap skewer-mode-map - :group 'skewer) - -;;;###autoload -(defun run-skewer (&optional arg) - "Attach a browser to Emacs for a skewer JavaScript REPL. Uses -`browse-url' to launch a browser. - -With a prefix arugment (C-u), it will ask the filename of the -root document. With two prefix arguments (C-u C-u), it will use -the contents of the current buffer as the root document." - (interactive "p") - (cl-case arg - (4 (setf skewer-demo-source (read-file-name "Skewer filename: "))) - (16 (setf skewer-demo-source (current-buffer)))) - (httpd-start) - (browse-url (format "http://127.0.0.1:%d/skewer/demo" httpd-port))) - -;; PhantomJS - -(defvar phantomjs-program-name "/usr/bin/phantomjs" - "Path to the phantomjs executable.") - -(defvar skewer-phantomjs-processes () - "List of phantomjs processes connected to Skewer.") - -(defun skewer-phantomjs-sentinel (proc event) - "Cleanup after phantomjs exits." - (when (cl-some (lambda (s) (string-match-p s event)) - '("finished" "abnormal" "killed")) - (delete-file (process-get proc 'tempfile)))) - -;;;###autoload -(defun skewer-run-phantomjs () - "Connect an inferior PhantomJS process to Skewer, returning the process." - (interactive) - (httpd-start) - (let ((script (make-temp-file "phantomjs-")) - (url (format "http://0:%d/skewer/demo" httpd-port))) - (with-temp-buffer - (insert (format "require('webpage').create().open('%s')" url)) - (write-region nil nil script nil 0) - (let ((proc (start-process "phantomjs" nil - phantomjs-program-name script))) - (prog1 proc - (push proc skewer-phantomjs-processes) - (process-put proc 'tempfile script) - (set-process-sentinel proc 'skewer-phantomjs-sentinel)))))) - -(defun skewer-phantomjs-kill () - "Kill all inferior phantomjs processes connected to Skewer." - (interactive) - (mapc #'delete-process skewer-phantomjs-processes) - (setf skewer-phantomjs-processes nil)) - -(provide 'skewer-mode) - -;;; skewer-mode.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-mode.elc b/elpa/skewer-mode-20180706.1807/skewer-mode.elc deleted file mode 100644 index d8cf9a2..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-mode.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer-repl.el b/elpa/skewer-mode-20180706.1807/skewer-repl.el deleted file mode 100644 index c3e17b5..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-repl.el +++ /dev/null @@ -1,208 +0,0 @@ -;;; skewer-repl.el --- create a REPL in a visiting browser -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;;; Commentary: - -;; This is largely based on of IELM's code. Run `skewer-repl' to -;; switch to the REPL buffer and evaluate code. Use -;; `skewer-repl-toggle-strict-mode' to turn strict mode on and off. - -;; If `compilation-search-path' is set up properly, along with -;; `skewer-path-strip-level', asynchronous errors will provide -;; clickable error messages that will take you to the source file of -;; the error. This is done using `compilation-shell-minor-mode'. - -;;; Code: - -(require 'comint) -(require 'compile) -(require 'skewer-mode) - -(defcustom skewer-repl-strict-p nil - "When non-NIL, all REPL evaluations are done in strict mode." - :type 'boolean - :group 'skewer) - -(defcustom skewer-repl-prompt "js> " - "Prompt string for JavaScript REPL." - :type 'string - :group 'skewer) - -(defvar skewer-repl-welcome - (propertize "*** Welcome to Skewer ***\n" - 'font-lock-face 'font-lock-comment-face) - "Header line to show at the top of the REPL buffer. Hack -notice: this allows log messages to appear before anything is -evaluated because it provides insertable space at the top of the -buffer.") - -(defun skewer-repl-process () - "Return the process for the skewer REPL." - (get-buffer-process (current-buffer))) - -(defface skewer-repl-log-face - '((((class color) (background light)) - :foreground "#77F") - (((class color) (background dark)) - :foreground "#77F")) - "Face for skewer.log() messages." - :group 'skewer) - -(define-derived-mode skewer-repl-mode comint-mode "js-REPL" - "Provide a REPL into the visiting browser." - :group 'skewer - :syntax-table emacs-lisp-mode-syntax-table - (setq comint-prompt-regexp (concat "^" (regexp-quote skewer-repl-prompt)) - comint-input-sender 'skewer-input-sender - comint-process-echoes nil) - ;; Make opportunistic use of company-mode, but don't require it. - ;; This means company-backends may be undeclared, so don't emit a - ;; warning about it. - (with-no-warnings - (setq-local company-backends '(company-skewer-repl))) - (unless (comint-check-proc (current-buffer)) - (insert skewer-repl-welcome) - (start-process "skewer-repl" (current-buffer) nil) - (set-process-query-on-exit-flag (skewer-repl-process) nil) - (goto-char (point-max)) - (set (make-local-variable 'comint-inhibit-carriage-motion) t) - (comint-output-filter (skewer-repl-process) skewer-repl-prompt) - (set-process-filter (skewer-repl-process) 'comint-output-filter))) - -(defun skewer-repl-toggle-strict-mode () - "Toggle strict mode for expressions evaluated by the REPL." - (interactive) - (setq skewer-repl-strict-p (not skewer-repl-strict-p)) - (message "REPL strict mode %s" - (if skewer-repl-strict-p "enabled" "disabled"))) - -(defun skewer-input-sender (_ input) - "REPL comint handler." - (skewer-eval input 'skewer-post-repl - :verbose t :strict skewer-repl-strict-p)) - -(defun skewer-post-repl (result) - "Callback for reporting results in the REPL." - (let ((buffer (get-buffer "*skewer-repl*")) - (output (cdr (assoc 'value result)))) - (when buffer - (with-current-buffer buffer - (comint-output-filter (skewer-repl-process) - (concat output "\n" skewer-repl-prompt)))))) - -(defvar skewer-repl-types - '(("log" . skewer-repl-log-face) - ("error" . skewer-error-face)) - "Faces to use for different types of log messages.") - -(defun skewer-log-filename (log) - "Create a log string for the source file in LOG if present." - (let ((name (cdr (assoc 'filename log))) - (line (cdr (assoc 'line log))) - (column (cdr (assoc 'column log)))) - (when name - (concat (format "\n at %s:%s" name line) - (if column (format ":%s" column)))))) - -(defun skewer-post-log (log) - "Callback for logging messages to the REPL." - (let* ((buffer (get-buffer "*skewer-repl*")) - (face (cdr (assoc (cdr (assoc 'type log)) skewer-repl-types))) - (value (or (cdr (assoc 'value log)) "")) - (output (propertize value 'font-lock-face face))) - (when buffer - (with-current-buffer buffer - (save-excursion - (goto-char (point-max)) - (forward-line 0) - (backward-char) - (insert (concat "\n" output (skewer-log-filename log)))))))) - -(defcustom skewer-path-strip-level 1 - "Number of folders which will be stripped from url when discovering paths. -Use this to limit path matching to files in your filesystem. You -may want to add some folders to `compilation-search-path', so -matched files can be found." - :type 'number - :group 'skewer) - -(defun skewer-repl-mode-compilation-shell-hook () - "Setup compilation shell minor mode for highlighting files" - (let ((error-re (format "^[ ]*at https?://[^/]+/\\(?:[^/]+/\\)\\{%d\\}\\([^:?#]+\\)\\(?:[?#][^:]*\\)?:\\([[:digit:]]+\\)\\(?::\\([[:digit:]]+\\)\\)?$" skewer-path-strip-level))) - (setq-local compilation-error-regexp-alist `((,error-re 1 2 3 2)))) - (compilation-shell-minor-mode 1)) - -;;;###autoload -(defun skewer-repl--response-hook (response) - "Catches all browser messages logging some to the REPL." - (let ((type (cdr (assoc 'type response)))) - (when (member type '("log" "error")) - (skewer-post-log response)))) - -;;;###autoload -(defun skewer-repl () - "Start a JavaScript REPL to be evaluated in the visiting browser." - (interactive) - (when (not (get-buffer "*skewer-repl*")) - (with-current-buffer (get-buffer-create "*skewer-repl*") - (skewer-repl-mode))) - (pop-to-buffer (get-buffer "*skewer-repl*"))) - -(defun company-skewer-repl (command &optional arg &rest _args) - "Skewerl REPL backend for company-mode. -See `company-backends' for more info about COMMAND and ARG." - (interactive (list 'interactive)) - (cl-case command - (interactive - (with-no-warnings ;; opportunistic use of company-mode - (company-begin-backend 'company-skewer-repl))) - (prefix (skewer-repl-company-prefix)) - (ignore-case t) - (sorted t) - (candidates (cons :async - (lambda (callback) - (skewer-repl-get-completions arg callback)))))) - -(defun skewer-repl-get-completions (arg callback) - "Get the completion list matching the prefix ARG. -Evaluate CALLBACK with the completion candidates." - (let* ((expression (skewer-repl--get-completion-expression arg)) - (pattern (if expression - (substring arg (1+ (length expression))) - arg))) - (skewer-eval (or expression "window") - (lambda (result) - (cl-loop with value = (cdr (assoc 'value result)) - for key being the elements of value - when expression - collect (concat expression "." key) into results - else - collect key into results - finally (funcall callback results))) - :type "completions" - :extra `((regexp . ,pattern))))) - -(defun skewer-repl--get-completion-expression (arg) - "Get completion expression from ARG." - (let ((components (split-string arg "\\."))) - (when (> (length components) 1) - (mapconcat #'identity (cl-subseq components 0 -1) ".")))) - -(defun skewer-repl-company-prefix () - "Prefix for company." - (and (eq major-mode 'skewer-repl-mode) - (or (with-no-warnings ;; opportunistic use of company-mode - (company-grab-symbol-cons "\\." 1)) - 'stop))) - -;;;###autoload -(eval-after-load 'skewer-mode - '(progn - (add-hook 'skewer-response-hook #'skewer-repl--response-hook) - (add-hook 'skewer-repl-mode-hook #'skewer-repl-mode-compilation-shell-hook) - (define-key skewer-mode-map (kbd "C-c C-z") #'skewer-repl))) - -(provide 'skewer-repl) - -;;; skewer-repl.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-repl.elc b/elpa/skewer-mode-20180706.1807/skewer-repl.elc deleted file mode 100644 index dd70aee..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-repl.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer-setup.el b/elpa/skewer-mode-20180706.1807/skewer-setup.el deleted file mode 100644 index 77aea1b..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer-setup.el +++ /dev/null @@ -1,21 +0,0 @@ -;;; skewer-setup.el --- automatic setup for the Skewer minor modes -*- lexical-binding: t; -*- - -;; This is free and unencumbered software released into the public domain. - -;;; Commentary: - -;; This exists as a separate file so that Skewer need not be fully -;; loaded just to use this setup function. - -;;; Code: - -;;;###autoload -(defun skewer-setup () - "Fully integrate Skewer into js2-mode, css-mode, and html-mode buffers." - (add-hook 'js2-mode-hook 'skewer-mode) - (add-hook 'css-mode-hook 'skewer-css-mode) - (add-hook 'html-mode-hook 'skewer-html-mode)) - -(provide 'skewer-setup) - -;;; skewer-setup.el ends here diff --git a/elpa/skewer-mode-20180706.1807/skewer-setup.elc b/elpa/skewer-mode-20180706.1807/skewer-setup.elc deleted file mode 100644 index b41fdde..0000000 Binary files a/elpa/skewer-mode-20180706.1807/skewer-setup.elc and /dev/null differ diff --git a/elpa/skewer-mode-20180706.1807/skewer.js b/elpa/skewer-mode-20180706.1807/skewer.js deleted file mode 100644 index eb741c7..0000000 --- a/elpa/skewer-mode-20180706.1807/skewer.js +++ /dev/null @@ -1,436 +0,0 @@ -/** - * @fileOverview Live browser interaction with Emacs - * @version 1.4 - */ - -/** - * Connects to Emacs and waits for a request. After handling the - * request it sends back the results and queues itself for another - * request. - * @namespace Holds all of Skewer's functionality. - */ -function skewer() { - function callback(request) { - var result = skewer.fn[request.type](request); - if (result) { - result = skewer.extend({ - id: request.id, - type: request.type, - status: 'success', - value: '' - }, result); - skewer.postJSON(skewer.host + "/skewer/post", result, callback); - } else { - skewer.getJSON(skewer.host + "/skewer/get", callback); - } - }; - skewer.getJSON(skewer.host + "/skewer/get", callback); -} - -/** - * Get a JSON-encoded object from a server. - * @param {String} url The location of the remote server - * @param {Function} [callback] The callback to receive a response object - */ -skewer.getJSON = function(url, callback) { - var XHR = window.skewerNativeXHR || XMLHttpRequest; - var xhr = new XHR(); - xhr.onreadystatechange = function() { - if (xhr.readyState === 4 && xhr.status === 200) { - callback(JSON.parse(xhr.responseText)); - } - }; - xhr.open('GET', url, true); - xhr.send(); -}; - -/** - * Send a JSON-encoded object to a server. - * @param {String} url The location of the remote server - * @param {Object} object The object to transmit to the server - * @param {Function} [callback] The callback to receive a response object - */ -skewer.postJSON = function(url, object, callback) { - var XHR = window.skewerNativeXHR || XMLHttpRequest; - var xhr = new XHR(); - xhr.onreadystatechange = function() { - if (callback && xhr.readyState === 4 && xhr.status === 200) { - callback(JSON.parse(xhr.responseText)); - } - }; - xhr.open('POST', url, true); - xhr.setRequestHeader("Content-Type", "text/plain"); // CORS - xhr.send(JSON.stringify(object)); -}; - -/** - * Add the properties other objects to a target object (jQuery.extend). - * @param {Object} target The object to receive new properties - * @param {...Object} objects Source objects for properties - * @returns The target object - */ -skewer.extend = function(target) { - for (var i = 1; i < arguments.length; i++) { - var object = arguments[i]; - for (var key in object) { - if (object.hasOwnProperty(key)) { - target[key] = object[key]; - } - } - } - return target; -}; - -/** - * Globally evaluate an expression and return the result. This - * only works when the implementation's indirect eval performs - * a global eval. If not, there's no alternative, since a return value - * is essential. - * - * @see http://perfectionkills.com/global-eval-what-are-the-options/ - * - * @param expression A string containing an expression to evaluate - * @returns The result of the evaluation - */ -skewer.globalEval = (function() { - var eval0 = (function(original, Object) { - try { - return [eval][0]('Object') === original; - } catch (e) { - return false; - } - }(Object, false)); - if (eval0) { - return function(expression) { - return [eval][0](expression); - }; - } else { - return function(expression) { // Safari - return eval.call(window, expression); - }; - } -}()); - -/** - * Same as Date.now(), supplied for pre-ES5 JS (<=IE8). - * @returns {number} The epoch time in milliseconds - */ -skewer.now = function() { - return new Date().valueOf(); -}; - -/** - * Handlers accept a request object from Emacs and return either a - * logical false (no response) or an object to return to Emacs. - * @namespace Request handlers. - */ -skewer.fn = {}; - -/** - * Handles an code evaluation request from Emacs. - * @param request The request object sent by Emacs - * @returns The result object to be returned to Emacs - */ -skewer.fn.eval = function(request) { - var result = { - strict: request.strict - }; - var start = skewer.now(); - try { - var prefix = request.strict ? '"use strict";\n' : ""; - var value = skewer.globalEval(prefix + request.eval); - result.value = skewer.safeStringify(value, request.verbose); - } catch (error) { - result = skewer.errorResult(error, result, request); - } - result.time = (skewer.now() - start) / 1000; - return result; -}; - -/** - * Load a hosted script named by the request. - * @param request The request object sent by Emacs - * @returns The result object to be returned to Emacs - */ -skewer.fn.script = function(request) { - var script = document.createElement('script'); - script.src = skewer.host + request.eval; - document.body.appendChild(script); - return {value: JSON.stringify(request.eval)}; -}; - -/** - * A keep-alive and connecton testing handler. - * @param request The request object sent by Emacs - * @returns The result object to be returned to Emacs - */ -skewer.fn.ping = function(request) { - return { - type: 'pong', - date: skewer.now() / 1000, - value: request.eval - }; -}; - -/** - * Establish a new stylesheet with the provided value. - */ -skewer.fn.css = function(request) { - var style = document.createElement('style'); - style.type = 'text/css'; - style.className = 'skewer'; - if (style.styleSheet) { // < IE9 - style.styleSheet.cssText = request.eval; - } else { - style.appendChild(document.createTextNode(request.eval)); - } - document.body.appendChild(style); - return {}; -}; - -/** - * Remove all of Skewer's style tags from the document. - */ -skewer.fn.cssClearAll = function(request) { - var styles = document.body.querySelectorAll('style.skewer'); - for (var i = 0; i < styles.length; i++) { - styles[i].parentNode.removeChild(styles[i]); - } - return {}; -}; - -/** - * HTML evaluator, appends or replaces a selection with given HTML. - */ -skewer.fn.html = function(request) { - function buildSelector(ancestry) { - return ancestry.map(function(tag) { - return tag[0] + ':nth-of-type(' + tag[1] + ')'; - }).join(' > '); - } - function query(ancestry) { - return document.querySelector(buildSelector(ancestry)); - } - function htmlToNode(html) { - var wrapper = document.createElement('div'); - wrapper.innerHTML = html; - return wrapper.firstChild; - } - - var target = query(request.ancestry); - - if (target == null) { - /* Determine missing part of the ancestry. */ - var path = request.ancestry.slice(0); // copy - var missing = []; - while (query(path) == null) { - missing.push(path.pop()); - } - - /* Build up the missing elements. */ - target = query(path); - while (missing.length > 0) { - var tag = missing.pop(), - name = tag[0], - nth = tag[1]; - var empty = null; - var count = target.querySelectorAll(name).length; - for (; count < nth; count++) { - empty = document.createElement(tag[0]); - target.appendChild(empty); - } - target = empty; - } - } - - target.parentNode.replaceChild(htmlToNode(request.eval), target); - return {}; -}; - -/** - * Fetch the HTML contents of selector. - */ -skewer.fn.fetchselector = function(request) { - var element = document.querySelector(request.eval); - return { value: element.innerHTML }; -}; - -/** - * Return a list of completions for an object. - */ -skewer.fn.completions = function(request) { - var object = skewer.globalEval(request.eval); - var keys = new Set(); - var regex = new RegExp(request.regexp); - for (var key in object) { - if (regex.test(key)) { - keys.add(key); - } - } - var props = object != null ? Object.getOwnPropertyNames(object) : []; - for (var i = 0; i < props.length; i++) { - if (regex.test(props[i])) { - keys.add(props[i]); - } - } - return { value: Array.from(keys).sort() }; -}; - -/** - * Host of the skewer script (CORS support). - * @type string - */ -(function() { - var script = document.querySelector('script[src$="/skewer"]'); - if (script) { - skewer.host = script.src.match(/\w+:\/\/[^/]+/)[0]; - } else { - skewer.host = ''; // default to the current host - } -}()); - -/** - * Stringify a potentially circular object without throwing an exception. - * @param object The object to be printed. - * @param {boolean} verbose Enable more verbose output. - * @returns {string} The printed object. - */ -skewer.safeStringify = function (object, verbose) { - "use strict"; - var circular = "#"; - var seen = []; - - var stringify = function(obj) { - if (obj === true) { - return "true"; - } else if (obj === false) { - return "false"; - } else if (obj === undefined) { - return "undefined"; - } else if (obj === null) { - return "null"; - } else if (typeof obj === "number") { - return obj.toString(); - } else if (obj instanceof Array) { - if (seen.indexOf(obj) >= 0) { - return circular; - } else { - seen.push(obj); - return "[" + obj.map(function(e) { - return stringify(e); - }).join(", ") + "]"; - } - } else if (typeof obj === "string") { - return JSON.stringify(obj); - } else if (window.Node != null && obj instanceof Node) { - return obj.toString(); // DOM elements can't stringify - } else if (typeof obj === "function") { - if (verbose) - return obj.toString(); - else - return "Function"; - } else if (Object.prototype.toString.call(obj) === '[object Date]') { - if (verbose) - return JSON.stringify(obj); - else - return obj.toString(); - } else { - if (verbose) { - if (seen.indexOf(obj) >= 0) - return circular; - else - seen.push(obj); - var pairs = []; - for (var key in obj) { - if (obj.hasOwnProperty(key)) { - var pair = JSON.stringify(key) + ":"; - pair += stringify(obj[key]); - pairs.push(pair); - } - } - return "{" + pairs.join(',') + "}"; - } else { - try { - return obj.toString(); - } catch (error) { - return ({}).toString(); - } - } - } - }; - - try { - return stringify(object); - } catch (error) { - return skewer.safeStringify(object, false); - } -}; - -/** - * Log an object to the Skewer REPL in Emacs (console.log). - * @param message The object to be logged. - */ -skewer.log = function() { - "use strict"; - for (var i = 0; i < arguments.length; i++) { - var log = { - type: "log", - value: skewer.safeStringify(arguments[i], true) - }; - skewer.postJSON(skewer.host + "/skewer/post", log); - } -}; - -/** - * Report an error event to the REPL. - * @param event An error event object. - */ -skewer.error = function(event) { - "use strict"; - var log = { - type: "error", - value: event.message, - filename: event.filename, - line: event.lineno, - column: event.column - }; - skewer.postJSON(skewer.host + "/skewer/post", log); -}; - -/** - * Prepare a result when an error occurs evaluating Javascript code. - * @param error The error object given by catch. - * @param result The resutl object to return to Emacs. - * @param request The request object from Emacs. - * @return The result object to send back to Emacs. - */ -skewer.errorResult = function(error, result, request) { - "use strict"; - return skewer.extend({}, result, { - value: error.toString(), - status: 'error', - error: { - name: error.name, - stack: error.stack, - type: error.type, - message: error.message, - eval: request.eval - } - }); -}; - -if (window.addEventListener) { - window.addEventListener('error', skewer.error); - if (document.readyState === 'complete') { - skewer(); - } else { - window.addEventListener('load', skewer); - } -} else { // < IE9 - window.attachEvent('onerror', skewer.error); - if (document.readyState === 'complete') { - skewer(); - } else { - window.attachEvent('onload', skewer); - } -} diff --git a/elpa/ssass-mode-20190521.249/ssass-mode-autoloads.el b/elpa/ssass-mode-20190521.249/ssass-mode-autoloads.el deleted file mode 100644 index ad59ac2..0000000 --- a/elpa/ssass-mode-20190521.249/ssass-mode-autoloads.el +++ /dev/null @@ -1,27 +0,0 @@ -;;; ssass-mode-autoloads.el --- automatically extracted autoloads -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "ssass-mode" "ssass-mode.el" (0 0 0 0)) -;;; Generated autoloads from ssass-mode.el - -(autoload 'ssass-mode "ssass-mode" "\ -Major mode for Sass - -\(fn)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ssass-mode" '("ssass-"))) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; ssass-mode-autoloads.el ends here diff --git a/elpa/ssass-mode-20190521.249/ssass-mode-pkg.el b/elpa/ssass-mode-20190521.249/ssass-mode-pkg.el deleted file mode 100644 index b052bcb..0000000 --- a/elpa/ssass-mode-20190521.249/ssass-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "ssass-mode" "20190521.249" "Edit Sass without a Turing Machine" '((emacs "24.3")) :commit "c2c610abd85fecd171466bf5a9a4943bd62ffda5" :keywords '("languages" "sass") :authors '(("Adam Niederer" . "adam.niederer@gmail.com")) :maintainer '("Adam Niederer" . "adam.niederer@gmail.com") :url "http://github.com/AdamNiederer/ssass-mode") diff --git a/elpa/ssass-mode-20190521.249/ssass-mode.el b/elpa/ssass-mode-20190521.249/ssass-mode.el deleted file mode 100644 index 45b6a3f..0000000 --- a/elpa/ssass-mode-20190521.249/ssass-mode.el +++ /dev/null @@ -1,241 +0,0 @@ -;;; ssass-mode.el --- Edit Sass without a Turing Machine - -;; Copyright 2017 Adam Niederer - -;; Author: Adam Niederer -;; URL: http://github.com/AdamNiederer/ssass-mode -;; Package-Version: 20190521.249 -;; Version: 0.2.0 -;; Keywords: languages sass -;; Package-Requires: ((emacs "24.3")) - -;; This program is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: -;; This mode is a clone of sass-mode which works in mmm-mode and doesn't -;; indent things as eagerly. Syntax highlighting is provided with -;; `font-lock-mode'. -;; -;; Exported names start with "ssass-"; private names start with -;; "ssass--". - -;;; Code: - -(defgroup ssass nil - "Major mode for Sass files" - :prefix "ssass-" - :group 'languages - :link '(url-link :tag "Github" "https://github.com/AdamNiederer/ssass-mode") - :link '(emacs-commentary-link :tag "Commentary" "ssass-mode")) - -(defconst ssass-id-regex - "#[a-z][A-Za-z0-9\-]+") - -(defconst ssass-class-regex - "\\.[a-z][A-Za-z0-9\-]+") - -(defconst ssass-pseudoselector-regex - "::?[A-Za-z0-9\-]+") - -(defconst ssass-key-regex - "^\s+[a-z\-]+:") - -(defconst ssass-directive-noindent-regex - "@\\(include\\|extend\\|import\\|warn\\|debug\\|error\\)" - "Matches all directives which do not require indentation.") - -(defconst ssass-variable-regex - "\$[A-Za-z0-9\-]+") - -(defconst ssass-variable-assignment-regex - (concat ssass-variable-regex ":")) - -(defconst ssass-builtin-regex - "@[A-Za-z]+") - -(defconst ssass-comment-regex - "^\s+/[/*].*") ; TODO: Make better or use syntax table - -(defconst ssass-function-regex - "\\([A-Za-z\-]+?\\)\\((.*)\\)") - -(defconst ssass-keywords - '("and" "or" "not" "in" "from" "to" "through")) - -(defconst ssass-control-directives - '("@if" "@else" "@each" "@for")) - -(defconst ssass-function-directives - '("@function" "@return")) - -(defconst ssass-mixin-directives - '("@mixin" "@include")) - -(defconst ssass-constants - '("true" "false" "null")) - -(defconst ssass-bang-regex - "![a-z][A-Za-z0-9]+") - -(defcustom ssass-tab-width 2 - "Tab width for ‘ssass-mode’." - :group 'ssass - :type 'integer) - -(defcustom ssass-indent-blanks t - "Whether to indent blank lines." - :group 'ssass - :type 'boolean) - -(defcustom ssass-compiler "sassc" - "Sass compiler for `ssass-eval-region' and `ssass-eval-buffer'." - :group 'ssass - :type 'string) - -(defcustom ssass-opt "--sass" - "Options for `ssass-compiler'. - -Use --sass for sassc, and --indented-syntax for node-sass." - :group 'ssass - :type 'string) - -(defcustom ssass-color-keys nil - "(TODO) Whether to color proprty names." - :group 'ssass - :type 'boolean) - -(defconst ssass-font-lock-keywords - `((,ssass-id-regex . (0 font-lock-keyword-face)) - (,ssass-class-regex . (0 font-lock-type-face)) - (,ssass-key-regex . (0 font-lock-variable-name-face)) - (,ssass-function-regex . (1 font-lock-function-name-face)) - (,ssass-builtin-regex . (0 font-lock-builtin-face)) - (,ssass-pseudoselector-regex . (0 font-lock-function-name-face)) - (,ssass-variable-regex . (0 font-lock-variable-name-face)) - (,ssass-bang-regex . (0 font-lock-warning-face)) - (,(regexp-opt ssass-keywords 'words) . font-lock-keyword-face) - (,(regexp-opt ssass-control-directives 'words) . font-lock-keyword-face) - (,(regexp-opt ssass-function-directives 'words) . font-lock-keyword-face) - (,(regexp-opt ssass-constants 'words) . font-lock-constant-face)) - "List of Font Lock keywords.") - -(defvar ssass-mode-map - (let ((map (make-keymap))) - (define-key map (kbd "") 'ssass-dedent) - (define-key map (kbd "C-c C-c") 'ssass-eval-buffer) - (define-key map (kbd "C-c C-r") 'ssass-eval-region) - map) - "Keymap for ‘ssass-mode’.") - -(defun ssass--selector-p (line) - "Return whether LINE is a selector." - (not (or (string-empty-p line) - (string-match-p ssass-key-regex line) - (string-match-p ssass-variable-assignment-regex line) - (string-match-p ssass-directive-noindent-regex line) - (string-match-p ssass-comment-regex line)))) - -(defun ssass--goto-last-anchor-line () - "Move point to the line of the last selector, or the beginning of the buffer." - (forward-line -1) - (while (not (or (equal (point-min) (point-at-bol)) - (ssass--selector-p (buffer-substring (point-at-bol) (point-at-eol))))) - (forward-line -1))) - -(defun ssass--last-anchor-line-indent-level () - "Return the number of spaces indenting the line of the last selector." - (save-excursion - (ssass--goto-last-anchor-line) - (ssass--indent-level))) - -(defun ssass--indent-level () - "Return the number of spaces indenting the current line." - (- (save-excursion - (back-to-indentation) - (current-column)) - (save-excursion - (beginning-of-line) - (current-column)))) - -(defun ssass--whitespace-p (line) - "Return whether the line at offset from point LINE consists solely of whitespace." - (save-excursion - (forward-line line) - (string-match-p "^[[:space:]]*$" (buffer-substring (point-at-bol) (point-at-eol))))) - -(defun ssass--comma-before-p () - "Return whether the previous line has a comma at its end." - (save-excursion - (forward-line -1) - (string-match-p ",\\s-*$" (buffer-substring (point-at-bol) (point-at-eol))))) - -(defun ssass--no-anchor-line-p () - "Return whether there is no proper selector or keyword above this line." - (save-excursion - (ssass--goto-last-anchor-line) - (not (ssass--selector-p (buffer-substring (point-at-bol) (point-at-eol)))))) - -(defun ssass-indent () - "Indent the current line." - (interactive) - (indent-line-to - (cond - ((and (not ssass-indent-blanks) (ssass--whitespace-p 0)) 0) - ((ssass--whitespace-p -1) 0) - ((ssass--no-anchor-line-p) 0) - ((ssass--comma-before-p) (ssass--last-anchor-line-indent-level)) - (t (+ ssass-tab-width (ssass--last-anchor-line-indent-level)))))) - -(defun ssass-dedent () - "Remove one level of indentation from the current line." - (interactive) - (indent-line-to (max 0 (- (ssass--indent-level) ssass-tab-width)))) - -(defun ssass-eval-file (&optional filename) - "Run the given file through sass, and display the output in another window. - -If FILENAME is nil, it will open the current buffer's file" - (interactive) - (when (buffer-live-p (get-buffer "*sass*")) - (kill-buffer "*sass*")) - (start-process "sass" "*sass*" ssass-compiler ssass-opt (or filename (buffer-file-name))) - (switch-to-buffer-other-window "*sass*") - (special-mode)) - -(defun ssass-eval-region (beg end) - "Run the region from BEG to END through sass, and display the output in another window." - (interactive "r") - (let ((tmp-file (make-temp-file "sass-eval" nil ".sass"))) - (write-region beg end tmp-file nil nil nil nil) - (ssass-eval-file tmp-file) - (delete-file tmp-file)) ) - -(defun ssass-eval-buffer () - "Run the current buffer through sass, and display the output in another window." - (interactive) - (ssass-eval-region (point-min) (point-max))) - -;;;###autoload -(define-derived-mode ssass-mode prog-mode "Ssass" - "Major mode for Sass" - (setq-local electric-indent-mode nil) - (set (make-local-variable 'tab-width) ssass-tab-width) - (set (make-local-variable 'indent-line-function) 'ssass-indent) - (font-lock-add-keywords nil ssass-font-lock-keywords) - (modify-syntax-entry ?/ ". 124" ssass-mode-syntax-table) - (modify-syntax-entry ?* ". 23b" ssass-mode-syntax-table) - (modify-syntax-entry ?\n ">" ssass-mode-syntax-table)) - -(provide 'ssass-mode) -;;; ssass-mode.el ends here diff --git a/elpa/ssass-mode-20190521.249/ssass-mode.elc b/elpa/ssass-mode-20190521.249/ssass-mode.elc deleted file mode 100644 index 28e05c3..0000000 Binary files a/elpa/ssass-mode-20190521.249/ssass-mode.elc and /dev/null differ diff --git a/elpa/tide-20191201.727/tide-autoloads.el b/elpa/tide-20191201.727/tide-autoloads.el deleted file mode 100644 index e0ee09c..0000000 --- a/elpa/tide-20191201.727/tide-autoloads.el +++ /dev/null @@ -1,82 +0,0 @@ -;;; tide-autoloads.el --- automatically extracted autoloads -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "tide" "tide.el" (0 0 0 0)) -;;; Generated autoloads from tide.el - -(autoload 'company-tide "tide" "\ - - -\(fn COMMAND &optional ARG &rest IGNORED)" t nil) - -(autoload 'tide-format-before-save "tide" "\ -Before save hook to format the buffer before each save. - -\(fn)" t nil) - -(autoload 'tide-format "tide" "\ -Format the current region or buffer. - -\(fn)" t nil) - -(autoload 'tide-setup "tide" "\ -Setup `tide-mode' in current buffer. - -\(fn)" t nil) - -(autoload 'tide-mode "tide" "\ -Minor mode for Typescript Interactive Development Environment. - -\\{tide-mode-map} - -\(fn &optional ARG)" t nil) - -(autoload 'tide-project-errors "tide" "\ - - -\(fn)" t nil) - -(autoload 'tide-unhighlight-identifiers "tide" "\ -Remove highlights from previously highlighted identifier. - -\(fn)" nil nil) - -(autoload 'tide-hl-identifier "tide" "\ -Highlight all instances of the identifier under point. Removes -highlights from previously highlighted identifier. - -\(fn)" t nil) - -(autoload 'tide-hl-identifier-mode "tide" "\ -Highlight instances of the identifier at point after a short -timeout. - -\(fn &optional ARG)" t nil) - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "tide" '("tide-"))) - -;;;*** - -;;;### (autoloads nil "tide-lv" "tide-lv.el" (0 0 0 0)) -;;; Generated autoloads from tide-lv.el - -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "tide-lv" '("tide-lv-"))) - -;;;*** - -;;;### (autoloads nil nil ("tide-pkg.el") (0 0 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; tide-autoloads.el ends here diff --git a/elpa/tide-20191201.727/tide-lv.el b/elpa/tide-20191201.727/tide-lv.el deleted file mode 100644 index 963c05a..0000000 --- a/elpa/tide-20191201.727/tide-lv.el +++ /dev/null @@ -1,89 +0,0 @@ -;;; tide-lv.el --- Other echo area - -;; Copyright (C) 2015 Free Software Foundation, Inc. - -;; Author: Oleh Krehel - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: -;; -;; This package provides `tide-lv-message' intended to be used in place of -;; `message' when semi-permanent hints are needed, in order to not -;; interfere with Echo "Я тихо-тихо пiдглядаю, -;; І тiшуся собi, як бачу то, -;; Шо страшить i не пiдпускає, -;; А iншi п’ють тебе, як воду пiсок." L.V. -;; -;; -;; Modified version of lv.el from github.com/abo-abo/hydra - -;;; Code: - -(defvar tide-lv-buffer-name " *tide-LV*") - -(defvar tide-lv-wnd nil - "Holds the current LV window.") - -(defun tide-lv-window () - "Ensure that LV window is live and return it." - (if (window-live-p tide-lv-wnd) - tide-lv-wnd - (let ((ori (selected-window)) - buf) - (prog1 (setq tide-lv-wnd - (select-window - (let ((ignore-window-parameters t)) - (split-window - (frame-root-window) -1 'below)))) - (if (setq buf (get-buffer tide-lv-buffer-name)) - (switch-to-buffer buf) - (switch-to-buffer tide-lv-buffer-name) - (set-window-hscroll tide-lv-wnd 0) - (setq window-size-fixed t) - (setq mode-line-format nil) - (setq cursor-type nil) - (set-window-dedicated-p tide-lv-wnd t) - (set-window-parameter tide-lv-wnd 'no-other-window t)) - (select-window ori))))) - -(defun tide-lv-message (format-string &rest args) - "Set LV window contents to (`format' FORMAT-STRING ARGS)." - (let* ((str (apply #'format format-string args)) - (n-lines (cl-count ?\n str)) - deactivate-mark - golden-ratio-mode) - (with-selected-window (tide-lv-window) - (unless (string= (buffer-string) str) - (delete-region (point-min) (point-max)) - (insert str) - (set (make-local-variable 'window-min-height) n-lines) - (setq truncate-lines (> n-lines 1)) - (let ((window-resize-pixelwise t) - (window-size-fixed nil)) - (fit-window-to-buffer nil nil 1))) - (goto-char (point-min))))) - -(defun tide-lv-delete-window () - "Delete LV window and kill its buffer." - (when (window-live-p tide-lv-wnd) - (let ((buf (window-buffer tide-lv-wnd))) - (delete-window tide-lv-wnd) - (kill-buffer buf)))) - -(provide 'tide-lv) - -;;; tide-lv.el ends here diff --git a/elpa/tide-20191201.727/tide-lv.elc b/elpa/tide-20191201.727/tide-lv.elc deleted file mode 100644 index 27cddea..0000000 Binary files a/elpa/tide-20191201.727/tide-lv.elc and /dev/null differ diff --git a/elpa/tide-20191201.727/tide-pkg.el b/elpa/tide-20191201.727/tide-pkg.el deleted file mode 100644 index fd5aa1d..0000000 --- a/elpa/tide-20191201.727/tide-pkg.el +++ /dev/null @@ -1,16 +0,0 @@ -(define-package "tide" "20191201.727" "Typescript Interactive Development Environment" - '((dash "2.10.0") - (s "1.11.0") - (flycheck "27") - (typescript-mode "0.1") - (cl-lib "0.5")) - :keywords - '("typescript") - :authors - '(("Anantha kumaran" . "ananthakumaran@gmail.com")) - :maintainer - '("Anantha kumaran" . "ananthakumaran@gmail.com") - :url "http://github.com/ananthakumaran/tide") -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/tide-20191201.727/tide.el b/elpa/tide-20191201.727/tide.el deleted file mode 100644 index b634fb0..0000000 --- a/elpa/tide-20191201.727/tide.el +++ /dev/null @@ -1,2694 +0,0 @@ -;;; tide.el --- Typescript Interactive Development Environment -*- lexical-binding: t -*- - -;; Copyright (C) 2015 Anantha Kumaran. - -;; Author: Anantha kumaran -;; URL: http://github.com/ananthakumaran/tide -;; Version: 3.6.2 -;; Keywords: typescript -;; Package-Requires: ((dash "2.10.0") (s "1.11.0") (flycheck "27") (typescript-mode "0.1") (cl-lib "0.5")) - -;; This program is free software: you can redistribute it and/or modify it -;; under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;; This file is not part of GNU Emacs. - -;;; Commentary: - -;;; Code: - -(require 'typescript-mode) -(require 'etags) -(require 'json) -(require 'cl-lib) -(require 'eldoc) -(require 'dash) -(require 's) -(require 'flycheck) -(require 'imenu) -(require 'thingatpt) -(require 'tide-lv) -(require 'tabulated-list) - -;; Silence compiler warnings - -(defvar js2-basic-offset) -(defvar js-indent-level) -(defvar js3-indent-level) -(defvar web-mode-code-indent-offset) -(defvar sgml-basic-offset) -(defvar company-backends) - -(declare-function company-grab "company.el" (regexp &optional expression limit)) -(declare-function company-grab-symbol-cons "company.el" (idle-begin-after-re &optional max-len)) -(declare-function company-begin-backend "company.el" (backend &optional callback)) -(declare-function company-in-string-or-comment "company.el" nil) - -(defgroup tide nil - "TypeScript Interactive Development Environment." - :prefix "tide-" - :group 'tools) - -(defcustom tide-sync-request-timeout 2 - "The number of seconds to wait for a sync response." - :type 'integer - :group 'tide) - -(defcustom tide-tsserver-process-environment '() - "List of extra environment variables to use when starting tsserver." - :type '(repeat string) - :group 'tide) - -(defcustom tide-tsserver-executable nil - "Name of tsserver executable to run instead of the bundled tsserver. - -This may either be an absolute path or a relative path. Relative -paths are resolved against the project root directory. - -Note that this option only works with TypeScript version 2.0 and -above." - :type '(choice (const nil) string) - :group 'tide) - -(defcustom tide-tscompiler-executable nil - "Name of tsc executable. - -This may either be an absolute path or a relative path. Relative -paths are resolved against the project root directory." - :type '(choice (const nil) string) - :group 'tide) - -(defcustom tide-node-executable "node" - "Name or path of the node executable binary file." - :type '(choice (const nil) string) - :group 'tide) - -(defcustom tide-post-code-edit-hook nil - "Hook run after code edits are applied in a buffer." - :type 'hook - :group 'tide) - -(defcustom tide-sort-completions-by-kind nil - "Whether completions should be sorted by kind." - :type 'boolean - :group 'tide) - -(defcustom tide-format-options '() - "Format options plist." - :type '(plist :value-type sexp) - :group 'tide) - -(defcustom tide-user-preferences - '(:includeCompletionsForModuleExports t :includeCompletionsWithInsertText t :allowTextChangesInNewFiles t) - "User preference plist used on the configure request. - -Check https://github.com/Microsoft/TypeScript/blob/17eaf50b/src/server/protocol.ts#L2684 -for the full list of available options." - :type '(plist :value-type sexp) - :group 'tide) - -(defcustom tide-disable-suggestions nil - "Disable suggestions. - -If set to non-nil, suggestions will not be shown in flycheck -errors and tide-project-errors buffer." - :type 'boolean - :group 'tide) - -(defcustom tide-completion-ignore-case nil - "CASE will be ignored in completion if set to non-nil." - :type 'boolean - :group 'tide) - -(defcustom tide-completion-detailed nil - "Completion dropdown will contain detailed method information if set to non-nil." - :type 'boolean - :group 'tide) - -(defcustom tide-completion-enable-autoimport-suggestions t - "Whether to include external module exports in completions." - :type 'boolean - :group 'tide) - -(defcustom tide-navto-item-filter #'tide-navto-item-filter-default - "The filter for items returned by tide-nav. Defaults to class, interface, type, enum" - :type 'function - :group 'tide) - -(defface tide-file - '((t (:inherit font-lock-type-face))) - "Face for file names in references output." - :group 'tide) - -(defface tide-line-number - '((t (:inherit compilation-line-number))) - "Face for line numbers in references output." - :group 'tide) - -(defface tide-match - '((t (:inherit match))) - "Face for matched symbol in references output." - :group 'tide) - -(defface tide-imenu-type-face - '((t (:inherit font-lock-type-face))) - "Face for type in imenu list." - :group 'tide) - -(defface tide-choice-face - '((t (:inherit font-lock-warning-face))) - "Face for choices used in popup window." - :group 'tide) - -(defcustom tide-jump-to-definition-reuse-window t - "Reuse existing window when jumping to definition." - :type 'boolean - :group 'tide) - -(defcustom tide-imenu-flatten nil - "Imenu index will be flattened if set to non-nil." - :type 'boolean - :group 'tide) - -(defcustom tide-allow-popup-select '(code-fix refactor) - "The list of commands where popup selection is allowed." - :type '(set (const code-fix) (const jump-to-implementation) (const refactor)) - :group 'tide) - -(defcustom tide-always-show-documentation nil - "Show the documentation window even if only type information is available." - :type 'boolean - :group 'tide) - -(defcustom tide-server-max-response-length 102400 - "Maximum allowed response length from tsserver. Any response greater than this would be ignored." - :type 'integer - :group 'tide) - -(defcustom tide-tsserver-locator-function #'tide-tsserver-locater-npmlocal-projectile-npmglobal - "Function used by tide to locate tsserver." - :type 'function - :group 'tide) - -(defcustom tide-default-mode "TS" - "The default mode to open buffers not backed by files (e.g. Org -source blocks) in." - :type '(choice (const "TS") (const "TSX") (const "JS")(const "JSX")) - :group 'tide) - -(defcustom tide-recenter-after-jump t - "Recenter buffer after jumping to definition" - :type 'boolean - :group 'tide) - -(defcustom tide-jump-to-fallback #'tide-jump-to-fallback-not-given - "The fallback jump function to use when implementations aren't available." - :type 'function - :group 'tide) - -(defcustom tide-filter-out-warning-completions nil - "Completions whose `:kind' property is \"warning\" will be filtered out if set to non-nil. -This option is useful for Javascript code completion, because tsserver often returns a lot of irrelevant -completions whose `:kind' property is \"warning\" for Javascript code. You can fix this behavior by setting -this variable to non-nil value for Javascript buffers using `setq-local' macro." - :type 'boolean - :group 'tide - :safe #'booleanp) - -(defconst tide--minimal-emacs - "24.4" - "This is the oldest version of Emacs that tide supports.") - -(defmacro tide-def-permanent-buffer-local (name &optional init-value) - "Declare NAME as buffer local variable." - `(progn - (defvar ,name ,init-value) - (make-variable-buffer-local ',name) - (put ',name 'permanent-local t))) - -(defvar tide-supported-modes '(typescript-mode web-mode js-mode js2-mode js2-jsx-mode js3-mode rjsx-mode)) - -(defvar tide-server-buffer-name "*tide-server*") -(defvar tide-request-counter 0) -(defvar tide-project-configs (make-hash-table :test 'equal)) -(defvar tide-max-response-length-error-message - "Response length from tsserver is greater than maximum allowed response.") - -(tide-def-permanent-buffer-local tide-project-root nil) -(tide-def-permanent-buffer-local tide-buffer-dirty nil) -(tide-def-permanent-buffer-local tide-buffer-tmp-file nil) -(tide-def-permanent-buffer-local tide-active-buffer-file-name nil) -(tide-def-permanent-buffer-local tide-require-manual-setup nil) - -(defvar tide-servers (make-hash-table :test 'equal)) -(defvar tide-response-callbacks (make-hash-table :test 'equal)) - -(defvar tide-source-root-directory (file-name-directory (or load-file-name buffer-file-name))) -(defvar tide-tsserver-directory (expand-file-name "tsserver" tide-source-root-directory)) - -(defun tide-project-root () - "Project root folder determined based on the presence of tsconfig.json." - (or - tide-project-root - (let ((root (or (locate-dominating-file default-directory "tsconfig.json") - (locate-dominating-file default-directory "jsconfig.json")))) - (unless root - (message (tide-join (list "Couldn't locate project root folder with" - " a tsconfig.json or jsconfig.json file. Using '" - default-directory "' as project root."))) - (setq root default-directory)) - (let ((full-path (expand-file-name root))) - (setq tide-project-root full-path) - full-path)))) - -(defun tide-project-name () - (let ((full-path (directory-file-name (tide-project-root)))) - (concat (file-name-nondirectory full-path) "-" (substring (md5 full-path) 0 10)))) - -(defun tide-buffer-file-name () - "Returns the path to either the currently open file or the -current buffer's parent. This is needed to support indirect -buffers, as they don't set `buffer-file-name' correctly." - (buffer-file-name (or (and (bound-and-true-p edit-indirect--overlay) - (overlay-buffer edit-indirect--overlay)) - (and (bound-and-true-p org-src--overlay) - (overlay-buffer org-src--overlay)) - ;; Needed for org-mode 8.x compatibility - (and (bound-and-true-p org-edit-src-overlay) - (overlay-buffer org-edit-src-overlay)) - (buffer-base-buffer)))) - -;;; Compatibility - -(defvar tide-tsserver-unsupported-commands (make-hash-table :test 'equal)) - -(defun tide-mark-as-unsupported (command) - (puthash - (tide-project-name) - (cl-pushnew - command - (gethash (tide-project-name) tide-tsserver-unsupported-commands '())) - tide-tsserver-unsupported-commands)) - -(defun tide-unsupported-p (command) - (member command (gethash (tide-project-name) tide-tsserver-unsupported-commands '()))) - -(defmacro tide-fallback-if-not-supported (new-command new old cb) - `(if (tide-unsupported-p ,new-command) - (,old ,cb) - (,new - (lambda (response) - (if (tide-command-unknown-p response) - (progn - (tide-mark-as-unsupported ,new-command) - (,old ,cb)) - (funcall ,cb response)))))) - -(defun tide--emacs-at-least (version) - "Return t if Emacs is at least at version VERSION. Return nil, otherwise." - (not (version< emacs-version version))) - -;;; Helpers - -(defun tide-safe-json-read-file (filename) - (condition-case nil - (let ((json-object-type 'plist)) - (json-read-file filename)) - (error '()))) - -(defun tide-safe-json-read-string (string) - (condition-case nil - (let ((json-object-type 'plist)) - (json-read-from-string string)) - (error '()))) - -(defun tide-plist-get (list &rest args) - (cl-reduce - (lambda (object key) - (when object - (plist-get object key))) - args - :initial-value list)) - -(eval-and-compile - (defun tide-plist-map (fn plist) - (when (and plist (not (cl-evenp (length plist)))) - (error "Invalid plist %S" plist)) - (-map (-lambda ((key value)) (funcall fn key value)) (-partition 2 plist)))) - - -(defun tide-combine-plists (&rest plists) - "Create a single property list from all plists in PLISTS. -The process starts by copying the first list, and then setting properties -from the other lists. Settings in the last list are the most significant -ones and overrule settings in the other lists." - (let ((rtn (copy-sequence (pop plists))) - p v ls) - (while plists - (setq ls (pop plists)) - (while ls - (setq p (pop ls) v (pop ls)) - (setq rtn (plist-put rtn p v)))) - rtn)) - -(defun tide-get-file-buffer (file &optional new-file) - "Returns a buffer associated with a file. This will return the -current buffer if it matches `file'. This way we can support -temporary and indirect buffers." - (cond - ((equal file (tide-buffer-file-name)) (current-buffer)) - ((file-exists-p file) (find-file-noselect file)) - (new-file (let ((buffer (create-file-buffer file))) - (with-current-buffer buffer - (set-visited-file-name file) - (basic-save-buffer) - (display-buffer buffer t)) - buffer)) - (t (error "Invalid file %S" file)))) - -(defun tide-response-success-p (response) - (and response (equal (plist-get response :success) t))) - -(defun tide-command-unknown-p (response) - (and response (string-equal (plist-get response :command) "unknown"))) - -(defun tide-tsserver-version-not-supported () - (error "Only tsserver 2.0 or greater is supported. Upgrade your tsserver or use older version of tide.")) - -(defun tide-tsserver-feature-not-supported (min-version) - (error "tsserver %S or greater is required for this feature." min-version)) - -(defmacro tide-on-response-success (response &optional options &rest body) - "BODY must be a single expression if OPTIONS is not passed." - (declare (indent 2)) - (unless body - (setq body `(,options)) - (setq options '())) - (tide-plist-map - (lambda (key _value) - (unless (member key '(:ignore-empty :min-version)) - (error "Invalid options %S" options))) - options) - (let ((ignore-empty-response (plist-get options :ignore-empty)) - (min-version (plist-get options :min-version))) - `(cond ((and ,min-version (tide-command-unknown-p ,response)) (tide-tsserver-feature-not-supported ,min-version)) - ((tide-response-success-p ,response) - (progn - ,@body)) - (t - (-when-let (msg (plist-get ,response :message)) - (unless (and ,ignore-empty-response (string-equal msg "No content available.")) - (message "%s" msg)) - nil))))) - -(defmacro tide-on-response-success-callback (response &optional options &rest body) - (declare (indent 2)) - `(lambda (,response) - (tide-on-response-success ,response ,options - ,@body))) - -(defun tide-join (list) - (mapconcat 'identity list "")) - -(defun tide-each-buffer (project-name fn) - "Callback FN for each buffer within PROJECT-NAME with tide-mode enabled." - (-each (buffer-list) - (lambda (buffer) - (with-current-buffer buffer - (when (and (bound-and-true-p tide-mode) - (equal (tide-project-name) project-name)) - (funcall fn)))))) - -(defun tide-first-buffer (project-name fn) - "Callback FN for the first buffer within PROJECT-NAME with tide-mode enabled." - (-when-let (buffer (-first (lambda (buffer) - (with-current-buffer buffer - (and (bound-and-true-p tide-mode) - (equal (tide-project-name) project-name)))) - (buffer-list))) - (with-current-buffer buffer - (funcall fn)))) - -(defun tide-line-number-at-pos (&optional pos) - (let ((p (or pos (point)))) - (if (= (point-min) 1) - (line-number-at-pos p) - (save-excursion - (save-restriction - (widen) - (line-number-at-pos p)))))) - -(defun tide-current-offset () - "Number of characters present from the begining of line to cursor in current line. - -Offset is one based." - (1+ (- (point) (line-beginning-position)))) - -(defun tide-offset (pos) - (save-excursion - (save-restriction - (widen) - (goto-char pos) - (tide-current-offset)))) - -(defun tide-column (line offset) - "Return column number corresponds to the LINE and OFFSET. - -LINE is one based, OFFSET is one based and column is zero based" - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (forward-line (1- line)) - (forward-char (1- offset)) - (1+ (current-column))))) - -(defun tide-span-to-position (span) - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (forward-line (1- (plist-get span :line))) - (beginning-of-line) - (forward-char (1- (plist-get span :offset))) - (point)))) - -(defun tide-display-help-buffer (feature body) - (let ((buffer (tide-make-help-buffer feature body))) - (display-buffer buffer t) - (if help-window-select - (progn - (pop-to-buffer buffer) - (message "Type \"q\" to restore previous buffer")) - (message (concat "Type \"q\" in the " feature " buffer to close it"))))) - -(defun tide-make-help-buffer (feature body) - (with-current-buffer (get-buffer-create (concat "*tide-" feature "*")) - (setq buffer-read-only t) - (let ((inhibit-read-only t)) - (erase-buffer) - (when body - (save-excursion - (tide-insert body)))) - (local-set-key (kbd "q") #'quit-window) - (current-buffer))) - - -(defvar tide-alphabets '(?a ?s ?d ?f ?j ?k ?l)) - -(defun tide-popup-select-item (prompt list) - (let ((hints (-map-indexed - (lambda (i item) - (concat (propertize (char-to-string (nth i tide-alphabets)) 'face 'tide-choice-face) - " " - item)) - list))) - (unwind-protect - (progn - (tide-lv-message (mapconcat 'identity hints "\n")) - (let ((selected (read-char-choice prompt (-take (length list) tide-alphabets)))) - (nth (-find-index (lambda (char) (eql selected char)) tide-alphabets) list))) - (tide-lv-delete-window)))) - -(defun tide-completing-read-select-item (prompt list) - (completing-read prompt list nil t)) - -(defun tide-can-use-popup-p (feature) - (member feature tide-allow-popup-select)) - -(defun tide-select-item-from-list (prompt list label-fn allow-popup) - (let ((collection (make-hash-table :test 'equal))) - (dolist (item list) - (puthash (funcall label-fn item) item collection)) - (let ((selected-text - (if (and (<= (length list) (length tide-alphabets)) allow-popup) - (tide-popup-select-item prompt (hash-table-keys collection)) - (tide-completing-read-select-item prompt (hash-table-keys collection))))) - (gethash selected-text collection)))) - - -(defun tide-command-to-string (program args) - (with-temp-buffer - (apply #'process-file (-concat (list program nil t nil) args)) - (buffer-string))) - -;;; Events - -(defvar tide-event-listeners (make-hash-table :test 'equal)) - -(defun tide-set-event-listener (listener) - (puthash (tide-project-name) (cons (current-buffer) listener) tide-event-listeners)) - -(defun tide-clear-event-listener () - (remhash (tide-project-name) tide-event-listeners)) - -;;; Server - -(defun tide-current-server () - (gethash (tide-project-name) tide-servers)) - -(defun tide-next-request-id () - (number-to-string (cl-incf tide-request-counter))) - -(defun tide-dispatch-response (response) - (let* ((request-id (plist-get response :request_seq)) - (callback (gethash request-id tide-response-callbacks))) - (when callback - (let ((buffer (car callback))) - (when (buffer-live-p buffer) - (with-current-buffer buffer - (apply (cdr callback) (list response))))) - (remhash request-id tide-response-callbacks)))) - -(defun tide-dispatch-event (event) - (-when-let (listener (gethash (tide-project-name) tide-event-listeners)) - (with-current-buffer (car listener) - (apply (cdr listener) (list event))))) - -(defun tide-dispatch (response) - (cl-case (intern (plist-get response :type)) - ((response) (tide-dispatch-response response)) - ((event) (tide-dispatch-event response)))) - -(defun tide-send-command (name args &optional callback) - (unless (tide-current-server) - (error "Server does not exist. Run M-x tide-restart-server to start it again")) - - (tide-sync-buffer-contents) - - (let* ((request-id (tide-next-request-id)) - (command `(:command ,name :seq ,request-id :arguments ,args)) - (json-encoding-pretty-print nil) - (encoded-command (json-encode command)) - (payload (concat encoded-command "\n"))) - (process-send-string (tide-current-server) payload) - (when callback - (puthash request-id (cons (current-buffer) callback) tide-response-callbacks)))) - -(defun tide-send-command-sync (name args) - (let* ((start-time (current-time)) - (response nil)) - (tide-send-command name args (lambda (resp) (setq response resp))) - (while (not response) - (accept-process-output nil 0.01) - (when (> (cadr (time-subtract (current-time) start-time)) - tide-sync-request-timeout) - (error "Sync request timed out %s" name))) - response)) - -(defun tide-net-filter (process data) - (with-current-buffer (process-buffer process) - (goto-char (point-max)) - (insert data)) - (tide-decode-response process)) - -(defun tide-net-sentinel (process message) - (let ((project-name (process-get process 'project-name))) - (message "(%s) tsserver exits: %s." project-name (string-trim message)) - (ignore-errors - (kill-buffer (process-buffer process))) - (tide-cleanup-project project-name))) - -(defun tide--npm-local () - "Return a single path to the package-local typescript package directory or nil." - - (-when-let (packages-folder (locate-dominating-file default-directory "package.json")) - (concat packages-folder "node_modules/typescript/lib/"))) - -(defun tide--npm-global () - "Return a single path to the global typescript package directory or nil." - - (if (eq system-type 'windows-nt) - (concat (getenv "appdata") "\\npm\\node_modules") - "/usr/lib/node_modules/typescript/lib/")) - -(defun tide--npm-global-usrlocal () - "Return a single path to the global typescript package directory or nil." - - ;; this check does not apply to windows. - (if (eq system-type 'windows-nt) - nil - "/usr/local/lib/node_modules/typescript/lib/")) - -(defun tide--project-package () - "Return the package's node_module bin directory using projectile's project root or nil." - (when (and (functionp 'projectile-project-p) - (functionp 'projectile-project-root) - (projectile-project-p)) - (concat (projectile-project-root) "node_modules/typescript/lib"))) - -(defconst tide--tscompiler "tsc.js" - "File-name of the typescript compiler.") - -(defun tide--locate-tscompiler (path) - "Locate the typescript compiler in PATH. -Return a string representing the existing full path or nil." - (let ((exe (expand-file-name tide--tscompiler path))) - (when (file-exists-p exe) exe))) - -(defun tide-tscompiler-locater-npmlocal-projectile-npmglobal () - "Locate tsserver through project-local or global system settings." - (or - (tide--locate-tscompiler (tide--npm-local)) - (tide--locate-tscompiler (tide--project-package)) - (tide--locate-tscompiler (tide--npm-global)) - (tide--locate-tscompiler (tide--npm-global-usrlocal)))) - -(defun tide-locate-tscompiler-executable () - "Locate the typescript compiler executable. -If TIDE-TSCOMPILER-EXECUTABLE is set by the user use it. Otherwise check in the -npm local package directory, in the project root as defined by projectile, and -in the npm global installation." - (or - (and tide-tscompiler-executable (expand-file-name tide-tscompiler-executable)) - (tide-tscompiler-locater-npmlocal-projectile-npmglobal))) - -(defconst tide--tsserver "tsserver.js" - "File-name of the file that node executes to start the typescript server.") - -(defun tide--locate-tsserver (path) - "Locate the typescript server in PATH. -Return a string representing the existing full path or nil." - (let ((exe (expand-file-name tide--tsserver path))) - (when (file-exists-p exe) exe))) - -(defun tide-tsserver-locater-npmlocal-projectile-npmglobal () - "Locate tsserver through project-local or global system settings." - (or - (tide--locate-tsserver (tide--npm-local)) - (tide--locate-tsserver (tide--project-package)) - (tide--locate-tsserver (tide--npm-global)) - (tide--locate-tsserver (tide--npm-global-usrlocal)))) - -(defun tide-locate-tsserver-executable () - "Locate the typescript server executable. -If TIDE-TSSERVER-EXECUTABLE is set by the user use it. Otherwise check in the -npm local package directory, in the project root as defined by projectile, and -in the npm global installation. If nothing is found use the bundled version." - (or - (and tide-tsserver-executable (expand-file-name tide-tsserver-executable)) - (funcall tide-tsserver-locator-function) - (expand-file-name tide--tsserver tide-tsserver-directory))) - -(defun tide-start-server () - (when (tide-current-server) - (error "Server already exist")) - - (message "(%s) Starting tsserver..." (tide-project-name)) - (let* ((default-directory (tide-project-root)) - (process-environment (append tide-tsserver-process-environment process-environment)) - (buf (generate-new-buffer tide-server-buffer-name)) - (tsserverjs (tide-locate-tsserver-executable)) - ;; Use a pipe to communicate with the subprocess. This fixes a hang - ;; when a >1k message is sent on macOS. - (process-connection-type nil) - (process - (start-file-process "tsserver" buf tide-node-executable tsserverjs))) - (set-process-coding-system process 'utf-8-unix 'utf-8-unix) - (set-process-filter process #'tide-net-filter) - (set-process-sentinel process #'tide-net-sentinel) - (set-process-query-on-exit-flag process nil) - (with-current-buffer (process-buffer process) - (buffer-disable-undo)) - (process-put process 'project-name (tide-project-name)) - (process-put process 'project-root default-directory) - (puthash (tide-project-name) process tide-servers) - (message "(%s) tsserver server started successfully." (tide-project-name)))) - -(defun tide-cleanup-buffer-callbacks () - (let ((error-response `(:success ,nil))) - (maphash - (lambda (id callback) - (when (equal (current-buffer) (car callback)) - (funcall (cdr callback) error-response) - (remhash id tide-response-callbacks))) - tide-response-callbacks))) - -(defun tide-cleanup-project (project-name) - (tide-each-buffer project-name - (lambda () - (tide-cleanup-buffer-callbacks))) - (remhash project-name tide-servers) - (remhash project-name tide-tsserver-unsupported-commands) - (remhash project-name tide-project-configs)) - -(defun tide-start-server-if-required () - (unless (tide-current-server) - (tide-start-server))) - -(defun tide-decode-response-legth () - (goto-char (point-min)) - (when (re-search-forward "Content-Length: \\([0-9]+\\)" nil t) - (string-to-number (match-string 1)))) - -(defun tide-enough-response-p (length) - (save-excursion - (when (search-forward "{" nil t) - (backward-char 1) - (>= (- (position-bytes (point-max)) (position-bytes (point))) (1- length))))) - -(defun tide-decode-response (process) - (with-current-buffer (process-buffer process) - (let ((length (tide-decode-response-legth)) - (json-object-type 'plist) - (json-array-type 'list)) - (when (and length (tide-enough-response-p length)) - (search-forward "{") - (backward-char 1) - (let ((response (if (> length tide-server-max-response-length) - (let ((seq (when (re-search-forward "\"request_seq\":\"\\([0-9]+\\)\"" nil t) - (match-string 1)))) - (forward-line 1) - (and seq - `(:success :json-false :type "response" - :message ,tide-max-response-length-error-message - :request_seq ,seq))) - (json-read-object)))) - (delete-region (point-min) (point)) - (when response - (tide-dispatch response))) - (when (>= (buffer-size) 16) - (tide-decode-response process)))))) - -;;; Initialization - -(defun tide-file-format-options () - (tide-combine-plists - `(:tabSize ,tab-width :indentSize ,(tide-current-indentsize)) - tide-format-options - (tide-tsfmt-options))) - -(defun tide-tsfmt-options () - (let ((config-file (expand-file-name "tsfmt.json" (tide-project-root)))) - (when (file-exists-p config-file) - (tide-safe-json-read-file config-file)))) - -(defun tide-current-indentsize () - (pcase major-mode - (`typescript-mode typescript-indent-level) - (`js2-mode js2-basic-offset) - (`js-mode js-indent-level) - (`js3-mode js3-indent-level) - (`web-mode web-mode-code-indent-offset) - (`js2-jsx-mode sgml-basic-offset) - (`rjsx-mode sgml-basic-offset) - (_ standard-indent))) - -(defun tide-command:configure () - (tide-send-command - "configure" - `(:hostInfo ,(emacs-version) :file ,(tide-buffer-file-name) - :formatOptions ,(tide-file-format-options) :preferences ,tide-user-preferences))) - -(defun tide-command:projectInfo (cb &optional need-file-name-list) - (tide-send-command "projectInfo" `(:file ,(tide-buffer-file-name) :needFileNameList ,need-file-name-list) cb)) - -(defun tide-command:openfile () - (tide-send-command "open" - (if tide-require-manual-setup - `(:file - ,(tide-buffer-file-name) - :scriptKindName ,tide-default-mode - :fileContent ,(buffer-string)) - (append `(:file ,(tide-buffer-file-name)) - (let ((extension (upcase (file-name-extension (tide-buffer-file-name))))) - (when (member extension '("TS" "JS" "TSX" "JSX")) - `(:scriptKindName ,extension))))))) - -(defun tide-command:closefile () - (tide-send-command "close" `(:file ,(tide-buffer-file-name)))) - -;;; Jump to definition - -(defun tide-command:definition (cb) - (tide-send-command - "definition" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)) - cb)) - -(defun tide-command:typeDefinition (cb) - (tide-send-command - "typeDefinition" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)) - cb)) - -(defun tide-jump-to-definition (&optional arg) - "Jump to the definition of the symbol at point. - -If pointed at an abstract member-declaration, will proceed to look for -implementations. When invoked with a prefix arg, jump to the type definition." - (interactive "P") - (let ((cb (lambda (response) - (tide-on-response-success response - (-when-let (filespan (car (plist-get response :body))) - ;; if we're still at the same location... - ;; maybe we're a abstract member which has implementations? - (if (and (not arg) - (tide-filespan-is-current-location-p filespan)) - (tide-jump-to-implementation) - (tide-jump-to-filespan filespan tide-jump-to-definition-reuse-window))))))) - (if arg - (tide-command:typeDefinition cb) - (tide-command:definition cb)))) - -(defun tide-filespan-is-current-location-p (filespan) - (let* ((location (plist-get filespan :start)) - (new-file-name (plist-get filespan :file))) - (and (string-equal new-file-name (tide-buffer-file-name)) - (equal (tide-location-to-point location) (point))))) - -(defun tide-move-to-location (location) - (let* ((line (plist-get location :line)) - (offset (plist-get location :offset))) - (save-restriction - (widen) - (goto-char (point-min)) - (forward-line (1- line))) - (unless (and (= offset 0) (= line 0)) - (forward-char (1- offset))))) - -(defun tide-location-to-point (location) - (save-excursion - (tide-move-to-location location) - (point))) - -(defun tide-recenter-p (filespan &optional recenter-pref) - (when recenter-pref - (let ((new-file-name (plist-get filespan :file))) - (if (string-equal new-file-name (tide-buffer-file-name)) - (tide-recenter-in-same-buffer-p filespan) - t)))) - -(defun tide-recenter-in-same-buffer-p (filespan) - (let* ((newpos (plist-get (plist-get filespan :start) :line)) - (line-diff (abs (- (line-number-at-pos) newpos)))) - (> line-diff (window-body-height)))) - -(defun tide-jump-to-filespan (filespan &optional reuse-window no-marker) - (let ((file (plist-get filespan :file)) - (should-recenter-p (tide-recenter-p filespan tide-recenter-after-jump))) - (unless no-marker - (xref-push-marker-stack)) - (if reuse-window - (pop-to-buffer (tide-get-file-buffer file) '((display-buffer-reuse-window display-buffer-same-window))) - (pop-to-buffer (tide-get-file-buffer file))) - (tide-move-to-location (plist-get filespan :start)) - (when should-recenter-p - (recenter)))) - -(defalias 'tide-jump-back 'pop-tag-mark) - -;;; Jump to implementation - -(defun tide-jump-to-fallback-not-given () - (message "No implementations available.")) - -(defun tide-command:implementation () - (tide-send-command-sync - "implementation" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)))) - -(defun tide-jump-to-implementation-format-item (item) - (let* ((file-name (plist-get item :file)) - (line (save-excursion - (with-current-buffer (tide-get-file-buffer file-name) - (tide-move-to-location (plist-get item :start)) - (replace-regexp-in-string "\n" "" (thing-at-point 'line))))) - (file-pos (concat - (propertize (file-name-nondirectory file-name) - 'face 'tide-file) - ":" - (propertize (number-to-string (tide-plist-get item :start :line)) - 'face 'tide-line-number)))) - (concat - line - " " - file-pos))) - -(defun tide-jump-to-implementation () - "Jump to a implementation of the symbol at point." - (interactive) - (let ((response (tide-command:implementation))) - (tide-on-response-success response - (let ((impls (plist-get response :body))) - (cl-case (length impls) - ((0) (funcall tide-jump-to-fallback)) - ((1) (tide-jump-to-filespan (car impls))) - (t (tide-jump-to-filespan - (tide-select-item-from-list "Select implementation: " impls - #'tide-jump-to-implementation-format-item - (tide-can-use-popup-p 'jump-to-implementation))))))))) - -;;; Navigate to named member - -(defun tide-in-string-p () - (nth 3 (syntax-ppss))) - -(defun tide-get-symbol-at-point () - "Returns the symbol found at point, if not deemed 'noise'. -Noise can be anything like braces, reserved keywords, etc." - - (unless (or (tide-in-string-p) - (member (face-at-point) '(font-lock-keyword-face))) - ;; we could have used symbol-at-point here, but that leaves us unable to - ;; differentiate between a symbol named nil and no symbol at all. - ;; thing-at-point returns a string OR nil, which means we don't get this problem. - (let ((symbol (thing-at-point 'symbol))) - (substring-no-properties (if (equal nil symbol) "" symbol))))) - -(defun tide-nav (arg) - "Search and navigate to named types." - (interactive "P") - (let ((completion-ignore-case t) - (last-completions nil) - (default (when arg (tide-get-symbol-at-point)))) - (-when-let (completion - (completing-read-default - "Search: " - (completion-table-dynamic - (lambda (prefix) - (let ((response (tide-command:navto prefix))) - (tide-on-response-success response - (-when-let (navto-items (plist-get response :body)) - (setq navto-items (funcall tide-navto-item-filter navto-items)) - (setq last-completions navto-items) - (-map (lambda (navto-item) (plist-get navto-item :name)) - navto-items))))) - t) nil t default)) - (let ((navto-item (-find (lambda (navto-item) (string-equal completion (plist-get navto-item :name))) - last-completions))) - (tide-jump-to-filespan navto-item))))) - -(defun tide-navto-item-filter-default (navto-items) - (-filter - (lambda (navto-item) (member (plist-get navto-item :kind) '("class" "interface" "type" "enum"))) - navto-items)) - -(defun tide-command:navto (type) - (tide-send-command-sync "navto" `(:file ,(tide-buffer-file-name) :searchValue ,type :maxResultCount 100))) - -;;; Eldoc - -(defun tide-annotate-display-part (display-part &optional highlight) - (let ((text (plist-get display-part :text)) - (face (pcase (plist-get display-part :kind) - ("aliasName" 'font-lock-type-face) - ("className" 'font-lock-type-face) - ("enumName" 'font-lock-type-face) - ("fieldName" nil) - ("interfaceName" 'font-lock-type-face) - ("keyword" 'font-lock-keyword-face) - ("lineBreak" nil) - ("numericLiteral" nil) - ("stringLiteral" 'font-lock-string-face) - ("localName" 'font-lock-variable-name-face) - ("methodName" nil) - ("moduleName" nil) - ("operator" nil) - ("parameterName" (and highlight 'eldoc-highlight-function-argument)) - ("propertyName" nil) - ("punctuation" nil) - ("space" nil) - ("text" nil) - ("typeParameterName" 'font-lock-variable-name-face) - ("enumMemberName" 'font-lock-constant-face) - ("functionName" 'font-lock-function-name-face) - ("regularExpressionLiteral" 'font-lock-string-face)))) - (if face - (propertize text 'face face) - text))) - -(defun tide-annotate-display-parts (display-parts &optional highlight) - (tide-join (-map (lambda (part) (tide-annotate-display-part part highlight)) display-parts))) - -(defun tide-annotate-signature-parameter (parameter highlight) - (tide-join - (-map - (lambda (part) (tide-annotate-display-part part highlight)) - (plist-get parameter :displayParts)))) - -(defun tide-annotate-signature (signature selected-arg-index) - (let ((separator (tide-join (-map #'tide-annotate-display-part (plist-get signature :separatorDisplayParts))))) - (tide-join - (-concat - (-map #'tide-annotate-display-part (plist-get signature :prefixDisplayParts)) - (list - (mapconcat - #'identity - (-map-indexed - (lambda (i parameter) - (tide-annotate-signature-parameter parameter (eq i selected-arg-index))) - (plist-get signature :parameters)) - separator)) - (-map #'tide-annotate-display-part (plist-get signature :suffixDisplayParts)))))) - -(defun tide-annotate-signatures (body) - (let ((selected-index (plist-get body :selectedItemIndex)) - (selected-arg-index (plist-get body :argumentIndex))) - (tide-annotate-signature - (nth selected-index (plist-get body :items)) - selected-arg-index))) - -(defun tide-command:signatureHelp (cb) - (tide-send-command - "signatureHelp" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)) - (tide-on-response-success-callback response (:ignore-empty t) - (funcall cb (tide-annotate-signatures (plist-get response :body)))))) - -(defun tide-method-call-p () - (or (looking-at "[(,]") - (and (not (looking-at "\\sw")) (looking-back "[(,]\n?\\s-*" nil)))) - -(defun tide-doc-text (quickinfo-or-completion-detail) - (or (plist-get quickinfo-or-completion-detail :displayString) ;; old - (tide-annotate-display-parts - (plist-get quickinfo-or-completion-detail :displayParts)))) - -(defun tide-doc-documentation (quickinfo-or-completion-detail) - (let ((documentation (plist-get quickinfo-or-completion-detail :documentation))) - (if (stringp documentation) ;; old - documentation - (tide-annotate-display-parts documentation)))) - -(defun tide-format-jsdoc (name text) - (setq text (s-trim (or text ""))) - (concat (propertize (concat "@" name) 'face 'font-lock-keyword-face) - (if (s-contains? "\n" text) "\n" " ") - text - "\n")) - -(defun tide-doc-jsdoc (quickinfo-or-completion-detail) - (tide-join - (-map - (lambda (tag) - (tide-format-jsdoc (plist-get tag :name) (plist-get tag :text))) - (plist-get quickinfo-or-completion-detail :tags)))) - -(defun tide-construct-documentation (quickinfo-or-completion-detail) - (when quickinfo-or-completion-detail - (let* ((display-string (tide-doc-text quickinfo-or-completion-detail)) - (documentation (tide-doc-documentation quickinfo-or-completion-detail)) - (jsdoc (tide-doc-jsdoc quickinfo-or-completion-detail))) - (when (or (or (not (s-blank? documentation)) - (not (s-blank? jsdoc))) - tide-always-show-documentation) - (tide-join - (-concat (list display-string "\n\n") - (if (not (s-blank? documentation)) (list documentation "\n\n") '()) - (list jsdoc))))))) - -(defun tide-command:quickinfo-old (cb) - (tide-send-command "quickinfo" - `(:file ,(tide-buffer-file-name) - :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)) cb)) - -(defun tide-command:quickinfo-full (cb) - (tide-send-command "quickinfo-full" - `(:file ,(tide-buffer-file-name) - :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)) - cb)) - -(defun tide-command:quickinfo (cb) - (tide-fallback-if-not-supported "quickinfo-full" tide-command:quickinfo-full tide-command:quickinfo-old cb)) - - -(defun tide-eldoc-function () - (unless (member last-command '(next-error previous-error)) - (if (tide-method-call-p) - (tide-command:signatureHelp #'tide-eldoc-maybe-show) - (when (looking-at "\\s_\\|\\sw") - (tide-command:quickinfo - (tide-on-response-success-callback response (:ignore-empty t) - (tide-eldoc-maybe-show (tide-doc-text (plist-get response :body)))))))) - nil) - - -;;; Copied from eldoc.el -(defun tide-eldoc-maybe-show (text) - (with-demoted-errors "eldoc error: %s" - (and (or (eldoc-display-message-p) - ;; Erase the last message if we won't display a new one. - (when eldoc-last-message - (eldoc-message nil) - nil)) - (eldoc-message text)))) - - -(defun tide-documentation-at-point () - "Show documentation of the symbol at point." - (interactive) - (tide-command:quickinfo - (tide-on-response-success-callback response - (-if-let (body (tide-construct-documentation (plist-get response :body))) - (tide-display-help-buffer "documentation" body) - (message "No documentation available."))))) - -;;; Buffer Sync - -(defun tide-remove-tmp-file () - (when tide-buffer-tmp-file - (delete-file tide-buffer-tmp-file) - (setq tide-buffer-tmp-file nil))) - -(defun tide-command:reloadfile () - (tide-send-command "reload" `(:file ,(tide-buffer-file-name) :tmpfile ,(tide-buffer-file-name)))) - -(defun tide-handle-change (_beg _end _len) - (setq tide-buffer-dirty t)) - -(defun tide-sync-buffer-contents () - ;; The real file that backs a buffer could be changed in various - ;; ways, one common example is the rename operation. Ensure that we - ;; send the open command for the new file before using it as an - ;; argument for any other command. - (unless (string-equal tide-active-buffer-file-name (tide-buffer-file-name)) - (tide-configure-buffer)) - (when tide-buffer-dirty - (setq tide-buffer-dirty nil) - (unless tide-buffer-tmp-file - (setq tide-buffer-tmp-file (make-temp-file "tide"))) - (write-region (point-min) (point-max) tide-buffer-tmp-file nil 'no-message) - (tide-send-command "reload" `(:file ,(tide-buffer-file-name) :tmpfile ,tide-buffer-tmp-file)))) - -;;; Code-fixes - -(defun tide-apply-code-edits (file-code-edits) - (save-excursion - (dolist (file-code-edit file-code-edits) - (let ((file (plist-get file-code-edit :fileName))) - (with-current-buffer (tide-get-file-buffer file t) - (tide-format-regions (tide-apply-edits (plist-get file-code-edit :textChanges))) - ;; Saving won't work if the current buffer is temporary or an indirect - ;; buffer - (when (equal buffer-file-name file) - (basic-save-buffer)) - (run-hooks 'tide-post-code-edit-hook)))))) - -(defun tide-get-flycheck-errors-ids-at-point () - (-map #'flycheck-error-id (flycheck-overlay-errors-at (point)))) - -(defun tide-command:getCodeFixes () - (tide-send-command-sync - "getCodeFixes" - `(:file ,(tide-buffer-file-name) - :startLine ,(tide-line-number-at-pos) :startOffset ,(tide-current-offset) - :endLine ,(tide-line-number-at-pos) :endOffset ,(+ 1 (tide-current-offset)) - :errorCodes ,(tide-get-flycheck-errors-ids-at-point)))) - -(defun tide-command:getCombinedCodeFix (fixId) - (tide-send-command-sync "getCombinedCodeFix" - `(:scope (:type "file" :args (:file ,(tide-buffer-file-name))) :fixId ,fixId))) - -(defun tide-get-fix-description (fix) - (plist-get fix :description)) - -(defun tide-apply-codefix (fix) - "Apply a single `FIX', which may apply to several files." - (tide-apply-code-edits (plist-get fix :changes))) - -(defun tide-apply-codefix-for-all-in-file (fix) - (tide-apply-codefix fix) - (-when-let* ((fix-id (plist-get fix :fixId)) - (response (tide-command:getCombinedCodeFix fix-id))) - (tide-on-response-success response - (tide-apply-codefix (plist-get response :body))))) - -(defun tide-apply-codefixes (fixes codefix-fn) - (cond ((= 0 (length fixes)) (message "No code-fixes available.")) - ((= 1 (length fixes)) (funcall codefix-fn (car fixes))) - (t (funcall - codefix-fn - (tide-select-item-from-list "Select fix: " fixes - #'tide-get-fix-description (tide-can-use-popup-p 'code-fix)))))) - -(defun tide-code-fix (codefix-fn) - (unless (tide-get-flycheck-errors-ids-at-point) - (error "No errors available at current point.")) - (let ((response (tide-command:getCodeFixes))) - (tide-on-response-success response - (let ((fixes (plist-get response :body))) - (tide-apply-codefixes fixes codefix-fn))))) - -(defun tide-fix (&optional arg) - "Apply code fix for the error at point. - -When invoked with a prefix arg, apply code fix for all the errors -in the file that are similar to the error at point." - (interactive "P") - (if arg - (tide-code-fix #'tide-apply-codefix-for-all-in-file) - (tide-code-fix #'tide-apply-codefix))) - -;;; Organize Imports - -(defun tide-command:organizeImports () - (tide-send-command-sync "organizeImports" `(:scope (:type "file" :args (:file ,(tide-buffer-file-name)))))) - -(defun tide-organize-imports () - "Organize imports in the file." - (interactive) - (let ((response (tide-command:organizeImports))) - (tide-on-response-success response (:min-version "2.8") - (-when-let (changes (plist-get response :body)) - (tide-apply-code-edits changes))))) - -;;; Refactor - -(defun tide-location-or-range () - (if (use-region-p) - (let ((start (region-beginning)) - (end (region-end))) - `(:startLine ,(tide-line-number-at-pos start) :startOffset ,(tide-offset start) - :endLine ,(tide-line-number-at-pos end) :endOffset ,(tide-offset end))) - `(:line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)))) - -(defun tide-command:getEditsForRefactor (refactor action) - (tide-send-command-sync - "getEditsForRefactor" - (append `(:refactor ,refactor :action ,action :file ,(tide-buffer-file-name)) - (tide-location-or-range)))) - -(defun tide-command:getApplicableRefactors () - (tide-send-command-sync - "getApplicableRefactors" - (append `(:file ,(tide-buffer-file-name)) (tide-location-or-range)))) - -(defun tide-get-refactor-description (refactor) - (plist-get refactor :description)) - -(defun tide-select-refactor (applicable-refactor-infos) - (let ((available-refactors - (-mapcat - (lambda (applicable-refactor-info) - (-map (lambda (refactor-action-info) - `(:action ,(plist-get refactor-action-info :name) - :refactor ,(plist-get applicable-refactor-info :name) - :inlineable ,(plist-get applicable-refactor-info :inlineable) - :description ,(plist-get refactor-action-info :description))) - (plist-get applicable-refactor-info :actions))) - applicable-refactor-infos))) - (tide-select-item-from-list "Select refactor: " available-refactors - #'tide-get-refactor-description (tide-can-use-popup-p 'refactor)))) - -(defun tide-apply-refactor (selected) - (let ((response (tide-command:getEditsForRefactor (plist-get selected :refactor) (plist-get selected :action)))) - (tide-on-response-success response - (progn - (deactivate-mark) - (tide-apply-code-edits (tide-plist-get response :body :edits)) - (-when-let (rename-location (tide-plist-get response :body :renameLocation)) - (with-current-buffer (tide-get-file-buffer (tide-plist-get response :body :renameFilename)) - (tide-move-to-location rename-location) - (when (tide-can-rename-symbol-p) - (tide-rename-symbol)))))))) - -(defun tide-refactor () - "Refactor code at point or current region" - (interactive) - (let ((response (tide-command:getApplicableRefactors))) - (tide-on-response-success response (:min-version "2.4") - (-if-let (body (plist-get response :body)) - (tide-apply-refactor - (tide-select-refactor body)) - (message "No refactors available."))))) - -;;; Disable tslint warnings - -(defconst tide-tslint-disable-next-line-regexp - "\\s *//\\s *tslint\\s *:\\s *disable-next-line\\s *:\\(.*\\)" - "Regexp matching a tslint flag disabling rules on the next line.") - -(defun tide-add-tslint-disable-next-line () - "Add a tslint flag to disable rules generating errors at point. - -This function adds or modifies a flag of this form to the -previous line: - - // tslint:disable-next-line:[rule1] [rule2] [...] - -The line will be indented according to the current indentation -settings. This function generates rule1, rule2 to cover all the -errors present at point. - -If the previous line does not already contain a disable-next-line -flag, a new line is added to hold the new flag. If the previous -line already contains a disable-next-line flag, the rule is added -to the flag. Note that this function does not preserve the -formatting of the already existing flag. The resulting flag will -always be formatted as described above." - (interactive) - (let ((error-ids (delq nil (tide-get-flycheck-errors-ids-at-point))) - (start (point))) - (when error-ids - (save-excursion - (if (and (eq 0 (forward-line -1)) - (looking-at tide-tslint-disable-next-line-regexp)) - ;; We'll update the old flag. - (let ((old-list (split-string (match-string 1)))) - (delete-region (point) (point-at-eol)) - (setq error-ids (append old-list error-ids))) - ;; We'll create a new flag. - (goto-char start) - (beginning-of-line) - (open-line 1)) - (insert "// tslint:disable-next-line:" - (string-join error-ids " ")) - (typescript-indent-line))))) - -;;; Auto completion - -(defun tide-completion-annotation (name) - (-if-let (meta (and tide-completion-detailed (tide-completion-meta name))) - ;; Get everything before the first newline, if any, because company-mode - ;; wants single-line annotations. - (car (split-string meta "\n")) - (pcase (plist-get (get-text-property 0 'completion name) :kind) - ("keyword" " k") - ("module" " M") - ("class" " C") - ("interface" " I") - ("type" " T") - ("enum" " E") - ("var" " v") - ("local var" " v") - ("function" " ƒ") - ("local function" " ƒ") - ("method" " m") - ("getter" " m") - ("setter" " m") - ("property" " p") - ("constructor" " c") - ("call" " m") - ("index" " i") - ("construct" " m") - ("parameter" " p") - ("type parameter" " T") - ("primitive type" " T") - ("label" " l") - ("alias" " A") - ("const" " c") - ("let" " l") - (_ nil)))) - -(defun tide-completion-rank (completion) - "Get the sorting order of a COMPLETION candidate." - (or - (-elem-index - (plist-get completion :kind) - '("parameter" - "local function" - "local var" - "let" - "var" - "const" - "function" - "class" - "method" - "getter" - "setter" - )) - 100)) - -(defun tide-compose-comparators (cmp1 cmp2) - "A helper function that composes two comparators CMP1 and CMP2." - (lambda (a b) - (cond ((funcall cmp1 a b) t) - ((funcall cmp1 b a) nil) - (t (funcall cmp2 a b))))) - -(defun tide-compare-completions-basic (completion-a completion-b) - "Compare COMPLETION-A and COMPLETION-B based on their `sortText' property. -This function is used for the basic completions sorting." - (let ((sort-text-a (plist-get completion-a :sortText)) - (sort-text-b (plist-get completion-b :sortText))) - (string< sort-text-a sort-text-b))) - -(defun tide-compare-completions-by-kind (completion-a completion-b) - "Compare COMPLETION-A and COMPLETION-B based on their kind." - (let ((modifier-a (plist-get completion-a :kindModifiers)) - (modifier-b (plist-get completion-b :kindModifiers))) - (if (string-equal modifier-a modifier-b) - (< (tide-completion-rank completion-a) (tide-completion-rank completion-b)) - ;; Rank declarations lower than variables - (string-equal modifier-b "declare")))) - -(defun tide-completion-prefix () - (if (and (tide-in-string-p) - (looking-back - (rx (or (and "import" (1+ space) (or ?\" ?') (0+ (not (any ?\" ?')))) - (and "from" (1+ space) (or ?\" ?') (0+ (not (any ?\" ?')))) - (and "import(" (or ?\" ?') (0+ (not (any ?\" ?')))) - (and "require(" (or ?\" ?') (0+ (not (any ?\" ?')))))) - nil)) - (cons (company-grab (rx (or ?/ ?\" ?') (group (0+ (not (any ?\" ?'))))) 1) t) - (company-grab-symbol-cons "\\." 1))) - -(defun tide-member-completion-p (prefix) - (save-excursion - (backward-char (length prefix)) - (and (> (point) (point-min)) - (equal (string (char-before (point))) ".")))) - -(defun tide-annotate-completions (completions prefix file-location) - (-map - (lambda (completion) - (let ((name (plist-get completion :name))) - (put-text-property 0 1 'file-location file-location name) - (put-text-property 0 1 'completion completion name) - (put-text-property 0 1 'prefix prefix name) - name)) - (let ((filtered - (-filter (lambda (completion) - (and (string-prefix-p prefix (plist-get completion :name) tide-completion-ignore-case) - (or (not tide-filter-out-warning-completions) - (not (equal (plist-get completion :kind) "warning"))))) - completions))) - (let ((completions-comparator - (if tide-sort-completions-by-kind - (tide-compose-comparators 'tide-compare-completions-basic - 'tide-compare-completions-by-kind) - 'tide-compare-completions-basic))) - (-sort completions-comparator filtered))))) - -(defun tide-command:completions (prefix cb) - (let ((file-location - `(:file ,(tide-buffer-file-name) - :line ,(tide-line-number-at-pos) :offset ,(- (tide-current-offset) (length prefix)) - :includeExternalModuleExports ,tide-completion-enable-autoimport-suggestions - :includeInsertTextCompletions t))) - (when (and (not (tide-in-string-p)) (not (tide-member-completion-p prefix))) - (setq file-location (-concat file-location `(:prefix ,prefix)))) - (tide-send-command - "completions" - file-location - (lambda (response) - (funcall - cb - (when (tide-response-success-p response) - (tide-annotate-completions (plist-get response :body) prefix file-location))))))) - -(defun tide-command:completionEntryDetails (name) - (let* ((source (plist-get (get-text-property 0 'completion name) :source)) - (entry-names (if source - `(:entryNames [(:name ,name :source ,source)]) - `(:entryNames (,name)))) - (arguments (-concat (get-text-property 0 'file-location name) - entry-names))) - (-when-let (response (tide-send-command-sync "completionEntryDetails" arguments)) - (when (tide-response-success-p response) - response)))) - -(defun tide-completion-entry-details (name) - (-if-let (detail-response (get-text-property 0 'completion-detail name)) - detail-response - (let ((detail-response (tide-command:completionEntryDetails name))) - (put-text-property 0 1 'completion-detail detail-response name) - detail-response))) - -(defun tide-completion-meta (name) - (-when-let* ((response (tide-completion-entry-details name)) - (detail (car (plist-get response :body)))) - (tide-doc-text detail))) - -(defun tide-completion-doc-buffer (name) - (-when-let* ((response (tide-completion-entry-details name)) - (detail (car (plist-get response :body)))) - (tide-make-help-buffer "documentation" (tide-construct-documentation detail)))) - -(defun tide-post-completion (name) - (let ((completion (get-text-property 0 'completion name)) - (prefix (get-text-property 0 'prefix name))) - - (-when-let (insert-text (plist-get completion :insertText)) - (when (looking-back (rx-to-string name) nil) - (backward-delete-char (length name)) - (-if-let (span (plist-get completion :replacementSpan)) - (progn - (insert prefix) ;; tsserver assumes the prefix text is already inserted - (tide-apply-edit (tide-combine-plists span `(:newText ,insert-text)))) - (insert insert-text)))) - - (-when-let* ((has-action (plist-get completion :hasAction)) - (response (tide-completion-entry-details name)) - (detail (car (plist-get response :body))) - (fixes (plist-get detail :codeActions))) - (tide-apply-codefixes fixes #'tide-apply-codefix)))) - -;;;###autoload -(defun company-tide (command &optional arg &rest ignored) - (interactive (list 'interactive)) - (cl-case command - ((interactive) (company-begin-backend 'company-tide)) - ((prefix) (and - (bound-and-true-p tide-mode) - (-any-p #'derived-mode-p tide-supported-modes) - (tide-current-server) - (not (nth 4 (syntax-ppss))) - (or (tide-completion-prefix) 'stop))) - ((candidates) (cons :async (lambda (cb) (tide-command:completions arg cb)))) - ((sorted) t) - ((ignore-case) tide-completion-ignore-case) - ((meta) (tide-completion-meta arg)) - ((annotation) (tide-completion-annotation arg)) - ((doc-buffer) (tide-completion-doc-buffer arg)) - ((post-completion) (tide-post-completion arg)))) - -(with-eval-after-load 'company - (cl-pushnew 'company-tide company-backends)) - -;;; References - -(defun tide--next-reference (pos arg &optional cyclep) - "Move to the ARG-th next reference from pos, negative values go to previous -ones. Cycle around if CYCLEP is non-nil." - (let* ((nextp (>= arg 0)) - (next (if nextp #'next-single-property-change #'previous-single-property-change)) - (n (* 2 (abs arg)))) - (when (get-text-property pos 'tide-reference) - (setq pos (or (funcall next pos 'tide-reference) pos))) - (when (or nextp (and (> pos (point-min)) - (get-text-property (1- pos) 'tide-reference))) - (setq n (1- n))) - (dotimes (_i n) - (setq pos (funcall next pos 'tide-reference)) - (unless pos - (unless cyclep - (error "Moved %s reference" (if nextp "past last" "before first"))) - (setq pos (funcall next (if nextp (point-min) (point-max)) - 'tide-reference)))) - (goto-char pos))) - -(defun tide-next-reference-function (n &optional reset) - "Override for `next-error-function' for use in tide-reference-mode buffers." - (interactive "p") - (-when-let (buffer (get-buffer "*tide-references*")) - (with-current-buffer buffer - (when reset (goto-char (point-min))) - (tide--next-reference (point) (or n 1)) - (-when-let (window (get-buffer-window buffer)) - ;; actually move to the point if the refs are shown - (set-window-point window (point))) - (tide-goto-reference)))) - -(defun tide-find-next-reference (pos arg) - "Move to next reference." - (interactive "d\np") - (tide--next-reference pos arg)) -(defun tide-cycle-next-reference (pos arg) - "Move to next reference, cycling back when reaching the last. -Move back when used from a shifted key binding." - (interactive "d\np") - (tide--next-reference pos arg t)) -(defun tide-find-previous-reference (pos arg) - "Move back to previous reference." - (interactive "d\np") - (tide--next-reference pos (- arg))) -(defun tide-cycle-previous-reference (pos arg) - (interactive "d\np") - (tide--next-reference pos (- arg) t)) - -(defun tide-goto-reference () - "Jump to reference location in the file." - (interactive) - (-when-let (reference (get-text-property (point) 'tide-reference)) - (tide-jump-to-filespan reference nil t))) - -(defun tide-goto-line-reference () - "Jump to the corresponding location in the referenced file." - (interactive) - (-when-let* ((ref (get-text-property (point) 'tide-line-reference)) - (col (- (point) (line-beginning-position)))) - (tide-jump-to-filespan ref nil t) - (goto-char (+ (line-beginning-position) col)))) - -(defvar tide-references-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "n") #'tide-find-next-reference) - (define-key map (kbd "p") #'tide-find-previous-reference) - (define-key map (kbd "TAB") #'tide-cycle-next-reference) - (define-key map (kbd "") #'tide-cycle-previous-reference) - (define-key map (kbd "RET") #'tide-goto-line-reference) - (define-key map [mouse-1] #'tide-goto-reference) - ;; taken from grep.el - (define-key map (kbd "SPC") #'scroll-up-command) - (define-key map (kbd "S-SPC") #'scroll-down-command) - (define-key map (kbd "DEL") #'scroll-down-command) - map)) - -(define-derived-mode tide-references-mode special-mode "tide-references" - "Major mode for tide references list. - -\\{tide-references-mode-map}" - (setq next-error-function #'tide-next-reference-function)) - -(defun tide-command:references () - (tide-send-command-sync - "references" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)))) - -(defun tide-insert-references (references) - "Create a buffer with the given REFERENCES. - -Assumes references are grouped by file name and sorted by line -number." - (let* ((buffer (get-buffer-create "*tide-references*")) - (inhibit-read-only t) - (width tab-width) - (project-root (tide-project-root)) - (last-file-name nil) - (prefix-len (length (number-to-string - (--reduce (max acc (tide-plist-get it :start :line)) - (cons 0 references))))) - (linenum-fmt (format "%%%dd" prefix-len)) - (wrap-prefix (make-string prefix-len ?\ ))) - (with-current-buffer buffer - (erase-buffer) - (tide-references-mode) - (setq-local tab-width width) - (while references - (let* ((reference (car references)) - (full-file-name (plist-get reference :file)) - (file-name (file-relative-name full-file-name project-root)) - (line-number (tide-plist-get reference :start :line)) - (line-text (concat (plist-get reference :lineText) "\n")) - (line-prefix (concat (propertize (format linenum-fmt line-number) - 'face 'tide-line-number) - ": "))) - ;; file - (unless (equal last-file-name file-name) - (setq last-file-name file-name) - (insert (propertize "\n" 'line-prefix (propertize file-name 'face 'tide-file)))) - ;; line text - (while (and references - (equal full-file-name (plist-get (car references) :file)) - (equal line-number (tide-plist-get (car references) :start :line))) - (let* ((reference (pop references)) - (start (1- (tide-plist-get reference :start :offset))) - (end (1- (tide-plist-get reference :end :offset)))) - (dolist (p `((tide-reference ,reference) - (face tide-match) - (mouse-face highlight) - (help-echo "mouse-1: Visit the reference."))) - (put-text-property start end (car p) (cadr p) line-text)))) - (insert (propertize line-text 'line-prefix line-prefix 'wrap-prefix wrap-prefix - 'tide-line-reference reference)))) - (goto-char (point-min)) - (forward-line 1) - (set-buffer-modified-p nil) - (current-buffer)))) - -(defun tide-is-identical-reference (original second) - (and (equal (plist-get original :file) (plist-get second :file)) - (eq (tide-plist-get original :start :line) (tide-plist-get second :start :line)))) -(defun tide-find-single-usage (references) - (let ((definition nil) - (usage nil) - (multiple nil)) - (-each references - #'(lambda (reference) - (if (eq t (plist-get reference :isDefinition)) - (if (or (eq definition nil) (tide-is-identical-reference definition reference)) - (setq definition reference) - (setq multiple t)) - (if (or (eq usage nil) (tide-is-identical-reference usage reference)) - (setq usage reference) - (setq multiple t))))) - (and (not multiple) definition usage))) - -(defun tide-references () - "List all references to the symbol at point." - (interactive) - (let ((response (tide-command:references))) - (tide-on-response-success response - (let ((references (tide-plist-get response :body :refs))) - (-if-let (usage (tide-find-single-usage references)) - (progn - (message "This is the only usage.") - (tide-jump-to-filespan usage nil t)) - (display-buffer (tide-insert-references references))))))) - - -;;; Imenu - -(defun tide-build-flat-imenu-index (navtree &optional parent) - (let* ((child-items (plist-get navtree :childItems)) - (text (plist-get navtree :text)) - (new-text (if parent (concat parent imenu-level-separator text) text)) - (node (cons (concat new-text " " (propertize (plist-get navtree :kind) 'face 'tide-imenu-type-face)) - (tide-span-to-position (plist-get (car (plist-get navtree :spans)) :start))))) - (if child-items - (-concat (list node) (-flatten (-map (lambda (i) (tide-build-flat-imenu-index i new-text)) child-items))) - (list node)))) - -(defun tide-build-imenu-index (navtree) - (let* ((child-items (plist-get navtree :childItems)) - (text (plist-get navtree :text)) - (node (cons (concat text " " (propertize (plist-get navtree :kind) 'face 'tide-imenu-type-face)) - (tide-span-to-position (plist-get (car (plist-get navtree :spans)) :start))))) - (if child-items - (cons text - (-concat (list node) - (-map #'tide-build-imenu-index child-items))) - node))) - -(defun tide-command:navbar () - (tide-send-command-sync "navtree" `(:file ,(tide-buffer-file-name)))) - -(defun tide-imenu-index () - (let ((response (tide-command:navbar))) - (tide-on-response-success response - (let ((children (tide-plist-get response :body :childItems))) - (if tide-imenu-flatten - (-flatten (-map #'tide-build-flat-imenu-index children)) - (mapcar #'tide-build-imenu-index children)))))) - -;;; Rename - -(defun tide-command:rename () - (tide-send-command-sync "rename" - `(:file ,(tide-buffer-file-name) - :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)))) - -(defun tide-rename-symbol-at-location (location new-symbol) - (let ((file (plist-get location :file))) - (save-excursion - (with-current-buffer (tide-get-file-buffer file) - (-each - (-map (lambda (filespan) - (tide-move-to-location (plist-get filespan :start)) - (cons (point-marker) filespan)) - (plist-get location :locs)) - (lambda (pointer) - (let* ((marker (car pointer)) - (filespan (cdr pointer))) - (goto-char marker) - (delete-char (- (tide-plist-get filespan :end :offset) (tide-plist-get filespan :start :offset))) - (insert new-symbol)))) - ;; Saving won't work if the current buffer is temporary or an indirect - ;; buffer - (when (equal buffer-file-name file) - (basic-save-buffer)) - (length (plist-get location :locs)))))) - -(defun tide-read-new-symbol (old-symbol) - (let ((new-symbol (read-from-minibuffer (format "Rename %s to: " old-symbol) old-symbol))) - (if (string-match-p "\\`[ \t\n\r]*\\'" new-symbol) - (error "Invalid name") - new-symbol))) - -(defun tide-can-rename-symbol-p () - (let ((response (tide-command:rename))) - (and - (tide-response-success-p response) - (eq (tide-plist-get response :body :info :canRename) t)))) - -(defun tide-rename-symbol () - "Rename symbol at point." - (interactive) - (let ((response (tide-command:rename))) - (tide-on-response-success response - (if (eq (tide-plist-get response :body :info :canRename) :json-false) - (message "%s" (tide-plist-get response :body :info :localizedErrorMessage)) - (let* ((old-symbol (tide-plist-get response :body :info :displayName)) - (new-symbol (tide-read-new-symbol old-symbol)) - (locs (tide-plist-get response :body :locs)) - (count 0) - (current-file-p - (lambda (loc) - (file-equal-p (expand-file-name (tide-buffer-file-name)) - (plist-get loc :file))))) - - ;; Saving current file will trigger a compilation - ;; check. So make sure all the other files are saved - ;; before saving current file. - - (-each (nconc (-reject current-file-p locs) - (-select current-file-p locs)) - (lambda (loc) - (cl-incf count (tide-rename-symbol-at-location loc new-symbol)))) - - (message "Renamed %d occurrences." count)))))) - -(defun tide-command:getEditsForFileRename (old new) - (tide-send-command-sync "getEditsForFileRename" `(:oldFilePath ,old :newFilePath ,new :file ,old))) - -(defun tide-rename-file () - "Rename current file and all it's references in other files." - (interactive) - (let* ((name (buffer-name)) - (old (tide-buffer-file-name)) - (basename (file-name-nondirectory old))) - (unless (and old (file-exists-p old)) - (error "Buffer '%s' is not visiting a file." name)) - (let ((new (read-file-name "New name: " (file-name-directory old) basename nil basename))) - (when (get-file-buffer new) - (error "A buffer named '%s' already exists." new)) - (when (file-exists-p new) - (error "A file named '%s' already exists." new)) - (let* ((response (tide-command:getEditsForFileRename (expand-file-name old) (expand-file-name new))) - (edits (tide-on-response-success response (:min-version "2.9") - (plist-get response :body)))) - (tide-cleanup-buffer) - (mkdir (file-name-directory new) t) - (rename-file old new) - (rename-buffer new) - (set-visited-file-name new) - (set-buffer-modified-p nil) - (when edits - (tide-apply-code-edits edits)) - (tide-configure-buffer) - (message "Renamed '%s' to '%s'." name (file-name-nondirectory new)))))) - -;;; Format - -;;;###autoload -(defun tide-format-before-save () - "Before save hook to format the buffer before each save." - (interactive) - (when (bound-and-true-p tide-mode) - (tide-format))) - -;;;###autoload -(defun tide-format () - "Format the current region or buffer." - (interactive) - (if (use-region-p) - (tide-format-region (region-beginning) (region-end)) - (tide-format-region (point-min) (point-max)))) - -(defun tide-normalize-lineshift (str) - "Reformat `STR' to only contain line-shift formats expected by Emacs. - -When inserting text in an Emacs-buffer Emacs only ever expects \n -for newlines, no matter what the actual encoding of the file -is. Inserting anything else causes issues with formatting and -code-analysis." - - ;; convert DOS CR+LF to LF - (setq str (replace-regexp-in-string "\r\n" "\n" str)) - ;; convert Mac CR to LF - (setq str (subst-char-in-string ?\r ?\n str)) - str) - -(defun tide-insert (str) - "Insert `STR' into the buffer, but normalize the line-enings." - - (insert (tide-normalize-lineshift str))) - -(defun tide-apply-edit (edit) - (goto-char (tide-location-to-point (plist-get edit :start))) - (delete-region (point) (tide-location-to-point (plist-get edit :end))) - (let ((start (point-marker))) - (tide-insert (plist-get edit :newText)) - (cons start (point-marker)))) - -(defun tide-apply-edits (edits) - (save-excursion - (-map (lambda (edit) (tide-apply-edit edit)) - (nreverse edits)))) - -(defun tide-format-region (start end) - (let ((response (tide-send-command-sync - "format" - `(:file ,(tide-buffer-file-name) - :line ,(tide-line-number-at-pos start) - :offset ,(tide-offset start) - :endLine ,(tide-line-number-at-pos end) - :endOffset ,(tide-offset end))))) - (tide-on-response-success response - (tide-apply-edits (plist-get response :body))))) - -(defun tide-format-regions (ranges) - (let ((positions (->> - ranges - (-mapcat (lambda (range) (list (marker-position (car range)) (marker-position (cdr range))))) - (-sort '<)))) - (tide-format-region (-min positions) (-max positions)))) - -;;; JSDoc Comment Template - -(defun tide-command:docCommentTemplate () - (tide-send-command-sync "docCommentTemplate" - `(:file ,buffer-file-name - :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset)))) - -(defun tide-jsdoc-template () - "Insert JSDoc comment template at point" - (interactive) - (let ((response (tide-command:docCommentTemplate))) - (tide-on-response-success response - (progn - (save-excursion - (tide-insert (tide-plist-get response :body :newText))) - (forward-char (tide-plist-get response :body :caretOffset)))))) - -;;; Mode - -(defvar tide-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "M-.") #'tide-jump-to-definition) - (define-key map (kbd "M-,") #'tide-jump-back) - map)) - -(defun tide-configure-buffer () - (setq tide-active-buffer-file-name (tide-buffer-file-name)) - - (tide-command:openfile) - (tide-command:configure)) - -(defun tide-cleanup-buffer () - (ignore-errors - (tide-command:closefile)) - (ignore-errors - (tide-remove-tmp-file))) - -;;;###autoload -(defun tide-setup () - "Setup `tide-mode' in current buffer." - (interactive) - - (when (version< emacs-version tide--minimal-emacs) - (display-warning 'tide (format "Tide requires Emacs >= %s, you are using %s." - tide--minimal-emacs emacs-version) - :error)) - - ;; Indirect buffers embedded in other major modes such as those in org-mode or - ;; template languages have to be manually synchronized to tsserver. This might - ;; cause problems in files with lots of small blocks of TypeScript. In that - ;; case we should either add an ignore list or don't do anything at all when - ;; there are more than a certain amount of snippets. - (unless (stringp buffer-file-name) - (setq tide-require-manual-setup t)) - - (tide-start-server-if-required) - (tide-mode 1) - (set (make-local-variable 'eldoc-documentation-function) - 'tide-eldoc-function) - (set (make-local-variable 'imenu-auto-rescan) t) - (set (make-local-variable 'imenu-create-index-function) - 'tide-imenu-index) - - (tide-configure-buffer) - - ;; tsserver requires non-.ts files to be manually added to the files array in - ;; tsconfig.json, otherwise the file will be loaded as part of an 'inferred - ;; project'. This won't be necessary anymore after TypeScript allows defining - ;; custom file extensions. https://github.com/Microsoft/TypeScript/issues/8328 - (when (and tide-require-manual-setup (tide-buffer-file-name)) - (tide-command:projectInfo - (lambda (response) - (tide-on-response-success response - (when (string-prefix-p "/dev/null/inferredProject" - (tide-plist-get response :body :configFileName)) - (message (format "'%s' is not part of a project, add it to the files array in tsconfig.json" - (tide-buffer-file-name))))))))) - -;;;###autoload -(define-minor-mode tide-mode - "Minor mode for Typescript Interactive Development Environment. - -\\{tide-mode-map}" - :lighter " tide" - :keymap tide-mode-map - (if tide-mode - (progn - (add-hook 'after-save-hook 'tide-sync-buffer-contents nil t) - (add-hook 'after-save-hook 'tide-auto-compile-file nil t) - (add-hook 'after-change-functions 'tide-handle-change nil t) - (add-hook 'kill-buffer-hook 'tide-cleanup-buffer nil t) - (add-hook 'hack-local-variables-hook 'tide-configure-buffer nil t) - (when (commandp 'typescript-insert-and-indent) - (eldoc-add-command 'typescript-insert-and-indent))) - (remove-hook 'after-save-hook 'tide-sync-buffer-contents t) - (remove-hook 'after-save-hook 'tide-auto-compile-file t) - (remove-hook 'after-change-functions 'tide-handle-change t) - (remove-hook 'kill-buffer-hook 'tide-cleanup-buffer t) - (remove-hook 'hack-local-variables-hook 'tide-configure-buffer t) - (tide-cleanup-buffer))) - - -;;; Error highlighting - -(defun tide-command:geterr (cb) - (let* ((result '()) - (resolved nil) - (err nil)) - (cl-flet ((resolve () - (cond (resolved nil) - (err (setq resolved t) - (funcall cb err)) - ((and (plist-member result :syntaxDiag) - (plist-member result :semanticDiag) - (plist-member result :suggestionDiag)) - (setq resolved t) - (funcall cb `(:body (,result) :success t)))))) - (tide-send-command - "syntacticDiagnosticsSync" - `(:file ,(tide-buffer-file-name)) - (lambda (response) - (if (tide-response-success-p response) - (setq result (plist-put result :syntaxDiag (plist-get response :body))) - (setq err response)) - (resolve))) - (tide-send-command - "semanticDiagnosticsSync" - `(:file ,(tide-buffer-file-name)) - (lambda (response) - (if (tide-response-success-p response) - (setq result (plist-put result :semanticDiag (plist-get response :body))) - (setq err response)) - (resolve))) - - (if tide-disable-suggestions - (setq result (plist-put result :suggestionDiag '())) - (tide-send-command - "suggestionDiagnosticsSync" - `(:file ,(tide-buffer-file-name)) - (lambda (response) - (cond - ((tide-response-success-p response) - (setq result (plist-put result :suggestionDiag (plist-get response :body)))) - ((tide-command-unknown-p response) - (setq result (plist-put result :suggestionDiag '()))) - (t (setq err response))) - (resolve))))))) - -(defun tide-parse-error (response checker) - (-map - (lambda (diagnostic) - (let* ((start (plist-get diagnostic :start)) - (line (plist-get start :line)) - (column (tide-column line (plist-get start :offset))) - (level (if (string= (plist-get diagnostic :category) "suggestion") 'info 'error)) - (text (plist-get diagnostic :text))) - (when (plist-get diagnostic :relatedInformation) - (setq text (concat text (propertize " ⮐" 'face 'font-lock-warning-face)))) - (put-text-property 0 1 'diagnostic diagnostic text) - (flycheck-error-new-at line column level text - :checker checker - :id (plist-get diagnostic :code)))) - (let ((diagnostic (car (tide-plist-get response :body)))) - (-concat (plist-get diagnostic :syntaxDiag) - (plist-get diagnostic :semanticDiag) - (plist-get diagnostic :suggestionDiag))))) - -(defun tide-flycheck-send-response (callback checker response) - (condition-case err - (funcall callback 'finished (tide-parse-error response checker)) - (error (funcall callback 'errored (error-message-string err))))) - -(defun tide-flycheck-start (checker callback) - (tide-command:geterr - (lambda (response) - (when (tide-command-unknown-p response) - (tide-tsserver-version-not-supported)) - (if (tide-response-success-p response) - (tide-flycheck-send-response callback checker response) - (funcall callback 'errored (plist-get response :message)))))) - -(defun tide-make-clickable-filespan (filespan) - (propertize - (concat - (file-name-nondirectory (plist-get filespan :file)) - ":" - (number-to-string (tide-plist-get filespan :start :line))) - 'face 'link - 'help-echo "mouse-2: go to this location" - 'keymap (let ((map (make-sparse-keymap))) - (define-key map [mouse-2] 'tide-goto-error) - (define-key map [mouse-1] 'tide-goto-error) - (define-key map (kbd "RET") 'tide-goto-error) - (define-key map [follow-link] 'mouse-face) - map) - 'tide-error filespan)) - -(defun tide-format-related-information (related) - (concat - (tide-make-clickable-filespan (plist-get related :span)) - " " - (plist-get related :message) - " [" (number-to-string (plist-get related :code)) "]")) - -(defun tide-explain-error (err) - (let* ((diagnostic (get-text-property 0 'diagnostic (flycheck-error-message err))) - (related (plist-get diagnostic :relatedInformation))) - (concat - (propertize "Code: " 'face 'bold) (number-to-string (plist-get diagnostic :code)) " " - (propertize "Category: " 'face 'bold) (plist-get diagnostic :category) - "\n\n" - (plist-get diagnostic :text) - "\n\n" - (when related - (concat - (propertize "Related Information: \n\n" 'face 'bold) - (mapconcat 'tide-format-related-information related "\n\n")))))) - -(defun tide-error-at-point () - "Show the details of the error at point." - (interactive) - (-if-let (errors (flycheck-overlay-errors-at (point))) - (tide-display-help-buffer "error" - (mapconcat #'tide-explain-error errors "\n\n--------\n\n")) - (message "No errors available."))) - -(defun tide-flycheck-verify (_checker) - (list - (flycheck-verification-result-new - :label "Typescript server" - :message (if (tide-current-server) "running" "not running") - :face (if (tide-current-server) 'success '(bold error))) - (flycheck-verification-result-new - :label "Tide mode" - :message (if (bound-and-true-p tide-mode) "enabled" "disabled") - :face (if (bound-and-true-p tide-mode) 'success '(bold warning))))) - -(defun tide-flycheck-predicate () - (and (bound-and-true-p tide-mode) - (tide-current-server) - (not (file-equal-p (tide-project-root) tide-tsserver-directory)))) - -(defun tide-file-extension-p (ext) - (and buffer-file-name - (string-equal ext (file-name-extension buffer-file-name)))) - -(flycheck-define-generic-checker 'typescript-tide - "A TypeScript syntax checker using tsserver." - :start #'tide-flycheck-start - :verify #'tide-flycheck-verify - :modes '(typescript-mode) - :predicate #'tide-flycheck-predicate) - -(add-to-list 'flycheck-checkers 'typescript-tide) -(flycheck-add-next-checker 'typescript-tide '(warning . typescript-tslint) 'append) - -(flycheck-define-generic-checker 'javascript-tide - "A Javascript syntax checker using tsserver." - :start #'tide-flycheck-start - :verify #'tide-flycheck-verify - :modes '(js-mode js2-mode js3-mode) - :predicate #'tide-flycheck-predicate) - -(add-to-list 'flycheck-checkers 'javascript-tide t) - -(flycheck-define-generic-checker 'jsx-tide - "A JSX syntax checker using tsserver." - :start #'tide-flycheck-start - :verify #'tide-flycheck-verify - :modes '(web-mode js2-jsx-mode rjsx-mode) - :predicate (lambda () - (and - (tide-file-extension-p "jsx") - (tide-flycheck-predicate)))) - -(add-to-list 'flycheck-checkers 'jsx-tide t) - -(flycheck-define-generic-checker 'tsx-tide - "A TSX syntax checker using tsserver." - :start #'tide-flycheck-start - :verify #'tide-flycheck-verify - :modes '(web-mode) - :predicate (lambda () - (and - (tide-file-extension-p "tsx") - (tide-flycheck-predicate)))) - -(add-to-list 'flycheck-checkers 'tsx-tide) -(flycheck-add-next-checker 'tsx-tide '(warning . typescript-tslint) 'append) - -;;; Project errors - -(defun tide-command:geterrForProject () - (tide-send-command - "geterrForProject" - `(:file ,(tide-buffer-file-name) :delay 0))) - -(defun tide-project-errors-buffer-name () - (format "*%s-errors*" (tide-project-name))) - -(defun tide-display-errors (file-names) - (with-current-buffer (get-buffer-create (tide-project-errors-buffer-name)) - (tide-project-errors-mode) - (let ((inhibit-read-only t)) - (erase-buffer)) - (display-buffer (current-buffer) t) - (let* ((project-files (-reject (lambda (file-name) - (or (string-match-p "node_modules" file-name) - (string-match-p "tsconfig.json$" file-name))) - file-names)) - (syntax-remaining-files (cl-copy-list project-files)) - (semantic-remaining-files (cl-copy-list project-files)) - (suggestion-remaining-files (if tide-disable-suggestions - '() - (cl-copy-list project-files))) - (syntax-errors 0) - (semantic-errors 0) - (suggestion-errors 0) - (last-file-name nil)) - (tide-set-event-listener - (lambda (response) - (save-excursion - (goto-char (point-max)) - (let ((inhibit-read-only t) - (file-name (tide-plist-get response :body :file)) - (diagnostics (tide-plist-get response :body :diagnostics)) - (event-type (plist-get response :event))) - (unless (and (string-equal event-type "suggestionDiag") tide-disable-suggestions) - (pcase event-type - ("syntaxDiag" - (setq syntax-remaining-files (remove file-name syntax-remaining-files)) - (cl-incf syntax-errors (length diagnostics))) - ("semanticDiag" - (setq semantic-remaining-files (remove file-name semantic-remaining-files)) - (cl-incf semantic-errors (length diagnostics))) - ("suggestionDiag" - (setq suggestion-remaining-files (remove file-name suggestion-remaining-files)) - (cl-incf suggestion-errors (length diagnostics)))) - - (when diagnostics - (-each diagnostics - (lambda (diagnostic) - (let ((line-number (tide-plist-get diagnostic :start :line))) - (unless (equal last-file-name file-name) - (setq last-file-name file-name) - (insert (propertize (file-relative-name file-name (tide-project-root)) 'face 'tide-file) - "\n")) - - (insert (propertize (format "%5d" line-number) - 'face 'tide-line-number - 'tide-error (plist-put diagnostic :file file-name)) - ": " (plist-get diagnostic :text) "\n"))))) - (when (and (null syntax-remaining-files) (null semantic-remaining-files) (null suggestion-remaining-files)) - (insert (format "\n%d syntax error(s), %d semantic error(s), %d suggestion error(s)\n" - syntax-errors semantic-errors suggestion-errors)) - (goto-char (point-min)) - (tide-clear-event-listener))))))))) - (tide-command:geterrForProject)) - -(defun tide-next-error-function (n &optional reset) - "Override for `next-error-function' for use in tide-project-errors-mode buffers." - (interactive "p") - - (-when-let (buffer (get-buffer (tide-project-errors-buffer-name))) - (with-current-buffer buffer - (when reset - (goto-char (point-min))) - (if (> n 0) - (tide-find-next-error (point) n) - (tide-find-previous-error (point) (- n))) - (tide-goto-error)))) - -(defun tide-find-next-error (pos arg) - "Move to next error." - (interactive "d\np") - (setq arg (* 2 arg)) - (unless (get-text-property pos 'tide-error) - (setq arg (1- arg))) - (dotimes (_i arg) - (setq pos (next-single-property-change pos 'tide-error)) - (unless pos - (error "Moved past last error"))) - (goto-char pos)) - -(defun tide-find-previous-error (pos arg) - "Move back to previous error." - (interactive "d\np") - (dotimes (_i (* 2 arg)) - (setq pos (previous-single-property-change pos 'tide-error)) - (unless pos - (error "Moved back before first error"))) - (goto-char pos)) - -(defun tide-goto-error () - "Jump to error location in the file." - (interactive) - (-when-let (error (get-text-property (point) 'tide-error)) - (tide-jump-to-filespan error nil t))) - -(defvar tide-project-errors-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "n") #'tide-find-next-error) - (define-key map (kbd "p") #'tide-find-previous-error) - (define-key map (kbd "RET") #'tide-goto-error) - map)) - -(define-derived-mode tide-project-errors-mode special-mode "tide-project-errors" - "Major mode for tide project-errors list. - -\\{tide-project-errors-mode-map}" - (setq next-error-function #'tide-next-error-function)) - -;;;###autoload -(defun tide-project-errors () - (interactive) - (tide-command:projectInfo - (lambda (response) - (tide-on-response-success response - (tide-display-errors (tide-plist-get response :body :fileNames)))) - t)) - -;;; Identifier highlighting - -(defun tide-command:documentHighlights (cb) - (tide-send-command - "documentHighlights" - `(:file ,(tide-buffer-file-name) :line ,(tide-line-number-at-pos) :offset ,(tide-current-offset) - :filesToSearch (,(tide-buffer-file-name))) - cb)) - -(defface tide-hl-identifier-face - '((t (:inherit highlight))) - "Face used for highlighting identifiers in `tide-hl-identifier'." - :group 'tide) - -(defcustom tide-hl-identifier-idle-time 0.50 - "How long to wait after user input before highlighting the current identifier." - :type 'float - :group 'tide) - -(tide-def-permanent-buffer-local tide--hl-last-token 0) - -(defun tide--hl-new-token () - "Invalidate all existing tokens to get document highlights and -create a new token" - (cl-incf tide--hl-last-token)) - -(defvar tide--current-hl-identifier-idle-time - 0 - "The current delay for hl-identifier-mode.") - -(defvar tide--hl-identifier-timer - nil - "The global timer used for highlighting identifiers.") - -;;;###autoload -(defun tide-unhighlight-identifiers () - "Remove highlights from previously highlighted identifier." - (tide--hl-new-token) - (remove-overlays nil nil 'tide-overlay 'sameid)) - -;;;###autoload -(defun tide-hl-identifier () - "Highlight all instances of the identifier under point. Removes -highlights from previously highlighted identifier." - (interactive) - (tide-unhighlight-identifiers) - (tide--hl-identifier)) - -(defun tide--hl-identifier () - "Highlight all instances of the identifier under point." - (let ((token (tide--hl-new-token))) - (tide-command:documentHighlights - (lambda (response) - (when (and - (equal token tide--hl-last-token) - (tide-response-success-p response)) - (tide--hl-highlight response)))))) - -(defun tide--hl-highlight (response) - "Highlight all instances of the identifier under point." - (-when-let* ((item (-first (lambda (item) - (equal (tide-buffer-file-name) (plist-get item :file))) - (plist-get response :body))) - (references (plist-get item :highlightSpans))) - ;; `overlay-recenter' provide a modest speed improvement when creating lots - ;; of overlays from a list. See the documentation on this function for - ;; details. - (overlay-recenter (point-max)) - ;; The point computations in this loop *could* be replaced with - ;; `tide-location-to-point' but `tide-location-to-point' is extremely slow - ;; when it comes to processing large lists of locations because it returns - ;; to `point-min' with each call. - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (let ((current-line 1)) - (dolist (reference references) - (when (member (plist-get reference :kind) '("reference" "writtenReference")) - (let* ((start (plist-get reference :start)) - (end (plist-get reference :end)) - (start-line (plist-get start :line)) - (ostart (progn (forward-line (- start-line current-line)) - (forward-char (1- (plist-get start :offset))) - (point))) - (oend (progn (unless (= start-line (plist-get end :line)) - ;; Identifiers shouldn't span lines. - (error "identifier unexpectedly spans lines")) - (forward-char (- (plist-get end :offset) - (plist-get start :offset))) - (point))) - (overlay (make-overlay ostart oend))) - (setq current-line start-line) - (overlay-put overlay 'tide-overlay 'sameid) - (overlay-put overlay 'face 'tide-hl-identifier-face))))))))) - -;;;###autoload -(define-minor-mode tide-hl-identifier-mode - "Highlight instances of the identifier at point after a short -timeout." - :group 'tide - (if tide-hl-identifier-mode - (progn - (tide--hl-set-timer) - ;; Unhighlight if point moves off identifier - (add-hook 'post-command-hook #'tide--hl-identifiers-post-command-hook nil t) - ;; Unhighlight any time the buffer changes - (add-hook 'before-change-functions #'tide--hl-identifiers-before-change-function nil t)) - (remove-hook 'post-command-hook #'tide--hl-identifiers-post-command-hook t) - (remove-hook 'before-change-functions #'tide--hl-identifiers-before-change-function t) - (tide-unhighlight-identifiers))) - -(defun tide--hl-identifiers-function () - "Function run after an idle timeout, highlighting the -identifier at point, if necessary." - (when tide-hl-identifier-mode - (unless (tide--on-overlay-p 'sameid) - (tide-hl-identifier)) - (unless (eq tide--current-hl-identifier-idle-time tide-hl-identifier-idle-time) - (tide--hl-set-timer)))) - -(defun tide--hl-set-timer () - (when tide--hl-identifier-timer - (cancel-timer tide--hl-identifier-timer)) - (setq tide--current-hl-identifier-idle-time tide-hl-identifier-idle-time) - (setq tide--hl-identifier-timer (run-with-idle-timer - tide-hl-identifier-idle-time - t - #'tide--hl-identifiers-function))) - -(defun tide--on-overlay-p (id) - "Return whether point is on a tide overlay of type ID." - (cl-find-if (lambda (el) (eq (overlay-get el 'tide-overlay) id)) (overlays-at (point)))) - -(defun tide--hl-identifiers-post-command-hook () - (when (and tide-hl-identifier-mode - (not (tide--on-overlay-p 'sameid))) - (tide-unhighlight-identifiers))) - -(defun tide--hl-identifiers-before-change-function (_beg _end) - (tide-unhighlight-identifiers)) - - -;;; Compile On Save - -(defun tide-command:compileOnSaveEmitFile () - (tide-send-command "compileOnSaveEmitFile" `(:file ,(tide-buffer-file-name)))) - -(defun tide-compile-file () - "Compiles the current file" - (interactive) - (tide-command:compileOnSaveEmitFile)) - -(defun tide-auto-compile-file () - "Compiles the current file if compileOnSave is set" - (interactive) - (-when-let (config (tide-project-config)) - ;; Pre-v3.6.2 tsc converts compileOnSave to compilerOnSave - (when (or (eq (plist-get config :compilerOnSave) t) - (eq (plist-get config :compileOnSave) t)) - (tide-command:compileOnSaveEmitFile)))) - -(defun tide-project-config () - (let ((config (gethash (tide-project-name) tide-project-configs :not-loaded))) - (if (eq config :not-loaded) - (let* ((default-directory (tide-project-root)) - (tscjs (tide-locate-tscompiler-executable))) - (if tscjs - (let ((config (tide-safe-json-read-string - (tide-command-to-string tide-node-executable (list tscjs "--showConfig"))))) - (puthash (tide-project-name) config tide-project-configs)) - (puthash (tide-project-name) '() tide-project-configs))) - config))) - -;;; Utility commands - -(defun tide-restart-server () - "Restarts tsserver." - (interactive) - (-when-let (server (tide-current-server)) - (delete-process server)) - (tide-start-server) - (tide-each-buffer (tide-project-name) #'tide-configure-buffer)) - -(defvar-local tide--server-list-mode-last-column nil) - -(defun tide--list-servers-verify-setup (button) - "Invoke `tide-verify-setup' on a tsserver displayed in the list of server." - (tide-first-buffer (button-get button 'project-name) #'tide-verify-setup)) - -;; This is modeled after list-process--refresh but we do not call delete-process -;; on exited or signaled processe. That seems inappropriate for a function -;; designed to *report* information. -(defun tide--list-servers-refresh () - "Recompute the list of processes for the buffer displayed by -`tide-list-servers'." - (setq tabulated-list-entries nil) - (let ((tsservers (hash-table-values tide-servers))) - (dolist (p tsservers) - (let* ((project-name (process-get p 'project-name)) - (pid (process-id p)) - (cpu - (if (tide--emacs-at-least "25") - (alist-get 'pcpu (process-attributes pid)) - (cdr (assq 'pcpu (process-attributes pid)))))) - (push (list p - (vector - `(,project-name - face link - help-echo - ,(if (tide--emacs-at-least "25") - (format-message "Verify setup of `%s'" project-name) - (concat "Verify setup of `" project-name "'")) - follow-link t - project-name ,project-name - action tide--list-servers-verify-setup) - ;; Sometimes the CPU usage value is NaN (which Emacs represents - ;; as 0.0e+NaN), for whatever reason. We cannot pass this value - ;; to round so we put "--" for the column value. - ;; Other times, it is nil, so do the same then. - (if (or (not cpu) (isnan cpu)) - "--" - (number-to-string (round cpu))) - (cl-case tide--server-list-mode-last-column - ((project-root) - (or (process-get p 'project-root) "")) - ((command) - (mapconcat 'identity (process-command p) " ")) - (t (error "unknown column %s" - tide--server-list-mode-last-column))))) - tabulated-list-entries))))) - -(defun tide--server-list-kill-server () - "Kill a tsserver instance." - (interactive) - (let ((process (tabulated-list-get-id))) - (delete-process process) - (revert-buffer))) - -(defvar tide--server-list-last-column-choice-list - '(project-root command) - "The possible choices for the last column, as a circular list.") - -(defun tide--server-list-cycle-last-column () - "Cycle through the possible values for the last column." - (interactive) - (setq tide--server-list-mode-last-column - (or (cadr (or (memq tide--server-list-mode-last-column - tide--server-list-last-column-choice-list) - (error "%s is not a possible choice of last column." - tide--server-list-mode-last-column))) - (car tide--server-list-last-column-choice-list))) - (tide--setup-list-mode) - (revert-buffer)) - -(defvar tide-server-list-mode-map - (let ((map (make-sparse-keymap))) - (define-key map [?d] 'tide--server-list-kill-server) - (define-key map [?/] 'tide--server-list-cycle-last-column) - map)) - -(defun tide--setup-list-mode () - (setq tabulated-list-format - (vector - '("Project Name" 20 t) - `("CPU" 5 ,(lambda (a b) - (let* ((cpu-a (elt (cadr a) 1)) - (cpu-b (elt (cadr b) 1))) - ;; The CPU usage value in the column can be "--" if Emacs - ;; produced a NaN value. We consider "--" to be less than numbers. - (cond - ((string= cpu-a "--") - (not (string= cpu-b "--"))) - ((string= cpu-b "--") nil) - (t - (< (string-to-number cpu-a) - (string-to-number cpu-b))))))) - (list - (cl-case tide--server-list-mode-last-column - ((project-root) "Project Root") - ((command) "Project Command") - (t (error "unknown column %s" tide--server-list-mode-last-column))) - 0 t))) - (setq tabulated-list-sort-key (cons "Project Name" nil)) - (tabulated-list-init-header)) - -(define-derived-mode tide-server-list-mode tabulated-list-mode "tide-server-list-mode" - "Major mode for listing tsserver processes." - (setq-local tide--server-list-mode-last-column 'project-root) - (add-hook 'tabulated-list-revert-hook 'tide--list-servers-refresh nil t) - (tide--setup-list-mode)) - -;; This is modeled after list-processes. -(defun tide-list-servers (&optional buffer) - "Lists the tsserver processes known to tide." - (interactive) - (unless (bufferp buffer) - (setq buffer (get-buffer-create "*Tide Server List*"))) - (with-current-buffer buffer - (tide-server-list-mode) - (tide--list-servers-refresh) - (tabulated-list-print)) - (display-buffer buffer) - nil) - -(defun tide-command:status () - (tide-send-command-sync "status" '())) - -(defun tide-show-project-info (version config-file-name) - (with-current-buffer (get-buffer-create "*tide-project-info*") - (let ((inhibit-read-only t)) - (erase-buffer) - (insert "tsserver version: " - (propertize version 'face '(success bold)) - "\n\n" - "config file path: " - (propertize config-file-name 'face 'success))) - (special-mode) - (display-buffer (current-buffer) t))) - -(defun tide-verify-setup () - "Show the version of tsserver." - (interactive) - (let ((response (tide-command:status))) - (tide-on-response-success response (:min-version "2.7") - (let ((version (tide-plist-get response :body :version))) - (tide-command:projectInfo - (lambda (response) - (tide-on-response-success response - (let ((config-file-name (tide-plist-get response :body :configFileName))) - (tide-show-project-info version config-file-name))))))))) - -(provide 'tide) - -;;; tide.el ends here diff --git a/elpa/tide-20191201.727/tide.elc b/elpa/tide-20191201.727/tide.elc deleted file mode 100644 index 4809863..0000000 Binary files a/elpa/tide-20191201.727/tide.elc and /dev/null differ diff --git a/elpa/tide-20191201.727/tsserver/lib.core.d.ts b/elpa/tide-20191201.727/tsserver/lib.core.d.ts deleted file mode 100644 index b588c9f..0000000 --- a/elpa/tide-20191201.727/tsserver/lib.core.d.ts +++ /dev/null @@ -1,3840 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -/// - -///////////////////////////// -/// ECMAScript APIs -///////////////////////////// - -declare var NaN: number; -declare var Infinity: number; - -/** - * Evaluates JavaScript code and executes it. - * @param x A String value that contains valid JavaScript code. - */ -declare function eval(x: string): any; - -/** - * Converts A string to an integer. - * @param s A string to convert into a number. - * @param radix A value between 2 and 36 that specifies the base of the number in numString. - * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. - * All other strings are considered decimal. - */ -declare function parseInt(s: string, radix?: number): number; - -/** - * Converts a string to a floating-point number. - * @param string A string that contains a floating-point number. - */ -declare function parseFloat(string: string): number; - -/** - * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). - * @param number A numeric value. - */ -declare function isNaN(number: number): boolean; - -/** - * Determines whether a supplied number is finite. - * @param number Any numeric value. - */ -declare function isFinite(number: number): boolean; - -/** - * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). - * @param encodedURI A value representing an encoded URI. - */ -declare function decodeURI(encodedURI: string): string; - -/** - * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). - * @param encodedURIComponent A value representing an encoded URI component. - */ -declare function decodeURIComponent(encodedURIComponent: string): string; - -/** - * Encodes a text string as a valid Uniform Resource Identifier (URI) - * @param uri A value representing an encoded URI. - */ -declare function encodeURI(uri: string): string; - -/** - * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). - * @param uriComponent A value representing an encoded URI component. - */ -declare function encodeURIComponent(uriComponent: string): string; - -interface PropertyDescriptor { - configurable?: boolean; - enumerable?: boolean; - value?: any; - writable?: boolean; - get? (): any; - set? (v: any): void; -} - -interface PropertyDescriptorMap { - [s: string]: PropertyDescriptor; -} - -interface Object { - /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ - constructor: Function; - - /** Returns a string representation of an object. */ - toString(): string; - - /** Returns a date converted to a string using the current locale. */ - toLocaleString(): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): Object; - - /** - * Determines whether an object has a property with the specified name. - * @param v A property name. - */ - hasOwnProperty(v: string): boolean; - - /** - * Determines whether an object exists in another object's prototype chain. - * @param v Another object whose prototype chain is to be checked. - */ - isPrototypeOf(v: Object): boolean; - - /** - * Determines whether a specified property is enumerable. - * @param v A property name. - */ - propertyIsEnumerable(v: string): boolean; -} - -interface ObjectConstructor { - new (value?: any): Object; - (): any; - (value: any): any; - - /** A reference to the prototype for a class of objects. */ - prototype: Object; - - /** - * Returns the prototype of an object. - * @param o The object that references the prototype. - */ - getPrototypeOf(o: any): any; - - /** - * Gets the own property descriptor of the specified object. - * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. - * @param o Object that contains the property. - * @param p Name of the property. - */ - getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; - - /** - * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly - * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. - * @param o Object that contains the own properties. - */ - getOwnPropertyNames(o: any): string[]; - - /** - * Creates an object that has the specified prototype, and that optionally contains specified properties. - * @param o Object to use as a prototype. May be null - * @param properties JavaScript object that contains one or more property descriptors. - */ - create(o: any, properties?: PropertyDescriptorMap): any; - - /** - * Adds a property to an object, or modifies attributes of an existing property. - * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. - * @param p The property name. - * @param attributes Descriptor for the property. It can be for a data property or an accessor property. - */ - defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; - - /** - * Adds one or more properties to an object, and/or modifies attributes of existing properties. - * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. - * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. - */ - defineProperties(o: any, properties: PropertyDescriptorMap): any; - - /** - * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. - * @param o Object on which to lock the attributes. - */ - seal(o: T): T; - - /** - * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. - * @param o Object on which to lock the attributes. - */ - freeze(o: T): T; - - /** - * Prevents the addition of new properties to an object. - * @param o Object to make non-extensible. - */ - preventExtensions(o: T): T; - - /** - * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. - * @param o Object to test. - */ - isSealed(o: any): boolean; - - /** - * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. - * @param o Object to test. - */ - isFrozen(o: any): boolean; - - /** - * Returns a value that indicates whether new properties can be added to an object. - * @param o Object to test. - */ - isExtensible(o: any): boolean; - - /** - * Returns the names of the enumerable properties and methods of an object. - * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. - */ - keys(o: any): string[]; -} - -/** - * Provides functionality common to all JavaScript objects. - */ -declare var Object: ObjectConstructor; - -/** - * Creates a new function. - */ -interface Function { - /** - * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. - * @param thisArg The object to be used as the this object. - * @param argArray A set of arguments to be passed to the function. - */ - apply(thisArg: any, argArray?: any): any; - - /** - * Calls a method of an object, substituting another object for the current object. - * @param thisArg The object to be used as the current object. - * @param argArray A list of arguments to be passed to the method. - */ - call(thisArg: any, ...argArray: any[]): any; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg An object to which the this keyword can refer inside the new function. - * @param argArray A list of arguments to be passed to the new function. - */ - bind(thisArg: any, ...argArray: any[]): any; - - prototype: any; - length: number; - - // Non-standard extensions - arguments: any; - caller: Function; -} - -interface FunctionConstructor { - /** - * Creates a new function. - * @param args A list of arguments the function accepts. - */ - new (...args: string[]): Function; - (...args: string[]): Function; - prototype: Function; -} - -declare var Function: FunctionConstructor; - -interface IArguments { - [index: number]: any; - length: number; - callee: Function; -} - -interface String { - /** Returns a string representation of a string. */ - toString(): string; - - /** - * Returns the character at the specified index. - * @param pos The zero-based index of the desired character. - */ - charAt(pos: number): string; - - /** - * Returns the Unicode value of the character at the specified location. - * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. - */ - charCodeAt(index: number): number; - - /** - * Returns a string that contains the concatenation of two or more strings. - * @param strings The strings to append to the end of the string. - */ - concat(...strings: string[]): string; - - /** - * Returns the position of the first occurrence of a substring. - * @param searchString The substring to search for in the string - * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. - */ - indexOf(searchString: string, position?: number): number; - - /** - * Returns the last occurrence of a substring in the string. - * @param searchString The substring to search for. - * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. - */ - lastIndexOf(searchString: string, position?: number): number; - - /** - * Determines whether two strings are equivalent in the current locale. - * @param that String to compare to target string - */ - localeCompare(that: string): number; - - /** - * Matches a string with a regular expression, and returns an array containing the results of that search. - * @param regexp A variable name or string literal containing the regular expression pattern and flags. - */ - match(regexp: string): RegExpMatchArray; - - /** - * Matches a string with a regular expression, and returns an array containing the results of that search. - * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. - */ - match(regexp: RegExp): RegExpMatchArray; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A string that represents the regular expression. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. - */ - replace(searchValue: string, replaceValue: string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A string that represents the regular expression. - * @param replacer A function that returns the replacement text. - */ - replace(searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. - */ - replace(searchValue: RegExp, replaceValue: string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags - * @param replacer A function that returns the replacement text. - */ - replace(searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Finds the first substring match in a regular expression search. - * @param regexp The regular expression pattern and applicable flags. - */ - search(regexp: string): number; - - /** - * Finds the first substring match in a regular expression search. - * @param regexp The regular expression pattern and applicable flags. - */ - search(regexp: RegExp): number; - - /** - * Returns a section of a string. - * @param start The index to the beginning of the specified portion of stringObj. - * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. - * If this value is not specified, the substring continues to the end of stringObj. - */ - slice(start?: number, end?: number): string; - - /** - * Split a string into substrings using the specified separator and return them as an array. - * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. - * @param limit A value used to limit the number of elements returned in the array. - */ - split(separator: string, limit?: number): string[]; - - /** - * Split a string into substrings using the specified separator and return them as an array. - * @param separator A Regular Express that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. - * @param limit A value used to limit the number of elements returned in the array. - */ - split(separator: RegExp, limit?: number): string[]; - - /** - * Returns the substring at the specified location within a String object. - * @param start The zero-based index number indicating the beginning of the substring. - * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. - * If end is omitted, the characters from start through the end of the original string are returned. - */ - substring(start: number, end?: number): string; - - /** Converts all the alphabetic characters in a string to lowercase. */ - toLowerCase(): string; - - /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ - toLocaleLowerCase(): string; - - /** Converts all the alphabetic characters in a string to uppercase. */ - toUpperCase(): string; - - /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ - toLocaleUpperCase(): string; - - /** Removes the leading and trailing white space and line terminator characters from a string. */ - trim(): string; - - /** Returns the length of a String object. */ - length: number; - - // IE extensions - /** - * Gets a substring beginning at the specified location and having the specified length. - * @param from The starting position of the desired substring. The index of the first character in the string is zero. - * @param length The number of characters to include in the returned substring. - */ - substr(from: number, length?: number): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): string; - - [index: number]: string; -} - -interface StringConstructor { - new (value?: any): String; - (value?: any): string; - prototype: String; - fromCharCode(...codes: number[]): string; -} - -/** - * Allows manipulation and formatting of text strings and determination and location of substrings within strings. - */ -declare var String: StringConstructor; - -interface Boolean { - /** Returns the primitive value of the specified object. */ - valueOf(): boolean; -} - -interface BooleanConstructor { - new (value?: any): Boolean; - (value?: any): boolean; - prototype: Boolean; -} - -declare var Boolean: BooleanConstructor; - -interface Number { - /** - * Returns a string representation of an object. - * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. - */ - toString(radix?: number): string; - - /** - * Returns a string representing a number in fixed-point notation. - * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. - */ - toFixed(fractionDigits?: number): string; - - /** - * Returns a string containing a number represented in exponential notation. - * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. - */ - toExponential(fractionDigits?: number): string; - - /** - * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. - * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. - */ - toPrecision(precision?: number): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): number; -} - -interface NumberConstructor { - new (value?: any): Number; - (value?: any): number; - prototype: Number; - - /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ - MAX_VALUE: number; - - /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ - MIN_VALUE: number; - - /** - * A value that is not a number. - * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. - */ - NaN: number; - - /** - * A value that is less than the largest negative number that can be represented in JavaScript. - * JavaScript displays NEGATIVE_INFINITY values as -infinity. - */ - NEGATIVE_INFINITY: number; - - /** - * A value greater than the largest number that can be represented in JavaScript. - * JavaScript displays POSITIVE_INFINITY values as infinity. - */ - POSITIVE_INFINITY: number; -} - -/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ -declare var Number: NumberConstructor; - -interface TemplateStringsArray extends Array { - raw: string[]; -} - -interface Math { - /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ - E: number; - /** The natural logarithm of 10. */ - LN10: number; - /** The natural logarithm of 2. */ - LN2: number; - /** The base-2 logarithm of e. */ - LOG2E: number; - /** The base-10 logarithm of e. */ - LOG10E: number; - /** Pi. This is the ratio of the circumference of a circle to its diameter. */ - PI: number; - /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ - SQRT1_2: number; - /** The square root of 2. */ - SQRT2: number; - /** - * Returns the absolute value of a number (the value without regard to whether it is positive or negative). - * For example, the absolute value of -5 is the same as the absolute value of 5. - * @param x A numeric expression for which the absolute value is needed. - */ - abs(x: number): number; - /** - * Returns the arc cosine (or inverse cosine) of a number. - * @param x A numeric expression. - */ - acos(x: number): number; - /** - * Returns the arcsine of a number. - * @param x A numeric expression. - */ - asin(x: number): number; - /** - * Returns the arctangent of a number. - * @param x A numeric expression for which the arctangent is needed. - */ - atan(x: number): number; - /** - * Returns the angle (in radians) from the X axis to a point. - * @param y A numeric expression representing the cartesian y-coordinate. - * @param x A numeric expression representing the cartesian x-coordinate. - */ - atan2(y: number, x: number): number; - /** - * Returns the smallest number greater than or equal to its numeric argument. - * @param x A numeric expression. - */ - ceil(x: number): number; - /** - * Returns the cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - cos(x: number): number; - /** - * Returns e (the base of natural logarithms) raised to a power. - * @param x A numeric expression representing the power of e. - */ - exp(x: number): number; - /** - * Returns the greatest number less than or equal to its numeric argument. - * @param x A numeric expression. - */ - floor(x: number): number; - /** - * Returns the natural logarithm (base e) of a number. - * @param x A numeric expression. - */ - log(x: number): number; - /** - * Returns the larger of a set of supplied numeric expressions. - * @param values Numeric expressions to be evaluated. - */ - max(...values: number[]): number; - /** - * Returns the smaller of a set of supplied numeric expressions. - * @param values Numeric expressions to be evaluated. - */ - min(...values: number[]): number; - /** - * Returns the value of a base expression taken to a specified power. - * @param x The base value of the expression. - * @param y The exponent value of the expression. - */ - pow(x: number, y: number): number; - /** Returns a pseudorandom number between 0 and 1. */ - random(): number; - /** - * Returns a supplied numeric expression rounded to the nearest number. - * @param x The value to be rounded to the nearest number. - */ - round(x: number): number; - /** - * Returns the sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - sin(x: number): number; - /** - * Returns the square root of a number. - * @param x A numeric expression. - */ - sqrt(x: number): number; - /** - * Returns the tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - tan(x: number): number; -} -/** An intrinsic object that provides basic mathematics functionality and constants. */ -declare var Math: Math; - -/** Enables basic storage and retrieval of dates and times. */ -interface Date { - /** Returns a string representation of a date. The format of the string depends on the locale. */ - toString(): string; - /** Returns a date as a string value. */ - toDateString(): string; - /** Returns a time as a string value. */ - toTimeString(): string; - /** Returns a value as a string value appropriate to the host environment's current locale. */ - toLocaleString(): string; - /** Returns a date as a string value appropriate to the host environment's current locale. */ - toLocaleDateString(): string; - /** Returns a time as a string value appropriate to the host environment's current locale. */ - toLocaleTimeString(): string; - /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ - valueOf(): number; - /** Gets the time value in milliseconds. */ - getTime(): number; - /** Gets the year, using local time. */ - getFullYear(): number; - /** Gets the year using Universal Coordinated Time (UTC). */ - getUTCFullYear(): number; - /** Gets the month, using local time. */ - getMonth(): number; - /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ - getUTCMonth(): number; - /** Gets the day-of-the-month, using local time. */ - getDate(): number; - /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ - getUTCDate(): number; - /** Gets the day of the week, using local time. */ - getDay(): number; - /** Gets the day of the week using Universal Coordinated Time (UTC). */ - getUTCDay(): number; - /** Gets the hours in a date, using local time. */ - getHours(): number; - /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ - getUTCHours(): number; - /** Gets the minutes of a Date object, using local time. */ - getMinutes(): number; - /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ - getUTCMinutes(): number; - /** Gets the seconds of a Date object, using local time. */ - getSeconds(): number; - /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ - getUTCSeconds(): number; - /** Gets the milliseconds of a Date, using local time. */ - getMilliseconds(): number; - /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ - getUTCMilliseconds(): number; - /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ - getTimezoneOffset(): number; - /** - * Sets the date and time value in the Date object. - * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. - */ - setTime(time: number): number; - /** - * Sets the milliseconds value in the Date object using local time. - * @param ms A numeric value equal to the millisecond value. - */ - setMilliseconds(ms: number): number; - /** - * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). - * @param ms A numeric value equal to the millisecond value. - */ - setUTCMilliseconds(ms: number): number; - - /** - * Sets the seconds value in the Date object using local time. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setSeconds(sec: number, ms?: number): number; - /** - * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCSeconds(sec: number, ms?: number): number; - /** - * Sets the minutes value in the Date object using local time. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setMinutes(min: number, sec?: number, ms?: number): number; - /** - * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCMinutes(min: number, sec?: number, ms?: number): number; - /** - * Sets the hour value in the Date object using local time. - * @param hours A numeric value equal to the hours value. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setHours(hours: number, min?: number, sec?: number, ms?: number): number; - /** - * Sets the hours value in the Date object using Universal Coordinated Time (UTC). - * @param hours A numeric value equal to the hours value. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; - /** - * Sets the numeric day-of-the-month value of the Date object using local time. - * @param date A numeric value equal to the day of the month. - */ - setDate(date: number): number; - /** - * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). - * @param date A numeric value equal to the day of the month. - */ - setUTCDate(date: number): number; - /** - * Sets the month value in the Date object using local time. - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. - * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. - */ - setMonth(month: number, date?: number): number; - /** - * Sets the month value in the Date object using Universal Coordinated Time (UTC). - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. - * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. - */ - setUTCMonth(month: number, date?: number): number; - /** - * Sets the year of the Date object using local time. - * @param year A numeric value for the year. - * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. - * @param date A numeric value equal for the day of the month. - */ - setFullYear(year: number, month?: number, date?: number): number; - /** - * Sets the year value in the Date object using Universal Coordinated Time (UTC). - * @param year A numeric value equal to the year. - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. - * @param date A numeric value equal to the day of the month. - */ - setUTCFullYear(year: number, month?: number, date?: number): number; - /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ - toUTCString(): string; - /** Returns a date as a string value in ISO format. */ - toISOString(): string; - /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ - toJSON(key?: any): string; -} - -interface DateConstructor { - new (): Date; - new (value: number): Date; - new (value: string): Date; - new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; - (): string; - prototype: Date; - /** - * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. - * @param s A date string - */ - parse(s: string): number; - /** - * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. - * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. - * @param month The month as an number between 0 and 11 (January to December). - * @param date The date as an number between 1 and 31. - * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. - * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. - * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. - * @param ms An number from 0 to 999 that specifies the milliseconds. - */ - UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; - now(): number; -} - -declare var Date: DateConstructor; - -interface RegExpMatchArray extends Array { - index?: number; - input?: string; -} - -interface RegExpExecArray extends Array { - index: number; - input: string; -} - -interface RegExp { - /** - * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. - * @param string The String object or string literal on which to perform the search. - */ - exec(string: string): RegExpExecArray; - - /** - * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. - * @param string String on which to perform the search. - */ - test(string: string): boolean; - - /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */ - source: string; - - /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ - global: boolean; - - /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ - ignoreCase: boolean; - - /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ - multiline: boolean; - - lastIndex: number; - - // Non-standard extensions - compile(): RegExp; -} - -interface RegExpConstructor { - new (pattern: string, flags?: string): RegExp; - (pattern: string, flags?: string): RegExp; - prototype: RegExp; - - // Non-standard extensions - $1: string; - $2: string; - $3: string; - $4: string; - $5: string; - $6: string; - $7: string; - $8: string; - $9: string; - lastMatch: string; -} - -declare var RegExp: RegExpConstructor; - -interface Error { - name: string; - message: string; -} - -interface ErrorConstructor { - new (message?: string): Error; - (message?: string): Error; - prototype: Error; -} - -declare var Error: ErrorConstructor; - -interface EvalError extends Error { -} - -interface EvalErrorConstructor { - new (message?: string): EvalError; - (message?: string): EvalError; - prototype: EvalError; -} - -declare var EvalError: EvalErrorConstructor; - -interface RangeError extends Error { -} - -interface RangeErrorConstructor { - new (message?: string): RangeError; - (message?: string): RangeError; - prototype: RangeError; -} - -declare var RangeError: RangeErrorConstructor; - -interface ReferenceError extends Error { -} - -interface ReferenceErrorConstructor { - new (message?: string): ReferenceError; - (message?: string): ReferenceError; - prototype: ReferenceError; -} - -declare var ReferenceError: ReferenceErrorConstructor; - -interface SyntaxError extends Error { -} - -interface SyntaxErrorConstructor { - new (message?: string): SyntaxError; - (message?: string): SyntaxError; - prototype: SyntaxError; -} - -declare var SyntaxError: SyntaxErrorConstructor; - -interface TypeError extends Error { -} - -interface TypeErrorConstructor { - new (message?: string): TypeError; - (message?: string): TypeError; - prototype: TypeError; -} - -declare var TypeError: TypeErrorConstructor; - -interface URIError extends Error { -} - -interface URIErrorConstructor { - new (message?: string): URIError; - (message?: string): URIError; - prototype: URIError; -} - -declare var URIError: URIErrorConstructor; - -interface JSON { - /** - * Converts a JavaScript Object Notation (JSON) string into an object. - * @param text A valid JSON string. - * @param reviver A function that transforms the results. This function is called for each member of the object. - * If a member contains nested objects, the nested objects are transformed before the parent object is. - */ - parse(text: string, reviver?: (key: any, value: any) => any): any; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - */ - stringify(value: any): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer A function that transforms the results. - */ - stringify(value: any, replacer: (key: string, value: any) => any): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer Array that transforms the results. - */ - stringify(value: any, replacer: any[]): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer A function that transforms the results. - * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. - */ - stringify(value: any, replacer: (key: string, value: any) => any, space: string | number): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer Array that transforms the results. - * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. - */ - stringify(value: any, replacer: any[], space: string | number): string; -} -/** - * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. - */ -declare var JSON: JSON; - - -///////////////////////////// -/// ECMAScript Array API (specially handled by compiler) -///////////////////////////// - -interface Array { - /** - * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. - */ - length: number; - /** - * Returns a string representation of an array. - */ - toString(): string; - toLocaleString(): string; - /** - * Appends new elements to an array, and returns the new length of the array. - * @param items New elements of the Array. - */ - push(...items: T[]): number; - /** - * Removes the last element from an array and returns it. - */ - pop(): T; - /** - * Combines two or more arrays. - * @param items Additional items to add to the end of array1. - */ - concat(...items: U[]): T[]; - /** - * Combines two or more arrays. - * @param items Additional items to add to the end of array1. - */ - concat(...items: T[]): T[]; - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - /** - * Reverses the elements in an Array. - */ - reverse(): T[]; - /** - * Removes the first element from an array and returns it. - */ - shift(): T; - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): T[]; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: T, b: T) => number): T[]; - - /** - * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. - * @param start The zero-based location in the array from which to start removing elements. - */ - splice(start: number): T[]; - - /** - * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. - * @param start The zero-based location in the array from which to start removing elements. - * @param deleteCount The number of elements to remove. - * @param items Elements to insert into the array in place of the deleted elements. - */ - splice(start: number, deleteCount: number, ...items: T[]): T[]; - - /** - * Inserts new elements at the start of an array. - * @param items Elements to insert at the start of the Array. - */ - unshift(...items: T[]): number; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. - */ - indexOf(searchElement: T, fromIndex?: number): number; - - /** - * Returns the index of the last occurrence of a specified value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. - */ - lastIndexOf(searchElement: T, fromIndex?: number): number; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; - - /** - * Calls a defined callback function on each element of an array, and returns an array that contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): T[]; - - /** - * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; - /** - * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; - /** - * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; - - [n: number]: T; -} - -interface ArrayConstructor { - new (arrayLength?: number): any[]; - new (arrayLength: number): T[]; - new (...items: T[]): T[]; - (arrayLength?: number): any[]; - (arrayLength: number): T[]; - (...items: T[]): T[]; - isArray(arg: any): arg is Array; - prototype: Array; -} - -declare var Array: ArrayConstructor; - -interface TypedPropertyDescriptor { - enumerable?: boolean; - configurable?: boolean; - writable?: boolean; - value?: T; - get?: () => T; - set?: (value: T) => void; -} - -declare type ClassDecorator = (target: TFunction) => TFunction | void; -declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; -declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; -declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; - -declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; - -interface PromiseLike { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; -} - -interface ArrayLike { - length: number; - [n: number]: T; -} - - -/** - * Represents a raw buffer of binary data, which is used to store data for the - * different typed arrays. ArrayBuffers cannot be read from or written to directly, - * but can be passed to a typed array or DataView Object to interpret the raw - * buffer as needed. - */ -interface ArrayBuffer { - /** - * Read-only. The length of the ArrayBuffer (in bytes). - */ - byteLength: number; - - /** - * Returns a section of an ArrayBuffer. - */ - slice(begin:number, end?:number): ArrayBuffer; -} - -interface ArrayBufferConstructor { - prototype: ArrayBuffer; - new (byteLength: number): ArrayBuffer; - isView(arg: any): boolean; -} -declare var ArrayBuffer: ArrayBufferConstructor; - -interface ArrayBufferView { - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; -} - -interface DataView { - buffer: ArrayBuffer; - byteLength: number; - byteOffset: number; - /** - * Gets the Float32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getFloat32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Float64 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getFloat64(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Int8 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt8(byteOffset: number): number; - - /** - * Gets the Int16 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt16(byteOffset: number, littleEndian?: boolean): number; - /** - * Gets the Int32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Uint8 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint8(byteOffset: number): number; - - /** - * Gets the Uint16 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint16(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Uint32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Stores an Float32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Float64 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Int8 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - */ - setInt8(byteOffset: number, value: number): void; - - /** - * Stores an Int16 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Int32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Uint8 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - */ - setUint8(byteOffset: number, value: number): void; - - /** - * Stores an Uint16 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Uint32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; -} - -interface DataViewConstructor { - new (buffer: ArrayBuffer, byteOffset?: number, byteLength?: number): DataView; -} -declare var DataView: DataViewConstructor; - -/** - * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Int8Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int8Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int8Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): Int8Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int8Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int8Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int8Array; - - /** - * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int8Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} -interface Int8ArrayConstructor { - prototype: Int8Array; - new (length: number): Int8Array; - new (array: ArrayLike): Int8Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; - -} -declare var Int8Array: Int8ArrayConstructor; - -/** - * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint8Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint8Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): Uint8Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint8Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint8Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint8Array; - - /** - * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint8Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint8ArrayConstructor { - prototype: Uint8Array; - new (length: number): Uint8Array; - new (array: ArrayLike): Uint8Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; - -} -declare var Uint8Array: Uint8ArrayConstructor; - -/** - * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. - * If the requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8ClampedArray { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint8ClampedArray; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint8ClampedArray; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): Uint8ClampedArray; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint8ClampedArray; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: Uint8ClampedArray, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint8ClampedArray; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint8ClampedArray; - - /** - * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint8ClampedArray; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint8ClampedArrayConstructor { - prototype: Uint8ClampedArray; - new (length: number): Uint8ClampedArray; - new (array: ArrayLike): Uint8ClampedArray; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint8ClampedArray; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; -} -declare var Uint8ClampedArray: Uint8ClampedArrayConstructor; - -/** - * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int16Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int16Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int16Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): Int16Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int16Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int16Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int16Array; - - /** - * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int16Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Int16ArrayConstructor { - prototype: Int16Array; - new (length: number): Int16Array; - new (array: ArrayLike): Int16Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; - -} -declare var Int16Array: Int16ArrayConstructor; - -/** - * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint16Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint16Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint16Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): Uint16Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint16Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint16Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint16Array; - - /** - * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint16Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint16ArrayConstructor { - prototype: Uint16Array; - new (length: number): Uint16Array; - new (array: ArrayLike): Uint16Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; - -} -declare var Uint16Array: Uint16ArrayConstructor; -/** - * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): Int32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int32Array; - - /** - * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Int32ArrayConstructor { - prototype: Int32Array; - new (length: number): Int32Array; - new (array: ArrayLike): Int32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; -} -declare var Int32Array: Int32ArrayConstructor; - -/** - * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): Uint32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint32Array; - - /** - * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint32ArrayConstructor { - prototype: Uint32Array; - new (length: number): Uint32Array; - new (array: ArrayLike): Uint32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; -} -declare var Uint32Array: Uint32ArrayConstructor; - -/** - * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number - * of bytes could not be allocated an exception is raised. - */ -interface Float32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Float32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Float32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): Float32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Float32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Float32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Float32Array; - - /** - * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Float32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Float32ArrayConstructor { - prototype: Float32Array; - new (length: number): Float32Array; - new (array: ArrayLike): Float32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Float32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; - -} -declare var Float32Array: Float32ArrayConstructor; - -/** - * A typed array of 64-bit float values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Float64Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Float64Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Float64Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): Float64Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Float64Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Float64Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Float64Array; - - /** - * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Float64Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Float64ArrayConstructor { - prototype: Float64Array; - new (length: number): Float64Array; - new (array: ArrayLike): Float64Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Float64Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; -} -declare var Float64Array: Float64ArrayConstructor; diff --git a/elpa/tide-20191201.727/tsserver/lib.core.es6.d.ts b/elpa/tide-20191201.727/tsserver/lib.core.es6.d.ts deleted file mode 100644 index fd11549..0000000 --- a/elpa/tide-20191201.727/tsserver/lib.core.es6.d.ts +++ /dev/null @@ -1,5128 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -/// - -///////////////////////////// -/// ECMAScript APIs -///////////////////////////// - -declare var NaN: number; -declare var Infinity: number; - -/** - * Evaluates JavaScript code and executes it. - * @param x A String value that contains valid JavaScript code. - */ -declare function eval(x: string): any; - -/** - * Converts A string to an integer. - * @param s A string to convert into a number. - * @param radix A value between 2 and 36 that specifies the base of the number in numString. - * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. - * All other strings are considered decimal. - */ -declare function parseInt(s: string, radix?: number): number; - -/** - * Converts a string to a floating-point number. - * @param string A string that contains a floating-point number. - */ -declare function parseFloat(string: string): number; - -/** - * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). - * @param number A numeric value. - */ -declare function isNaN(number: number): boolean; - -/** - * Determines whether a supplied number is finite. - * @param number Any numeric value. - */ -declare function isFinite(number: number): boolean; - -/** - * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). - * @param encodedURI A value representing an encoded URI. - */ -declare function decodeURI(encodedURI: string): string; - -/** - * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). - * @param encodedURIComponent A value representing an encoded URI component. - */ -declare function decodeURIComponent(encodedURIComponent: string): string; - -/** - * Encodes a text string as a valid Uniform Resource Identifier (URI) - * @param uri A value representing an encoded URI. - */ -declare function encodeURI(uri: string): string; - -/** - * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). - * @param uriComponent A value representing an encoded URI component. - */ -declare function encodeURIComponent(uriComponent: string): string; - -interface PropertyDescriptor { - configurable?: boolean; - enumerable?: boolean; - value?: any; - writable?: boolean; - get? (): any; - set? (v: any): void; -} - -interface PropertyDescriptorMap { - [s: string]: PropertyDescriptor; -} - -interface Object { - /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ - constructor: Function; - - /** Returns a string representation of an object. */ - toString(): string; - - /** Returns a date converted to a string using the current locale. */ - toLocaleString(): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): Object; - - /** - * Determines whether an object has a property with the specified name. - * @param v A property name. - */ - hasOwnProperty(v: string): boolean; - - /** - * Determines whether an object exists in another object's prototype chain. - * @param v Another object whose prototype chain is to be checked. - */ - isPrototypeOf(v: Object): boolean; - - /** - * Determines whether a specified property is enumerable. - * @param v A property name. - */ - propertyIsEnumerable(v: string): boolean; -} - -interface ObjectConstructor { - new (value?: any): Object; - (): any; - (value: any): any; - - /** A reference to the prototype for a class of objects. */ - prototype: Object; - - /** - * Returns the prototype of an object. - * @param o The object that references the prototype. - */ - getPrototypeOf(o: any): any; - - /** - * Gets the own property descriptor of the specified object. - * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. - * @param o Object that contains the property. - * @param p Name of the property. - */ - getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; - - /** - * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly - * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. - * @param o Object that contains the own properties. - */ - getOwnPropertyNames(o: any): string[]; - - /** - * Creates an object that has the specified prototype, and that optionally contains specified properties. - * @param o Object to use as a prototype. May be null - * @param properties JavaScript object that contains one or more property descriptors. - */ - create(o: any, properties?: PropertyDescriptorMap): any; - - /** - * Adds a property to an object, or modifies attributes of an existing property. - * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. - * @param p The property name. - * @param attributes Descriptor for the property. It can be for a data property or an accessor property. - */ - defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; - - /** - * Adds one or more properties to an object, and/or modifies attributes of existing properties. - * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. - * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. - */ - defineProperties(o: any, properties: PropertyDescriptorMap): any; - - /** - * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. - * @param o Object on which to lock the attributes. - */ - seal(o: T): T; - - /** - * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. - * @param o Object on which to lock the attributes. - */ - freeze(o: T): T; - - /** - * Prevents the addition of new properties to an object. - * @param o Object to make non-extensible. - */ - preventExtensions(o: T): T; - - /** - * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. - * @param o Object to test. - */ - isSealed(o: any): boolean; - - /** - * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. - * @param o Object to test. - */ - isFrozen(o: any): boolean; - - /** - * Returns a value that indicates whether new properties can be added to an object. - * @param o Object to test. - */ - isExtensible(o: any): boolean; - - /** - * Returns the names of the enumerable properties and methods of an object. - * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. - */ - keys(o: any): string[]; -} - -/** - * Provides functionality common to all JavaScript objects. - */ -declare var Object: ObjectConstructor; - -/** - * Creates a new function. - */ -interface Function { - /** - * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. - * @param thisArg The object to be used as the this object. - * @param argArray A set of arguments to be passed to the function. - */ - apply(thisArg: any, argArray?: any): any; - - /** - * Calls a method of an object, substituting another object for the current object. - * @param thisArg The object to be used as the current object. - * @param argArray A list of arguments to be passed to the method. - */ - call(thisArg: any, ...argArray: any[]): any; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg An object to which the this keyword can refer inside the new function. - * @param argArray A list of arguments to be passed to the new function. - */ - bind(thisArg: any, ...argArray: any[]): any; - - prototype: any; - length: number; - - // Non-standard extensions - arguments: any; - caller: Function; -} - -interface FunctionConstructor { - /** - * Creates a new function. - * @param args A list of arguments the function accepts. - */ - new (...args: string[]): Function; - (...args: string[]): Function; - prototype: Function; -} - -declare var Function: FunctionConstructor; - -interface IArguments { - [index: number]: any; - length: number; - callee: Function; -} - -interface String { - /** Returns a string representation of a string. */ - toString(): string; - - /** - * Returns the character at the specified index. - * @param pos The zero-based index of the desired character. - */ - charAt(pos: number): string; - - /** - * Returns the Unicode value of the character at the specified location. - * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. - */ - charCodeAt(index: number): number; - - /** - * Returns a string that contains the concatenation of two or more strings. - * @param strings The strings to append to the end of the string. - */ - concat(...strings: string[]): string; - - /** - * Returns the position of the first occurrence of a substring. - * @param searchString The substring to search for in the string - * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. - */ - indexOf(searchString: string, position?: number): number; - - /** - * Returns the last occurrence of a substring in the string. - * @param searchString The substring to search for. - * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. - */ - lastIndexOf(searchString: string, position?: number): number; - - /** - * Determines whether two strings are equivalent in the current locale. - * @param that String to compare to target string - */ - localeCompare(that: string): number; - - /** - * Matches a string with a regular expression, and returns an array containing the results of that search. - * @param regexp A variable name or string literal containing the regular expression pattern and flags. - */ - match(regexp: string): RegExpMatchArray; - - /** - * Matches a string with a regular expression, and returns an array containing the results of that search. - * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. - */ - match(regexp: RegExp): RegExpMatchArray; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A string that represents the regular expression. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. - */ - replace(searchValue: string, replaceValue: string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A string that represents the regular expression. - * @param replacer A function that returns the replacement text. - */ - replace(searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. - */ - replace(searchValue: RegExp, replaceValue: string): string; - - /** - * Replaces text in a string, using a regular expression or search string. - * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags - * @param replacer A function that returns the replacement text. - */ - replace(searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Finds the first substring match in a regular expression search. - * @param regexp The regular expression pattern and applicable flags. - */ - search(regexp: string): number; - - /** - * Finds the first substring match in a regular expression search. - * @param regexp The regular expression pattern and applicable flags. - */ - search(regexp: RegExp): number; - - /** - * Returns a section of a string. - * @param start The index to the beginning of the specified portion of stringObj. - * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. - * If this value is not specified, the substring continues to the end of stringObj. - */ - slice(start?: number, end?: number): string; - - /** - * Split a string into substrings using the specified separator and return them as an array. - * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. - * @param limit A value used to limit the number of elements returned in the array. - */ - split(separator: string, limit?: number): string[]; - - /** - * Split a string into substrings using the specified separator and return them as an array. - * @param separator A Regular Express that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. - * @param limit A value used to limit the number of elements returned in the array. - */ - split(separator: RegExp, limit?: number): string[]; - - /** - * Returns the substring at the specified location within a String object. - * @param start The zero-based index number indicating the beginning of the substring. - * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. - * If end is omitted, the characters from start through the end of the original string are returned. - */ - substring(start: number, end?: number): string; - - /** Converts all the alphabetic characters in a string to lowercase. */ - toLowerCase(): string; - - /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ - toLocaleLowerCase(): string; - - /** Converts all the alphabetic characters in a string to uppercase. */ - toUpperCase(): string; - - /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ - toLocaleUpperCase(): string; - - /** Removes the leading and trailing white space and line terminator characters from a string. */ - trim(): string; - - /** Returns the length of a String object. */ - length: number; - - // IE extensions - /** - * Gets a substring beginning at the specified location and having the specified length. - * @param from The starting position of the desired substring. The index of the first character in the string is zero. - * @param length The number of characters to include in the returned substring. - */ - substr(from: number, length?: number): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): string; - - [index: number]: string; -} - -interface StringConstructor { - new (value?: any): String; - (value?: any): string; - prototype: String; - fromCharCode(...codes: number[]): string; -} - -/** - * Allows manipulation and formatting of text strings and determination and location of substrings within strings. - */ -declare var String: StringConstructor; - -interface Boolean { - /** Returns the primitive value of the specified object. */ - valueOf(): boolean; -} - -interface BooleanConstructor { - new (value?: any): Boolean; - (value?: any): boolean; - prototype: Boolean; -} - -declare var Boolean: BooleanConstructor; - -interface Number { - /** - * Returns a string representation of an object. - * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. - */ - toString(radix?: number): string; - - /** - * Returns a string representing a number in fixed-point notation. - * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. - */ - toFixed(fractionDigits?: number): string; - - /** - * Returns a string containing a number represented in exponential notation. - * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. - */ - toExponential(fractionDigits?: number): string; - - /** - * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. - * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. - */ - toPrecision(precision?: number): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): number; -} - -interface NumberConstructor { - new (value?: any): Number; - (value?: any): number; - prototype: Number; - - /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ - MAX_VALUE: number; - - /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ - MIN_VALUE: number; - - /** - * A value that is not a number. - * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. - */ - NaN: number; - - /** - * A value that is less than the largest negative number that can be represented in JavaScript. - * JavaScript displays NEGATIVE_INFINITY values as -infinity. - */ - NEGATIVE_INFINITY: number; - - /** - * A value greater than the largest number that can be represented in JavaScript. - * JavaScript displays POSITIVE_INFINITY values as infinity. - */ - POSITIVE_INFINITY: number; -} - -/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ -declare var Number: NumberConstructor; - -interface TemplateStringsArray extends Array { - raw: string[]; -} - -interface Math { - /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ - E: number; - /** The natural logarithm of 10. */ - LN10: number; - /** The natural logarithm of 2. */ - LN2: number; - /** The base-2 logarithm of e. */ - LOG2E: number; - /** The base-10 logarithm of e. */ - LOG10E: number; - /** Pi. This is the ratio of the circumference of a circle to its diameter. */ - PI: number; - /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ - SQRT1_2: number; - /** The square root of 2. */ - SQRT2: number; - /** - * Returns the absolute value of a number (the value without regard to whether it is positive or negative). - * For example, the absolute value of -5 is the same as the absolute value of 5. - * @param x A numeric expression for which the absolute value is needed. - */ - abs(x: number): number; - /** - * Returns the arc cosine (or inverse cosine) of a number. - * @param x A numeric expression. - */ - acos(x: number): number; - /** - * Returns the arcsine of a number. - * @param x A numeric expression. - */ - asin(x: number): number; - /** - * Returns the arctangent of a number. - * @param x A numeric expression for which the arctangent is needed. - */ - atan(x: number): number; - /** - * Returns the angle (in radians) from the X axis to a point. - * @param y A numeric expression representing the cartesian y-coordinate. - * @param x A numeric expression representing the cartesian x-coordinate. - */ - atan2(y: number, x: number): number; - /** - * Returns the smallest number greater than or equal to its numeric argument. - * @param x A numeric expression. - */ - ceil(x: number): number; - /** - * Returns the cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - cos(x: number): number; - /** - * Returns e (the base of natural logarithms) raised to a power. - * @param x A numeric expression representing the power of e. - */ - exp(x: number): number; - /** - * Returns the greatest number less than or equal to its numeric argument. - * @param x A numeric expression. - */ - floor(x: number): number; - /** - * Returns the natural logarithm (base e) of a number. - * @param x A numeric expression. - */ - log(x: number): number; - /** - * Returns the larger of a set of supplied numeric expressions. - * @param values Numeric expressions to be evaluated. - */ - max(...values: number[]): number; - /** - * Returns the smaller of a set of supplied numeric expressions. - * @param values Numeric expressions to be evaluated. - */ - min(...values: number[]): number; - /** - * Returns the value of a base expression taken to a specified power. - * @param x The base value of the expression. - * @param y The exponent value of the expression. - */ - pow(x: number, y: number): number; - /** Returns a pseudorandom number between 0 and 1. */ - random(): number; - /** - * Returns a supplied numeric expression rounded to the nearest number. - * @param x The value to be rounded to the nearest number. - */ - round(x: number): number; - /** - * Returns the sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - sin(x: number): number; - /** - * Returns the square root of a number. - * @param x A numeric expression. - */ - sqrt(x: number): number; - /** - * Returns the tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - tan(x: number): number; -} -/** An intrinsic object that provides basic mathematics functionality and constants. */ -declare var Math: Math; - -/** Enables basic storage and retrieval of dates and times. */ -interface Date { - /** Returns a string representation of a date. The format of the string depends on the locale. */ - toString(): string; - /** Returns a date as a string value. */ - toDateString(): string; - /** Returns a time as a string value. */ - toTimeString(): string; - /** Returns a value as a string value appropriate to the host environment's current locale. */ - toLocaleString(): string; - /** Returns a date as a string value appropriate to the host environment's current locale. */ - toLocaleDateString(): string; - /** Returns a time as a string value appropriate to the host environment's current locale. */ - toLocaleTimeString(): string; - /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ - valueOf(): number; - /** Gets the time value in milliseconds. */ - getTime(): number; - /** Gets the year, using local time. */ - getFullYear(): number; - /** Gets the year using Universal Coordinated Time (UTC). */ - getUTCFullYear(): number; - /** Gets the month, using local time. */ - getMonth(): number; - /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ - getUTCMonth(): number; - /** Gets the day-of-the-month, using local time. */ - getDate(): number; - /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ - getUTCDate(): number; - /** Gets the day of the week, using local time. */ - getDay(): number; - /** Gets the day of the week using Universal Coordinated Time (UTC). */ - getUTCDay(): number; - /** Gets the hours in a date, using local time. */ - getHours(): number; - /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ - getUTCHours(): number; - /** Gets the minutes of a Date object, using local time. */ - getMinutes(): number; - /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ - getUTCMinutes(): number; - /** Gets the seconds of a Date object, using local time. */ - getSeconds(): number; - /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ - getUTCSeconds(): number; - /** Gets the milliseconds of a Date, using local time. */ - getMilliseconds(): number; - /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ - getUTCMilliseconds(): number; - /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ - getTimezoneOffset(): number; - /** - * Sets the date and time value in the Date object. - * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. - */ - setTime(time: number): number; - /** - * Sets the milliseconds value in the Date object using local time. - * @param ms A numeric value equal to the millisecond value. - */ - setMilliseconds(ms: number): number; - /** - * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). - * @param ms A numeric value equal to the millisecond value. - */ - setUTCMilliseconds(ms: number): number; - - /** - * Sets the seconds value in the Date object using local time. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setSeconds(sec: number, ms?: number): number; - /** - * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCSeconds(sec: number, ms?: number): number; - /** - * Sets the minutes value in the Date object using local time. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setMinutes(min: number, sec?: number, ms?: number): number; - /** - * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCMinutes(min: number, sec?: number, ms?: number): number; - /** - * Sets the hour value in the Date object using local time. - * @param hours A numeric value equal to the hours value. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setHours(hours: number, min?: number, sec?: number, ms?: number): number; - /** - * Sets the hours value in the Date object using Universal Coordinated Time (UTC). - * @param hours A numeric value equal to the hours value. - * @param min A numeric value equal to the minutes value. - * @param sec A numeric value equal to the seconds value. - * @param ms A numeric value equal to the milliseconds value. - */ - setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; - /** - * Sets the numeric day-of-the-month value of the Date object using local time. - * @param date A numeric value equal to the day of the month. - */ - setDate(date: number): number; - /** - * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). - * @param date A numeric value equal to the day of the month. - */ - setUTCDate(date: number): number; - /** - * Sets the month value in the Date object using local time. - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. - * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. - */ - setMonth(month: number, date?: number): number; - /** - * Sets the month value in the Date object using Universal Coordinated Time (UTC). - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. - * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. - */ - setUTCMonth(month: number, date?: number): number; - /** - * Sets the year of the Date object using local time. - * @param year A numeric value for the year. - * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. - * @param date A numeric value equal for the day of the month. - */ - setFullYear(year: number, month?: number, date?: number): number; - /** - * Sets the year value in the Date object using Universal Coordinated Time (UTC). - * @param year A numeric value equal to the year. - * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. - * @param date A numeric value equal to the day of the month. - */ - setUTCFullYear(year: number, month?: number, date?: number): number; - /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ - toUTCString(): string; - /** Returns a date as a string value in ISO format. */ - toISOString(): string; - /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ - toJSON(key?: any): string; -} - -interface DateConstructor { - new (): Date; - new (value: number): Date; - new (value: string): Date; - new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; - (): string; - prototype: Date; - /** - * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. - * @param s A date string - */ - parse(s: string): number; - /** - * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. - * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. - * @param month The month as an number between 0 and 11 (January to December). - * @param date The date as an number between 1 and 31. - * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. - * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. - * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. - * @param ms An number from 0 to 999 that specifies the milliseconds. - */ - UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; - now(): number; -} - -declare var Date: DateConstructor; - -interface RegExpMatchArray extends Array { - index?: number; - input?: string; -} - -interface RegExpExecArray extends Array { - index: number; - input: string; -} - -interface RegExp { - /** - * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. - * @param string The String object or string literal on which to perform the search. - */ - exec(string: string): RegExpExecArray; - - /** - * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. - * @param string String on which to perform the search. - */ - test(string: string): boolean; - - /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */ - source: string; - - /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ - global: boolean; - - /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ - ignoreCase: boolean; - - /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ - multiline: boolean; - - lastIndex: number; - - // Non-standard extensions - compile(): RegExp; -} - -interface RegExpConstructor { - new (pattern: string, flags?: string): RegExp; - (pattern: string, flags?: string): RegExp; - prototype: RegExp; - - // Non-standard extensions - $1: string; - $2: string; - $3: string; - $4: string; - $5: string; - $6: string; - $7: string; - $8: string; - $9: string; - lastMatch: string; -} - -declare var RegExp: RegExpConstructor; - -interface Error { - name: string; - message: string; -} - -interface ErrorConstructor { - new (message?: string): Error; - (message?: string): Error; - prototype: Error; -} - -declare var Error: ErrorConstructor; - -interface EvalError extends Error { -} - -interface EvalErrorConstructor { - new (message?: string): EvalError; - (message?: string): EvalError; - prototype: EvalError; -} - -declare var EvalError: EvalErrorConstructor; - -interface RangeError extends Error { -} - -interface RangeErrorConstructor { - new (message?: string): RangeError; - (message?: string): RangeError; - prototype: RangeError; -} - -declare var RangeError: RangeErrorConstructor; - -interface ReferenceError extends Error { -} - -interface ReferenceErrorConstructor { - new (message?: string): ReferenceError; - (message?: string): ReferenceError; - prototype: ReferenceError; -} - -declare var ReferenceError: ReferenceErrorConstructor; - -interface SyntaxError extends Error { -} - -interface SyntaxErrorConstructor { - new (message?: string): SyntaxError; - (message?: string): SyntaxError; - prototype: SyntaxError; -} - -declare var SyntaxError: SyntaxErrorConstructor; - -interface TypeError extends Error { -} - -interface TypeErrorConstructor { - new (message?: string): TypeError; - (message?: string): TypeError; - prototype: TypeError; -} - -declare var TypeError: TypeErrorConstructor; - -interface URIError extends Error { -} - -interface URIErrorConstructor { - new (message?: string): URIError; - (message?: string): URIError; - prototype: URIError; -} - -declare var URIError: URIErrorConstructor; - -interface JSON { - /** - * Converts a JavaScript Object Notation (JSON) string into an object. - * @param text A valid JSON string. - * @param reviver A function that transforms the results. This function is called for each member of the object. - * If a member contains nested objects, the nested objects are transformed before the parent object is. - */ - parse(text: string, reviver?: (key: any, value: any) => any): any; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - */ - stringify(value: any): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer A function that transforms the results. - */ - stringify(value: any, replacer: (key: string, value: any) => any): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer Array that transforms the results. - */ - stringify(value: any, replacer: any[]): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer A function that transforms the results. - * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. - */ - stringify(value: any, replacer: (key: string, value: any) => any, space: string | number): string; - /** - * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. - * @param value A JavaScript value, usually an object or array, to be converted. - * @param replacer Array that transforms the results. - * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. - */ - stringify(value: any, replacer: any[], space: string | number): string; -} -/** - * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. - */ -declare var JSON: JSON; - - -///////////////////////////// -/// ECMAScript Array API (specially handled by compiler) -///////////////////////////// - -interface Array { - /** - * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. - */ - length: number; - /** - * Returns a string representation of an array. - */ - toString(): string; - toLocaleString(): string; - /** - * Appends new elements to an array, and returns the new length of the array. - * @param items New elements of the Array. - */ - push(...items: T[]): number; - /** - * Removes the last element from an array and returns it. - */ - pop(): T; - /** - * Combines two or more arrays. - * @param items Additional items to add to the end of array1. - */ - concat(...items: U[]): T[]; - /** - * Combines two or more arrays. - * @param items Additional items to add to the end of array1. - */ - concat(...items: T[]): T[]; - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - /** - * Reverses the elements in an Array. - */ - reverse(): T[]; - /** - * Removes the first element from an array and returns it. - */ - shift(): T; - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): T[]; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: T, b: T) => number): T[]; - - /** - * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. - * @param start The zero-based location in the array from which to start removing elements. - */ - splice(start: number): T[]; - - /** - * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. - * @param start The zero-based location in the array from which to start removing elements. - * @param deleteCount The number of elements to remove. - * @param items Elements to insert into the array in place of the deleted elements. - */ - splice(start: number, deleteCount: number, ...items: T[]): T[]; - - /** - * Inserts new elements at the start of an array. - * @param items Elements to insert at the start of the Array. - */ - unshift(...items: T[]): number; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. - */ - indexOf(searchElement: T, fromIndex?: number): number; - - /** - * Returns the index of the last occurrence of a specified value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. - */ - lastIndexOf(searchElement: T, fromIndex?: number): number; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; - - /** - * Calls a defined callback function on each element of an array, and returns an array that contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): T[]; - - /** - * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; - /** - * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; - /** - * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; - - [n: number]: T; -} - -interface ArrayConstructor { - new (arrayLength?: number): any[]; - new (arrayLength: number): T[]; - new (...items: T[]): T[]; - (arrayLength?: number): any[]; - (arrayLength: number): T[]; - (...items: T[]): T[]; - isArray(arg: any): arg is Array; - prototype: Array; -} - -declare var Array: ArrayConstructor; - -interface TypedPropertyDescriptor { - enumerable?: boolean; - configurable?: boolean; - writable?: boolean; - value?: T; - get?: () => T; - set?: (value: T) => void; -} - -declare type ClassDecorator = (target: TFunction) => TFunction | void; -declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; -declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; -declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; - -declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; - -interface PromiseLike { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; -} - -interface ArrayLike { - length: number; - [n: number]: T; -} - - -/** - * Represents a raw buffer of binary data, which is used to store data for the - * different typed arrays. ArrayBuffers cannot be read from or written to directly, - * but can be passed to a typed array or DataView Object to interpret the raw - * buffer as needed. - */ -interface ArrayBuffer { - /** - * Read-only. The length of the ArrayBuffer (in bytes). - */ - byteLength: number; - - /** - * Returns a section of an ArrayBuffer. - */ - slice(begin:number, end?:number): ArrayBuffer; -} - -interface ArrayBufferConstructor { - prototype: ArrayBuffer; - new (byteLength: number): ArrayBuffer; - isView(arg: any): boolean; -} -declare var ArrayBuffer: ArrayBufferConstructor; - -interface ArrayBufferView { - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; -} - -interface DataView { - buffer: ArrayBuffer; - byteLength: number; - byteOffset: number; - /** - * Gets the Float32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getFloat32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Float64 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getFloat64(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Int8 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt8(byteOffset: number): number; - - /** - * Gets the Int16 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt16(byteOffset: number, littleEndian?: boolean): number; - /** - * Gets the Int32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getInt32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Uint8 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint8(byteOffset: number): number; - - /** - * Gets the Uint16 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint16(byteOffset: number, littleEndian?: boolean): number; - - /** - * Gets the Uint32 value at the specified byte offset from the start of the view. There is - * no alignment constraint; multi-byte values may be fetched from any offset. - * @param byteOffset The place in the buffer at which the value should be retrieved. - */ - getUint32(byteOffset: number, littleEndian?: boolean): number; - - /** - * Stores an Float32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Float64 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Int8 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - */ - setInt8(byteOffset: number, value: number): void; - - /** - * Stores an Int16 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Int32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Uint8 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - */ - setUint8(byteOffset: number, value: number): void; - - /** - * Stores an Uint16 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; - - /** - * Stores an Uint32 value at the specified byte offset from the start of the view. - * @param byteOffset The place in the buffer at which the value should be set. - * @param value The value to set. - * @param littleEndian If false or undefined, a big-endian value should be written, - * otherwise a little-endian value should be written. - */ - setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; -} - -interface DataViewConstructor { - new (buffer: ArrayBuffer, byteOffset?: number, byteLength?: number): DataView; -} -declare var DataView: DataViewConstructor; - -/** - * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Int8Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int8Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int8Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): Int8Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int8Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int8Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int8Array; - - /** - * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int8Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} -interface Int8ArrayConstructor { - prototype: Int8Array; - new (length: number): Int8Array; - new (array: ArrayLike): Int8Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; - -} -declare var Int8Array: Int8ArrayConstructor; - -/** - * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint8Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint8Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): Uint8Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint8Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint8Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint8Array; - - /** - * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint8Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint8ArrayConstructor { - prototype: Uint8Array; - new (length: number): Uint8Array; - new (array: ArrayLike): Uint8Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; - -} -declare var Uint8Array: Uint8ArrayConstructor; - -/** - * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. - * If the requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8ClampedArray { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint8ClampedArray; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint8ClampedArray; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): Uint8ClampedArray; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint8ClampedArray; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: Uint8ClampedArray, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint8ClampedArray; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint8ClampedArray; - - /** - * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint8ClampedArray; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint8ClampedArrayConstructor { - prototype: Uint8ClampedArray; - new (length: number): Uint8ClampedArray; - new (array: ArrayLike): Uint8ClampedArray; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint8ClampedArray; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; -} -declare var Uint8ClampedArray: Uint8ClampedArrayConstructor; - -/** - * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int16Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int16Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int16Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): Int16Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int16Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int16Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int16Array; - - /** - * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int16Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Int16ArrayConstructor { - prototype: Int16Array; - new (length: number): Int16Array; - new (array: ArrayLike): Int16Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; - -} -declare var Int16Array: Int16ArrayConstructor; - -/** - * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint16Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint16Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint16Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): Uint16Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint16Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint16Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint16Array; - - /** - * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint16Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint16ArrayConstructor { - prototype: Uint16Array; - new (length: number): Uint16Array; - new (array: ArrayLike): Uint16Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; - -} -declare var Uint16Array: Uint16ArrayConstructor; -/** - * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Int32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Int32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): Int32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Int32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Int32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Int32Array; - - /** - * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Int32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Int32ArrayConstructor { - prototype: Int32Array; - new (length: number): Int32Array; - new (array: ArrayLike): Int32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Int32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; -} -declare var Int32Array: Int32ArrayConstructor; - -/** - * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Uint32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Uint32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): Uint32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Uint32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Uint32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Uint32Array; - - /** - * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Uint32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Uint32ArrayConstructor { - prototype: Uint32Array; - new (length: number): Uint32Array; - new (array: ArrayLike): Uint32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Uint32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; -} -declare var Uint32Array: Uint32ArrayConstructor; - -/** - * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number - * of bytes could not be allocated an exception is raised. - */ -interface Float32Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Float32Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Float32Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): Float32Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Float32Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Float32Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Float32Array; - - /** - * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Float32Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Float32ArrayConstructor { - prototype: Float32Array; - new (length: number): Float32Array; - new (array: ArrayLike): Float32Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Float32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; - -} -declare var Float32Array: Float32ArrayConstructor; - -/** - * A typed array of 64-bit float values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Float64Array { - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * The ArrayBuffer instance referenced by the array. - */ - buffer: ArrayBuffer; - - /** - * The length in bytes of the array. - */ - byteLength: number; - - /** - * The offset in bytes of the array. - */ - byteOffset: number; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): Float64Array; - - /** - * Determines whether all the members of an array satisfy the specified test. - * @param callbackfn A function that accepts up to three arguments. The every method calls - * the callbackfn function for each element in array1 until the callbackfn returns false, - * or until the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: number, start?: number, end?: number): Float64Array; - - /** - * Returns the elements of an array that meet the condition specified in a callback function. - * @param callbackfn A function that accepts up to three arguments. The filter method calls - * the callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - filter(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): Float64Array; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: number, index: number, obj: Array) => boolean, thisArg?: any): number; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: number) => boolean, thisArg?: any): number; - - /** - * Performs the specified action for each element in an array. - * @param callbackfn A function that accepts up to three arguments. forEach calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; - - /** - * Returns the index of the first occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - indexOf(searchElement: number, fromIndex?: number): number; - - /** - * Adds all the elements of an array separated by the specified separator string. - * @param separator A string used to separate one element of an array from the next in the - * resulting String. If omitted, the array elements are separated with a comma. - */ - join(separator?: string): string; - - /** - * Returns the index of the last occurrence of a value in an array. - * @param searchElement The value to locate in the array. - * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the - * search starts at index 0. - */ - lastIndexOf(searchElement: number, fromIndex?: number): number; - - /** - * The length of the array. - */ - length: number; - - /** - * Calls a defined callback function on each element of an array, and returns an array that - * contains the results. - * @param callbackfn A function that accepts up to three arguments. The map method calls the - * callbackfn function one time for each element in the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array. The return value of - * the callback function is the accumulated result, and is provided as an argument in the next - * call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduce method calls the - * callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an - * argument instead of an array value. - */ - reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number; - - /** - * Calls the specified callback function for all the elements in an array, in descending order. - * The return value of the callback function is the accumulated result, and is provided as an - * argument in the next call to the callback function. - * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls - * the callbackfn function one time for each element in the array. - * @param initialValue If initialValue is specified, it is used as the initial value to start - * the accumulation. The first call to the callbackfn function provides this value as an argument - * instead of an array value. - */ - reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; - - /** - * Reverses the elements in an Array. - */ - reverse(): Float64Array; - - /** - * Sets a value or an array of values. - * @param index The index of the location to set. - * @param value The value to set. - */ - set(index: number, value: number): void; - - /** - * Sets a value or an array of values. - * @param array A typed or untyped array of values to set. - * @param offset The index in the current array at which the values are to be written. - */ - set(array: ArrayLike, offset?: number): void; - - /** - * Returns a section of an array. - * @param start The beginning of the specified portion of the array. - * @param end The end of the specified portion of the array. - */ - slice(start?: number, end?: number): Float64Array; - - /** - * Determines whether the specified callback function returns true for any element of an array. - * @param callbackfn A function that accepts up to three arguments. The some method calls the - * callbackfn function for each element in array1 until the callbackfn returns true, or until - * the end of the array. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. - * If thisArg is omitted, undefined is used as the this value. - */ - some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean; - - /** - * Sorts an array. - * @param compareFn The name of the function used to determine the order of the elements. If - * omitted, the elements are sorted in ascending, ASCII character order. - */ - sort(compareFn?: (a: number, b: number) => number): Float64Array; - - /** - * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements - * at begin, inclusive, up to end, exclusive. - * @param begin The index of the beginning of the array. - * @param end The index of the end of the array. - */ - subarray(begin: number, end?: number): Float64Array; - - /** - * Converts a number to a string by using the current locale. - */ - toLocaleString(): string; - - /** - * Returns a string representation of an array. - */ - toString(): string; - - [index: number]: number; -} - -interface Float64ArrayConstructor { - prototype: Float64Array; - new (length: number): Float64Array; - new (array: ArrayLike): Float64Array; - new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; - - /** - * The size in bytes of each element in the array. - */ - BYTES_PER_ELEMENT: number; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: number[]): Float64Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; -} -declare var Float64Array: Float64ArrayConstructor; -declare type PropertyKey = string | number | symbol; - -interface Symbol { - /** Returns a string representation of an object. */ - toString(): string; - - /** Returns the primitive value of the specified object. */ - valueOf(): Object; - - [Symbol.toStringTag]: string; -} - -interface SymbolConstructor { - /** - * A reference to the prototype. - */ - prototype: Symbol; - - /** - * Returns a new unique Symbol value. - * @param description Description of the new Symbol object. - */ - (description?: string|number): symbol; - - /** - * Returns a Symbol object from the global symbol registry matching the given key if found. - * Otherwise, returns a new symbol with this key. - * @param key key to search for. - */ - for(key: string): symbol; - - /** - * Returns a key from the global symbol registry matching the given Symbol if found. - * Otherwise, returns a undefined. - * @param sym Symbol to find the key for. - */ - keyFor(sym: symbol): string; - - // Well-known Symbols - - /** - * A method that determines if a constructor object recognizes an object as one of the - * constructor’s instances. Called by the semantics of the instanceof operator. - */ - hasInstance: symbol; - - /** - * A Boolean value that if true indicates that an object should flatten to its array elements - * by Array.prototype.concat. - */ - isConcatSpreadable: symbol; - - /** - * A method that returns the default iterator for an object. Called by the semantics of the - * for-of statement. - */ - iterator: symbol; - - /** - * A regular expression method that matches the regular expression against a string. Called - * by the String.prototype.match method. - */ - match: symbol; - - /** - * A regular expression method that replaces matched substrings of a string. Called by the - * String.prototype.replace method. - */ - replace: symbol; - - /** - * A regular expression method that returns the index within a string that matches the - * regular expression. Called by the String.prototype.search method. - */ - search: symbol; - - /** - * A function valued property that is the constructor function that is used to create - * derived objects. - */ - species: symbol; - - /** - * A regular expression method that splits a string at the indices that match the regular - * expression. Called by the String.prototype.split method. - */ - split: symbol; - - /** - * A method that converts an object to a corresponding primitive value. - * Called by the ToPrimitive abstract operation. - */ - toPrimitive: symbol; - - /** - * A String value that is used in the creation of the default string description of an object. - * Called by the built-in method Object.prototype.toString. - */ - toStringTag: symbol; - - /** - * An Object whose own property names are property names that are excluded from the 'with' - * environment bindings of the associated objects. - */ - unscopables: symbol; -} -declare var Symbol: SymbolConstructor; - -interface Object { - /** - * Determines whether an object has a property with the specified name. - * @param v A property name. - */ - hasOwnProperty(v: PropertyKey): boolean; - - /** - * Determines whether a specified property is enumerable. - * @param v A property name. - */ - propertyIsEnumerable(v: PropertyKey): boolean; -} - -interface ObjectConstructor { - /** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * @param target The target object to copy to. - * @param sources One or more source objects to copy properties from. - */ - assign(target: any, ...sources: any[]): any; - - /** - * Returns an array of all symbol properties found directly on object o. - * @param o Object to retrieve the symbols from. - */ - getOwnPropertySymbols(o: any): symbol[]; - - /** - * Returns true if the values are the same value, false otherwise. - * @param value1 The first value. - * @param value2 The second value. - */ - is(value1: any, value2: any): boolean; - - /** - * Sets the prototype of a specified object o to object proto or null. Returns the object o. - * @param o The object to change its prototype. - * @param proto The value of the new prototype or null. - */ - setPrototypeOf(o: any, proto: any): any; - - /** - * Gets the own property descriptor of the specified object. - * An own property descriptor is one that is defined directly on the object and is not - * inherited from the object's prototype. - * @param o Object that contains the property. - * @param p Name of the property. - */ - getOwnPropertyDescriptor(o: any, propertyKey: PropertyKey): PropertyDescriptor; - - /** - * Adds a property to an object, or modifies attributes of an existing property. - * @param o Object on which to add or modify the property. This can be a native JavaScript - * object (that is, a user-defined object or a built in object) or a DOM object. - * @param p The property name. - * @param attributes Descriptor for the property. It can be for a data property or an accessor - * property. - */ - defineProperty(o: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): any; -} - -interface Function { - /** - * Returns the name of the function. Function names are read-only and can not be changed. - */ - name: string; - - /** - * Determines whether the given value inherits from this function if this function was used - * as a constructor function. - * - * A constructor function can control which objects are recognized as its instances by - * 'instanceof' by overriding this method. - */ - [Symbol.hasInstance](value: any): boolean; -} - -interface NumberConstructor { - /** - * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1 - * that is representable as a Number value, which is approximately: - * 2.2204460492503130808472633361816 x 10‍−‍16. - */ - EPSILON: number; - - /** - * Returns true if passed value is finite. - * Unlike the global isFininte, Number.isFinite doesn't forcibly convert the parameter to a - * number. Only finite values of the type number, result in true. - * @param number A numeric value. - */ - isFinite(number: number): boolean; - - /** - * Returns true if the value passed is an integer, false otherwise. - * @param number A numeric value. - */ - isInteger(number: number): boolean; - - /** - * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a - * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter - * to a number. Only values of the type number, that are also NaN, result in true. - * @param number A numeric value. - */ - isNaN(number: number): boolean; - - /** - * Returns true if the value passed is a safe integer. - * @param number A numeric value. - */ - isSafeInteger(number: number): boolean; - - /** - * The value of the largest integer n such that n and n + 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is 9007199254740991 2^53 − 1. - */ - MAX_SAFE_INTEGER: number; - - /** - * The value of the smallest integer n such that n and n − 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)). - */ - MIN_SAFE_INTEGER: number; - - /** - * Converts a string to a floating-point number. - * @param string A string that contains a floating-point number. - */ - parseFloat(string: string): number; - - /** - * Converts A string to an integer. - * @param s A string to convert into a number. - * @param radix A value between 2 and 36 that specifies the base of the number in numString. - * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. - * All other strings are considered decimal. - */ - parseInt(string: string, radix?: number): number; -} - -interface Array { - /** Iterator */ - [Symbol.iterator](): IterableIterator; - - /** - * Returns an object whose properties have the value 'true' - * when they will be absent when used in a 'with' statement. - */ - [Symbol.unscopables](): { - copyWithin: boolean; - entries: boolean; - fill: boolean; - find: boolean; - findIndex: boolean; - keys: boolean; - values: boolean; - }; - - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, T]>; - - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: T, index: number, obj: Array) => boolean, thisArg?: any): T; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: T) => boolean, thisArg?: any): number; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: T, start?: number, end?: number): T[]; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): T[]; -} - -interface IArguments { - /** Iterator */ - [Symbol.iterator](): IterableIterator; -} - -interface ArrayConstructor { - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(iterable: Iterable, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - */ - from(arrayLike: ArrayLike): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - */ - from(iterable: Iterable): Array; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: T[]): Array; -} - -interface String { - /** Iterator */ - [Symbol.iterator](): IterableIterator; - - /** - * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point - * value of the UTF-16 encoded code point starting at the string element at position pos in - * the String resulting from converting this object to a String. - * If there is no element at that position, the result is undefined. - * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos. - */ - codePointAt(pos: number): number; - - /** - * Returns true if searchString appears as a substring of the result of converting this - * object to a String, at one or more positions that are - * greater than or equal to position; otherwise, returns false. - * @param searchString search string - * @param position If position is undefined, 0 is assumed, so as to search all of the String. - */ - includes(searchString: string, position?: number): boolean; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * endPosition – length(this). Otherwise returns false. - */ - endsWith(searchString: string, endPosition?: number): boolean; - - /** - * Returns the String value result of normalizing the string into the normalization form - * named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. - * @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default - * is "NFC" - */ - normalize(form?: string): string; - - /** - * Returns a String value that is made from count copies appended together. If count is 0, - * T is the empty String is returned. - * @param count number of copies to append - */ - repeat(count: number): string; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * position. Otherwise returns false. - */ - startsWith(searchString: string, position?: number): boolean; - - // Overloads for objects with methods of well-known symbols. - - /** - * Matches a string an object that supports being matched against, and returns an array containing the results of that search. - * @param matcher An object that supports being matched against. - */ - match(matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; - - /** - * Replaces text in a string, using an object that supports replacement within a string. - * @param searchValue A object can search for and replace matches within a string. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. - */ - replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; - - /** - * Replaces text in a string, using an object that supports replacement within a string. - * @param searchValue A object can search for and replace matches within a string. - * @param replacer A function that returns the replacement text. - */ - replace(searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Finds the first substring match in a regular expression search. - * @param searcher An object which supports searching within a string. - */ - search(searcher: { [Symbol.search](string: string): number; }): number; - - /** - * Split a string into substrings using the specified separator and return them as an array. - * @param splitter An object that can split a string. - * @param limit A value used to limit the number of elements returned in the array. - */ - split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; - - /** - * Returns an HTML anchor element and sets the name attribute to the text value - * @param name - */ - anchor(name: string): string; - - /** Returns a HTML element */ - big(): string; - - /** Returns a HTML element */ - blink(): string; - - /** Returns a HTML element */ - bold(): string; - - /** Returns a HTML element */ - fixed(): string - - /** Returns a HTML element and sets the color attribute value */ - fontcolor(color: string): string - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: number): string; - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: string): string; - - /** Returns an HTML element */ - italics(): string; - - /** Returns an HTML element and sets the href attribute value */ - link(url: string): string; - - /** Returns a HTML element */ - small(): string; - - /** Returns a HTML element */ - strike(): string; - - /** Returns a HTML element */ - sub(): string; - - /** Returns a HTML element */ - sup(): string; -} - -interface StringConstructor { - /** - * Return the String value whose elements are, in order, the elements in the List elements. - * If length is 0, the empty string is returned. - */ - fromCodePoint(...codePoints: number[]): string; - - /** - * String.raw is intended for use as a tag function of a Tagged Template String. When called - * as such the first argument will be a well formed template call site object and the rest - * parameter will contain the substitution values. - * @param template A well-formed template string call site representation. - * @param substitutions A set of substitution values. - */ - raw(template: TemplateStringsArray, ...substitutions: any[]): string; -} - -interface IteratorResult { - done: boolean; - value?: T; -} - -interface Iterator { - next(value?: any): IteratorResult; - return?(value?: any): IteratorResult; - throw?(e?: any): IteratorResult; -} - -interface Iterable { - [Symbol.iterator](): Iterator; -} - -interface IterableIterator extends Iterator { - [Symbol.iterator](): IterableIterator; -} - -interface GeneratorFunction extends Function { - -} - -interface GeneratorFunctionConstructor { - /** - * Creates a new Generator function. - * @param args A list of arguments the function accepts. - */ - new (...args: string[]): GeneratorFunction; - (...args: string[]): GeneratorFunction; - prototype: GeneratorFunction; -} -declare var GeneratorFunction: GeneratorFunctionConstructor; - -interface Math { - /** - * Returns the number of leading zero bits in the 32-bit binary representation of a number. - * @param x A numeric expression. - */ - clz32(x: number): number; - - /** - * Returns the result of 32-bit multiplication of two numbers. - * @param x First number - * @param y Second number - */ - imul(x: number, y: number): number; - - /** - * Returns the sign of the x, indicating whether x is positive, negative or zero. - * @param x The numeric expression to test - */ - sign(x: number): number; - - /** - * Returns the base 10 logarithm of a number. - * @param x A numeric expression. - */ - log10(x: number): number; - - /** - * Returns the base 2 logarithm of a number. - * @param x A numeric expression. - */ - log2(x: number): number; - - /** - * Returns the natural logarithm of 1 + x. - * @param x A numeric expression. - */ - log1p(x: number): number; - - /** - * Returns the result of (e^x - 1) of x (e raised to the power of x, where e is the base of - * the natural logarithms). - * @param x A numeric expression. - */ - expm1(x: number): number; - - /** - * Returns the hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - cosh(x: number): number; - - /** - * Returns the hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - sinh(x: number): number; - - /** - * Returns the hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - tanh(x: number): number; - - /** - * Returns the inverse hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - acosh(x: number): number; - - /** - * Returns the inverse hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - asinh(x: number): number; - - /** - * Returns the inverse hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - atanh(x: number): number; - - /** - * Returns the square root of the sum of squares of its arguments. - * @param values Values to compute the square root for. - * If no arguments are passed, the result is +0. - * If there is only one argument, the result is the absolute value. - * If any argument is +Infinity or -Infinity, the result is +Infinity. - * If any argument is NaN, the result is NaN. - * If all arguments are either +0 or −0, the result is +0. - */ - hypot(...values: number[] ): number; - - /** - * Returns the integral part of the a numeric expression, x, removing any fractional digits. - * If x is already an integer, the result is x. - * @param x A numeric expression. - */ - trunc(x: number): number; - - /** - * Returns the nearest single precision float representation of a number. - * @param x A numeric expression. - */ - fround(x: number): number; - - /** - * Returns an implementation-dependent approximation to the cube root of number. - * @param x A numeric expression. - */ - cbrt(x: number): number; - - [Symbol.toStringTag]: string; -} - -interface Date { - /** - * Converts a Date object to a string. - */ - [Symbol.toPrimitive](hint: "default"): string; - /** - * Converts a Date object to a string. - */ - [Symbol.toPrimitive](hint: "string"): string; - /** - * Converts a Date object to a number. - */ - [Symbol.toPrimitive](hint: "number"): number; - /** - * Converts a Date object to a string or number. - * - * @param hint The strings "number", "string", or "default" to specify what primitive to return. - * - * @throws {TypeError} If 'hint' was given something other than "number", "string", or "default". - * @returns A number if 'hint' was "number", a string if 'hint' was "string" or "default". - */ - [Symbol.toPrimitive](hint: string): string | number; -} - -interface RegExp { - /** - * Matches a string with this regular expression, and returns an array containing the results of - * that search. - * @param string A string to search within. - */ - [Symbol.match](string: string): RegExpMatchArray; - - /** - * Replaces text in a string, using this regular expression. - * @param string A String object or string literal whose contents matching against - * this regular expression will be replaced - * @param replaceValue A String object or string literal containing the text to replace for every - * successful match of this regular expression. - */ - [Symbol.replace](string: string, replaceValue: string): string; - - /** - * Replaces text in a string, using this regular expression. - * @param string A String object or string literal whose contents matching against - * this regular expression will be replaced - * @param replacer A function that returns the replacement text. - */ - [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; - - /** - * Finds the position beginning first substring match in a regular expression search - * using this regular expression. - * - * @param string The string to search within. - */ - [Symbol.search](string: string): number; - - /** - * Returns an array of substrings that were delimited by strings in the original input that - * match against this regular expression. - * - * If the regular expression contains capturing parentheses, then each time this - * regular expression matches, the results (including any undefined results) of the - * capturing parentheses are spliced. - * - * @param string string value to split - * @param limit if not undefined, the output array is truncated so that it contains no more - * than 'limit' elements. - */ - [Symbol.split](string: string, limit?: number): string[]; - - /** - * Returns a string indicating the flags of the regular expression in question. This field is read-only. - * The characters in this string are sequenced and concatenated in the following order: - * - * - "g" for global - * - "i" for ignoreCase - * - "m" for multiline - * - "u" for unicode - * - "y" for sticky - * - * If no flags are set, the value is the empty string. - */ - flags: string; - - /** - * Returns a Boolean value indicating the state of the sticky flag (y) used with a regular - * expression. Default is false. Read-only. - */ - sticky: boolean; - - /** - * Returns a Boolean value indicating the state of the Unicode flag (u) used with a regular - * expression. Default is false. Read-only. - */ - unicode: boolean; -} - -interface RegExpConstructor { - [Symbol.species](): RegExpConstructor; -} - -interface Map { - clear(): void; - delete(key: K): boolean; - entries(): IterableIterator<[K, V]>; - forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; - get(key: K): V; - has(key: K): boolean; - keys(): IterableIterator; - set(key: K, value?: V): Map; - size: number; - values(): IterableIterator; - [Symbol.iterator]():IterableIterator<[K,V]>; - [Symbol.toStringTag]: string; -} - -interface MapConstructor { - new (): Map; - new (): Map; - new (iterable: Iterable<[K, V]>): Map; - prototype: Map; -} -declare var Map: MapConstructor; - -interface WeakMap { - clear(): void; - delete(key: K): boolean; - get(key: K): V; - has(key: K): boolean; - set(key: K, value?: V): WeakMap; - [Symbol.toStringTag]: string; -} - -interface WeakMapConstructor { - new (): WeakMap; - new (): WeakMap; - new (iterable: Iterable<[K, V]>): WeakMap; - prototype: WeakMap; -} -declare var WeakMap: WeakMapConstructor; - -interface Set { - add(value: T): Set; - clear(): void; - delete(value: T): boolean; - entries(): IterableIterator<[T, T]>; - forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; - has(value: T): boolean; - keys(): IterableIterator; - size: number; - values(): IterableIterator; - [Symbol.iterator]():IterableIterator; - [Symbol.toStringTag]: string; -} - -interface SetConstructor { - new (): Set; - new (): Set; - new (iterable: Iterable): Set; - prototype: Set; -} -declare var Set: SetConstructor; - -interface WeakSet { - add(value: T): WeakSet; - clear(): void; - delete(value: T): boolean; - has(value: T): boolean; - [Symbol.toStringTag]: string; -} - -interface WeakSetConstructor { - new (): WeakSet; - new (): WeakSet; - new (iterable: Iterable): WeakSet; - prototype: WeakSet; -} -declare var WeakSet: WeakSetConstructor; - -interface JSON { - [Symbol.toStringTag]: string; -} - -/** - * Represents a raw buffer of binary data, which is used to store data for the - * different typed arrays. ArrayBuffers cannot be read from or written to directly, - * but can be passed to a typed array or DataView Object to interpret the raw - * buffer as needed. - */ -interface ArrayBuffer { - [Symbol.toStringTag]: string; -} - -interface DataView { - [Symbol.toStringTag]: string; -} - -/** - * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Int8Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Int8ArrayConstructor { - new (elements: Iterable): Int8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; -} - -/** - * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Uint8ArrayConstructor { - new (elements: Iterable): Uint8Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; -} - -/** - * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. - * If the requested number of bytes could not be allocated an exception is raised. - */ -interface Uint8ClampedArray { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - - [Symbol.iterator](): IterableIterator; -} - -interface Uint8ClampedArrayConstructor { - new (elements: Iterable): Uint8ClampedArray; - - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; -} - -/** - * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int16Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - - - [Symbol.iterator](): IterableIterator; -} - -interface Int16ArrayConstructor { - new (elements: Iterable): Int16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; -} - -/** - * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint16Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Uint16ArrayConstructor { - new (elements: Iterable): Uint16Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; -} - -/** - * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Int32Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Int32ArrayConstructor { - new (elements: Iterable): Int32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; -} - -/** - * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the - * requested number of bytes could not be allocated an exception is raised. - */ -interface Uint32Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Uint32ArrayConstructor { - new (elements: Iterable): Uint32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; -} - -/** - * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number - * of bytes could not be allocated an exception is raised. - */ -interface Float32Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Float32ArrayConstructor { - new (elements: Iterable): Float32Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; -} - -/** - * A typed array of 64-bit float values. The contents are initialized to 0. If the requested - * number of bytes could not be allocated an exception is raised. - */ -interface Float64Array { - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIterator<[number, number]>; - /** - * Returns an list of keys in the array - */ - keys(): IterableIterator; - /** - * Returns an list of values in the array - */ - values(): IterableIterator; - [Symbol.iterator](): IterableIterator; -} - -interface Float64ArrayConstructor { - new (elements: Iterable): Float64Array; - - /** - * Creates an array from an array-like or iterable object. - * @param arrayLike An array-like or iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; -} - -interface ProxyHandler { - getPrototypeOf? (target: T): any; - setPrototypeOf? (target: T, v: any): boolean; - isExtensible? (target: T): boolean; - preventExtensions? (target: T): boolean; - getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor; - has? (target: T, p: PropertyKey): boolean; - get? (target: T, p: PropertyKey, receiver: any): any; - set? (target: T, p: PropertyKey, value: any, receiver: any): boolean; - deleteProperty? (target: T, p: PropertyKey): boolean; - defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean; - enumerate? (target: T): PropertyKey[]; - ownKeys? (target: T): PropertyKey[]; - apply? (target: T, thisArg: any, argArray?: any): any; - construct? (target: T, thisArg: any, argArray?: any): any; -} - -interface ProxyConstructor { - revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; - new (target: T, handler: ProxyHandler): T -} -declare var Proxy: ProxyConstructor; - -declare namespace Reflect { - function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; - function construct(target: Function, argumentsList: ArrayLike, newTarget?: any): any; - function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; - function deleteProperty(target: any, propertyKey: PropertyKey): boolean; - function enumerate(target: any): IterableIterator; - function get(target: any, propertyKey: PropertyKey, receiver?: any): any; - function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; - function getPrototypeOf(target: any): any; - function has(target: any, propertyKey: string): boolean; - function has(target: any, propertyKey: symbol): boolean; - function isExtensible(target: any): boolean; - function ownKeys(target: any): Array; - function preventExtensions(target: any): boolean; - function set(target: any, propertyKey: PropertyKey, value: any, receiver? :any): boolean; - function setPrototypeOf(target: any, proto: any): boolean; -} - -/** - * Represents the completion of an asynchronous operation - */ -interface Promise { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; - - /** - * Attaches a callback for only the rejection of the Promise. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of the callback. - */ - catch(onrejected?: (reason: any) => T | PromiseLike): Promise; - catch(onrejected?: (reason: any) => void): Promise; - - [Symbol.toStringTag]: string; -} - -interface PromiseConstructor { - /** - * A reference to the prototype. - */ - prototype: Promise; - - /** - * Creates a new Promise. - * @param executor A callback used to initialize the promise. This callback is passed two arguments: - * a resolve callback used resolve the promise with a value or the result of another promise, - * and a reject callback used to reject the promise with a provided reason or error. - */ - new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: Iterable>): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: Iterable>): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new resolved promise for the provided value. - * @param value A promise. - * @returns A promise whose internal state matches the provided promise. - */ - resolve(value: T | PromiseLike): Promise; - - /** - * Creates a new resolved promise . - * @returns A resolved promise. - */ - resolve(): Promise; - - [Symbol.species]: Function; -} - -declare var Promise: PromiseConstructor; diff --git a/elpa/tide-20191201.727/tsserver/lib.d.ts b/elpa/tide-20191201.727/tsserver/lib.d.ts deleted file mode 100644 index 38a1cc0..0000000 --- a/elpa/tide-20191201.727/tsserver/lib.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - - - -/// - - -/// -/// -/// -/// diff --git a/elpa/tide-20191201.727/tsserver/lib.dom.d.ts b/elpa/tide-20191201.727/tsserver/lib.dom.d.ts deleted file mode 100644 index ffb28f2..0000000 --- a/elpa/tide-20191201.727/tsserver/lib.dom.d.ts +++ /dev/null @@ -1,20122 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - - - -/// - - -///////////////////////////// -/// DOM APIs -///////////////////////////// - -interface Account { - displayName: string; - id: string; - imageURL?: string; - name?: string; - rpDisplayName: string; -} - -interface AddEventListenerOptions extends EventListenerOptions { - once?: boolean; - passive?: boolean; -} - -interface AesCbcParams extends Algorithm { - iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; -} - -interface AesCtrParams extends Algorithm { - counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; - length: number; -} - -interface AesDerivedKeyParams extends Algorithm { - length: number; -} - -interface AesGcmParams extends Algorithm { - additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; - iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; - tagLength?: number; -} - -interface AesKeyAlgorithm extends KeyAlgorithm { - length: number; -} - -interface AesKeyGenParams extends Algorithm { - length: number; -} - -interface Algorithm { - name: string; -} - -interface AnalyserOptions extends AudioNodeOptions { - fftSize?: number; - maxDecibels?: number; - minDecibels?: number; - smoothingTimeConstant?: number; -} - -interface AnimationEventInit extends EventInit { - animationName?: string; - elapsedTime?: number; - pseudoElement?: string; -} - -interface AnimationPlaybackEventInit extends EventInit { - currentTime?: number | null; - timelineTime?: number | null; -} - -interface AssertionOptions { - allowList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: string; - timeoutSeconds?: number; -} - -interface AssignedNodesOptions { - flatten?: boolean; -} - -interface AudioBufferOptions { - length: number; - numberOfChannels?: number; - sampleRate: number; -} - -interface AudioBufferSourceOptions { - buffer?: AudioBuffer | null; - detune?: number; - loop?: boolean; - loopEnd?: number; - loopStart?: number; - playbackRate?: number; -} - -interface AudioContextInfo { - currentTime?: number; - sampleRate?: number; -} - -interface AudioContextOptions { - latencyHint?: AudioContextLatencyCategory | number; - sampleRate?: number; -} - -interface AudioNodeOptions { - channelCount?: number; - channelCountMode?: ChannelCountMode; - channelInterpretation?: ChannelInterpretation; -} - -interface AudioParamDescriptor { - automationRate?: AutomationRate; - defaultValue?: number; - maxValue?: number; - minValue?: number; - name: string; -} - -interface AudioProcessingEventInit extends EventInit { - inputBuffer: AudioBuffer; - outputBuffer: AudioBuffer; - playbackTime: number; -} - -interface AudioTimestamp { - contextTime?: number; - performanceTime?: number; -} - -interface AudioWorkletNodeOptions extends AudioNodeOptions { - numberOfInputs?: number; - numberOfOutputs?: number; - outputChannelCount?: number[]; - parameterData?: Record; - processorOptions?: any; -} - -interface AuthenticationExtensionsClientInputs { - appid?: string; - authnSel?: AuthenticatorSelectionList; - exts?: boolean; - loc?: boolean; - txAuthGeneric?: txAuthGenericArg; - txAuthSimple?: string; - uvi?: boolean; - uvm?: boolean; -} - -interface AuthenticationExtensionsClientOutputs { - appid?: boolean; - authnSel?: boolean; - exts?: AuthenticationExtensionsSupported; - loc?: Coordinates; - txAuthGeneric?: ArrayBuffer; - txAuthSimple?: string; - uvi?: ArrayBuffer; - uvm?: UvmEntries; -} - -interface AuthenticatorSelectionCriteria { - authenticatorAttachment?: AuthenticatorAttachment; - requireResidentKey?: boolean; - userVerification?: UserVerificationRequirement; -} - -interface BiquadFilterOptions extends AudioNodeOptions { - Q?: number; - detune?: number; - frequency?: number; - gain?: number; - type?: BiquadFilterType; -} - -interface BlobPropertyBag { - endings?: EndingType; - type?: string; -} - -interface ByteLengthChunk { - byteLength?: number; -} - -interface CacheQueryOptions { - ignoreMethod?: boolean; - ignoreSearch?: boolean; - ignoreVary?: boolean; -} - -interface CanvasRenderingContext2DSettings { - alpha?: boolean; - desynchronized?: boolean; -} - -interface ChannelMergerOptions extends AudioNodeOptions { - numberOfInputs?: number; -} - -interface ChannelSplitterOptions extends AudioNodeOptions { - numberOfOutputs?: number; -} - -interface ClientData { - challenge: string; - extensions?: WebAuthnExtensions; - hashAlg: string | Algorithm; - origin: string; - rpId: string; - tokenBinding?: string; -} - -interface ClientQueryOptions { - includeUncontrolled?: boolean; - type?: ClientTypes; -} - -interface ClipboardEventInit extends EventInit { - clipboardData?: DataTransfer | null; -} - -interface CloseEventInit extends EventInit { - code?: number; - reason?: string; - wasClean?: boolean; -} - -interface CompositionEventInit extends UIEventInit { - data?: string; -} - -interface ComputedEffectTiming extends EffectTiming { - activeDuration?: number; - currentIteration?: number | null; - endTime?: number; - localTime?: number | null; - progress?: number | null; -} - -interface ComputedKeyframe { - composite: CompositeOperationOrAuto; - computedOffset: number; - easing: string; - offset: number | null; - [property: string]: string | number | null | undefined; -} - -interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { - arrayOfDomainStrings?: string[]; -} - -interface ConstantSourceOptions { - offset?: number; -} - -interface ConstrainBooleanParameters { - exact?: boolean; - ideal?: boolean; -} - -interface ConstrainDOMStringParameters { - exact?: string | string[]; - ideal?: string | string[]; -} - -interface ConstrainDoubleRange extends DoubleRange { - exact?: number; - ideal?: number; -} - -interface ConstrainULongRange extends ULongRange { - exact?: number; - ideal?: number; -} - -interface ConstrainVideoFacingModeParameters { - exact?: VideoFacingModeEnum | VideoFacingModeEnum[]; - ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; -} - -interface ConvolverOptions extends AudioNodeOptions { - buffer?: AudioBuffer | null; - disableNormalization?: boolean; -} - -interface CredentialCreationOptions { - publicKey?: PublicKeyCredentialCreationOptions; - signal?: AbortSignal; -} - -interface CredentialRequestOptions { - mediation?: CredentialMediationRequirement; - publicKey?: PublicKeyCredentialRequestOptions; - signal?: AbortSignal; -} - -interface CustomEventInit extends EventInit { - detail?: T; -} - -interface DOMMatrix2DInit { - a?: number; - b?: number; - c?: number; - d?: number; - e?: number; - f?: number; - m11?: number; - m12?: number; - m21?: number; - m22?: number; - m41?: number; - m42?: number; -} - -interface DOMMatrixInit extends DOMMatrix2DInit { - is2D?: boolean; - m13?: number; - m14?: number; - m23?: number; - m24?: number; - m31?: number; - m32?: number; - m33?: number; - m34?: number; - m43?: number; - m44?: number; -} - -interface DOMPointInit { - w?: number; - x?: number; - y?: number; - z?: number; -} - -interface DOMQuadInit { - p1?: DOMPointInit; - p2?: DOMPointInit; - p3?: DOMPointInit; - p4?: DOMPointInit; -} - -interface DOMRectInit { - height?: number; - width?: number; - x?: number; - y?: number; -} - -interface DelayOptions extends AudioNodeOptions { - delayTime?: number; - maxDelayTime?: number; -} - -interface DeviceLightEventInit extends EventInit { - value?: number; -} - -interface DeviceMotionEventAccelerationInit { - x?: number | null; - y?: number | null; - z?: number | null; -} - -interface DeviceMotionEventInit extends EventInit { - acceleration?: DeviceMotionEventAccelerationInit; - accelerationIncludingGravity?: DeviceMotionEventAccelerationInit; - interval?: number; - rotationRate?: DeviceMotionEventRotationRateInit; -} - -interface DeviceMotionEventRotationRateInit { - alpha?: number | null; - beta?: number | null; - gamma?: number | null; -} - -interface DeviceOrientationEventInit extends EventInit { - absolute?: boolean; - alpha?: number | null; - beta?: number | null; - gamma?: number | null; -} - -interface DevicePermissionDescriptor extends PermissionDescriptor { - deviceId?: string; - name: "camera" | "microphone" | "speaker"; -} - -interface DocumentTimelineOptions { - originTime?: number; -} - -interface DoubleRange { - max?: number; - min?: number; -} - -interface DragEventInit extends MouseEventInit { - dataTransfer?: DataTransfer | null; -} - -interface DynamicsCompressorOptions extends AudioNodeOptions { - attack?: number; - knee?: number; - ratio?: number; - release?: number; - threshold?: number; -} - -interface EcKeyAlgorithm extends KeyAlgorithm { - namedCurve: NamedCurve; -} - -interface EcKeyGenParams extends Algorithm { - namedCurve: NamedCurve; -} - -interface EcKeyImportParams extends Algorithm { - namedCurve: NamedCurve; -} - -interface EcdhKeyDeriveParams extends Algorithm { - public: CryptoKey; -} - -interface EcdsaParams extends Algorithm { - hash: HashAlgorithmIdentifier; -} - -interface EffectTiming { - delay?: number; - direction?: PlaybackDirection; - duration?: number | string; - easing?: string; - endDelay?: number; - fill?: FillMode; - iterationStart?: number; - iterations?: number; -} - -interface ElementCreationOptions { - is?: string; -} - -interface ElementDefinitionOptions { - extends?: string; -} - -interface ErrorEventInit extends EventInit { - colno?: number; - error?: any; - filename?: string; - lineno?: number; - message?: string; -} - -interface EventInit { - bubbles?: boolean; - cancelable?: boolean; - composed?: boolean; -} - -interface EventListenerOptions { - capture?: boolean; -} - -interface EventModifierInit extends UIEventInit { - altKey?: boolean; - ctrlKey?: boolean; - metaKey?: boolean; - modifierAltGraph?: boolean; - modifierCapsLock?: boolean; - modifierFn?: boolean; - modifierFnLock?: boolean; - modifierHyper?: boolean; - modifierNumLock?: boolean; - modifierScrollLock?: boolean; - modifierSuper?: boolean; - modifierSymbol?: boolean; - modifierSymbolLock?: boolean; - shiftKey?: boolean; -} - -interface EventSourceInit { - withCredentials?: boolean; -} - -interface ExceptionInformation { - domain?: string | null; -} - -interface FilePropertyBag extends BlobPropertyBag { - lastModified?: number; -} - -interface FocusEventInit extends UIEventInit { - relatedTarget?: EventTarget | null; -} - -interface FocusNavigationEventInit extends EventInit { - navigationReason?: string | null; - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; -} - -interface FocusNavigationOrigin { - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; -} - -interface FocusOptions { - preventScroll?: boolean; -} - -interface FullscreenOptions { - navigationUI?: FullscreenNavigationUI; -} - -interface GainOptions extends AudioNodeOptions { - gain?: number; -} - -interface GamepadEventInit extends EventInit { - gamepad: Gamepad; -} - -interface GetNotificationOptions { - tag?: string; -} - -interface GetRootNodeOptions { - composed?: boolean; -} - -interface HashChangeEventInit extends EventInit { - newURL?: string; - oldURL?: string; -} - -interface HkdfParams extends Algorithm { - hash: HashAlgorithmIdentifier; - info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; - salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; -} - -interface HmacImportParams extends Algorithm { - hash: HashAlgorithmIdentifier; - length?: number; -} - -interface HmacKeyAlgorithm extends KeyAlgorithm { - hash: KeyAlgorithm; - length: number; -} - -interface HmacKeyGenParams extends Algorithm { - hash: HashAlgorithmIdentifier; - length?: number; -} - -interface IDBIndexParameters { - multiEntry?: boolean; - unique?: boolean; -} - -interface IDBObjectStoreParameters { - autoIncrement?: boolean; - keyPath?: string | string[] | null; -} - -interface IDBVersionChangeEventInit extends EventInit { - newVersion?: number | null; - oldVersion?: number; -} - -interface IIRFilterOptions extends AudioNodeOptions { - feedback: number[]; - feedforward: number[]; -} - -interface ImageBitmapRenderingContextSettings { - alpha?: boolean; -} - -interface ImageEncodeOptions { - quality?: number; - type?: string; -} - -interface InputEventInit extends UIEventInit { - data?: string | null; - inputType?: string; - isComposing?: boolean; -} - -interface IntersectionObserverEntryInit { - boundingClientRect: DOMRectInit; - intersectionRatio: number; - intersectionRect: DOMRectInit; - isIntersecting: boolean; - rootBounds: DOMRectInit | null; - target: Element; - time: number; -} - -interface IntersectionObserverInit { - root?: Element | null; - rootMargin?: string; - threshold?: number | number[]; -} - -interface JsonWebKey { - alg?: string; - crv?: string; - d?: string; - dp?: string; - dq?: string; - e?: string; - ext?: boolean; - k?: string; - key_ops?: string[]; - kty?: string; - n?: string; - oth?: RsaOtherPrimesInfo[]; - p?: string; - q?: string; - qi?: string; - use?: string; - x?: string; - y?: string; -} - -interface KeyAlgorithm { - name: string; -} - -interface KeyboardEventInit extends EventModifierInit { - code?: string; - isComposing?: boolean; - key?: string; - location?: number; - repeat?: boolean; -} - -interface Keyframe { - composite?: CompositeOperationOrAuto; - easing?: string; - offset?: number | null; - [property: string]: string | number | null | undefined; -} - -interface KeyframeAnimationOptions extends KeyframeEffectOptions { - id?: string; -} - -interface KeyframeEffectOptions extends EffectTiming { - composite?: CompositeOperation; - iterationComposite?: IterationCompositeOperation; -} - -interface MediaElementAudioSourceOptions { - mediaElement: HTMLMediaElement; -} - -interface MediaEncryptedEventInit extends EventInit { - initData?: ArrayBuffer | null; - initDataType?: string; -} - -interface MediaKeyMessageEventInit extends EventInit { - message: ArrayBuffer; - messageType: MediaKeyMessageType; -} - -interface MediaKeySystemConfiguration { - audioCapabilities?: MediaKeySystemMediaCapability[]; - distinctiveIdentifier?: MediaKeysRequirement; - initDataTypes?: string[]; - label?: string; - persistentState?: MediaKeysRequirement; - sessionTypes?: string[]; - videoCapabilities?: MediaKeySystemMediaCapability[]; -} - -interface MediaKeySystemMediaCapability { - contentType?: string; - robustness?: string; -} - -interface MediaQueryListEventInit extends EventInit { - matches?: boolean; - media?: string; -} - -interface MediaStreamAudioSourceOptions { - mediaStream: MediaStream; -} - -interface MediaStreamConstraints { - audio?: boolean | MediaTrackConstraints; - peerIdentity?: string; - video?: boolean | MediaTrackConstraints; -} - -interface MediaStreamErrorEventInit extends EventInit { - error?: MediaStreamError | null; -} - -interface MediaStreamEventInit extends EventInit { - stream?: MediaStream; -} - -interface MediaStreamTrackAudioSourceOptions { - mediaStreamTrack: MediaStreamTrack; -} - -interface MediaStreamTrackEventInit extends EventInit { - track: MediaStreamTrack; -} - -interface MediaTrackCapabilities { - aspectRatio?: DoubleRange; - autoGainControl?: boolean[]; - channelCount?: ULongRange; - deviceId?: string; - echoCancellation?: boolean[]; - facingMode?: string[]; - frameRate?: DoubleRange; - groupId?: string; - height?: ULongRange; - latency?: DoubleRange; - noiseSuppression?: boolean[]; - resizeMode?: string[]; - sampleRate?: ULongRange; - sampleSize?: ULongRange; - width?: ULongRange; -} - -interface MediaTrackConstraintSet { - aspectRatio?: ConstrainDouble; - autoGainControl?: ConstrainBoolean; - channelCount?: ConstrainULong; - deviceId?: ConstrainDOMString; - echoCancellation?: ConstrainBoolean; - facingMode?: ConstrainDOMString; - frameRate?: ConstrainDouble; - groupId?: ConstrainDOMString; - height?: ConstrainULong; - latency?: ConstrainDouble; - noiseSuppression?: ConstrainBoolean; - resizeMode?: ConstrainDOMString; - sampleRate?: ConstrainULong; - sampleSize?: ConstrainULong; - width?: ConstrainULong; -} - -interface MediaTrackConstraints extends MediaTrackConstraintSet { - advanced?: MediaTrackConstraintSet[]; -} - -interface MediaTrackSettings { - aspectRatio?: number; - autoGainControl?: boolean; - channelCount?: number; - deviceId?: string; - echoCancellation?: boolean; - facingMode?: string; - frameRate?: number; - groupId?: string; - height?: number; - latency?: number; - noiseSuppression?: boolean; - resizeMode?: string; - sampleRate?: number; - sampleSize?: number; - width?: number; -} - -interface MediaTrackSupportedConstraints { - aspectRatio?: boolean; - autoGainControl?: boolean; - channelCount?: boolean; - deviceId?: boolean; - echoCancellation?: boolean; - facingMode?: boolean; - frameRate?: boolean; - groupId?: boolean; - height?: boolean; - latency?: boolean; - noiseSuppression?: boolean; - resizeMode?: boolean; - sampleRate?: boolean; - sampleSize?: boolean; - width?: boolean; -} - -interface MessageEventInit extends EventInit { - data?: any; - lastEventId?: string; - origin?: string; - ports?: MessagePort[]; - source?: MessageEventSource | null; -} - -interface MidiPermissionDescriptor extends PermissionDescriptor { - name: "midi"; - sysex?: boolean; -} - -interface MouseEventInit extends EventModifierInit { - button?: number; - buttons?: number; - clientX?: number; - clientY?: number; - movementX?: number; - movementY?: number; - relatedTarget?: EventTarget | null; - screenX?: number; - screenY?: number; -} - -interface MultiCacheQueryOptions extends CacheQueryOptions { - cacheName?: string; -} - -interface MutationObserverInit { - /** - * Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted. - */ - attributeFilter?: string[]; - /** - * Set to true if attributes is true or omitted and target's attribute value before the mutation needs to be recorded. - */ - attributeOldValue?: boolean; - /** - * Set to true if mutations to target's attributes are to be observed. Can be omitted if attributeOldValue or attributeFilter is specified. - */ - attributes?: boolean; - /** - * Set to true if mutations to target's data are to be observed. Can be omitted if characterDataOldValue is specified. - */ - characterData?: boolean; - /** - * Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded. - */ - characterDataOldValue?: boolean; - /** - * Set to true if mutations to target's children are to be observed. - */ - childList?: boolean; - /** - * Set to true if mutations to not just target, but also target's descendants are to be observed. - */ - subtree?: boolean; -} - -interface NavigationPreloadState { - enabled?: boolean; - headerValue?: string; -} - -interface NotificationAction { - action: string; - icon?: string; - title: string; -} - -interface NotificationOptions { - actions?: NotificationAction[]; - badge?: string; - body?: string; - data?: any; - dir?: NotificationDirection; - icon?: string; - image?: string; - lang?: string; - renotify?: boolean; - requireInteraction?: boolean; - silent?: boolean; - tag?: string; - timestamp?: number; - vibrate?: VibratePattern; -} - -interface OfflineAudioCompletionEventInit extends EventInit { - renderedBuffer: AudioBuffer; -} - -interface OfflineAudioContextOptions { - length: number; - numberOfChannels?: number; - sampleRate: number; -} - -interface OptionalEffectTiming { - delay?: number; - direction?: PlaybackDirection; - duration?: number | string; - easing?: string; - endDelay?: number; - fill?: FillMode; - iterationStart?: number; - iterations?: number; -} - -interface OscillatorOptions extends AudioNodeOptions { - detune?: number; - frequency?: number; - periodicWave?: PeriodicWave; - type?: OscillatorType; -} - -interface PannerOptions extends AudioNodeOptions { - coneInnerAngle?: number; - coneOuterAngle?: number; - coneOuterGain?: number; - distanceModel?: DistanceModelType; - maxDistance?: number; - orientationX?: number; - orientationY?: number; - orientationZ?: number; - panningModel?: PanningModelType; - positionX?: number; - positionY?: number; - positionZ?: number; - refDistance?: number; - rolloffFactor?: number; -} - -interface PaymentCurrencyAmount { - currency: string; - currencySystem?: string; - value: string; -} - -interface PaymentDetailsBase { - displayItems?: PaymentItem[]; - modifiers?: PaymentDetailsModifier[]; - shippingOptions?: PaymentShippingOption[]; -} - -interface PaymentDetailsInit extends PaymentDetailsBase { - id?: string; - total: PaymentItem; -} - -interface PaymentDetailsModifier { - additionalDisplayItems?: PaymentItem[]; - data?: any; - supportedMethods: string | string[]; - total?: PaymentItem; -} - -interface PaymentDetailsUpdate extends PaymentDetailsBase { - error?: string; - total?: PaymentItem; -} - -interface PaymentItem { - amount: PaymentCurrencyAmount; - label: string; - pending?: boolean; -} - -interface PaymentMethodData { - data?: any; - supportedMethods: string | string[]; -} - -interface PaymentOptions { - requestPayerEmail?: boolean; - requestPayerName?: boolean; - requestPayerPhone?: boolean; - requestShipping?: boolean; - shippingType?: string; -} - -interface PaymentRequestUpdateEventInit extends EventInit { -} - -interface PaymentShippingOption { - amount: PaymentCurrencyAmount; - id: string; - label: string; - selected?: boolean; -} - -interface Pbkdf2Params extends Algorithm { - hash: HashAlgorithmIdentifier; - iterations: number; - salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; -} - -interface PerformanceObserverInit { - buffered?: boolean; - entryTypes?: string[]; - type?: string; -} - -interface PeriodicWaveConstraints { - disableNormalization?: boolean; -} - -interface PeriodicWaveOptions extends PeriodicWaveConstraints { - imag?: number[] | Float32Array; - real?: number[] | Float32Array; -} - -interface PermissionDescriptor { - name: PermissionName; -} - -interface PipeOptions { - preventAbort?: boolean; - preventCancel?: boolean; - preventClose?: boolean; - signal?: AbortSignal; -} - -interface PointerEventInit extends MouseEventInit { - height?: number; - isPrimary?: boolean; - pointerId?: number; - pointerType?: string; - pressure?: number; - tangentialPressure?: number; - tiltX?: number; - tiltY?: number; - twist?: number; - width?: number; -} - -interface PopStateEventInit extends EventInit { - state?: any; -} - -interface PositionOptions { - enableHighAccuracy?: boolean; - maximumAge?: number; - timeout?: number; -} - -interface PostMessageOptions { - transfer?: any[]; -} - -interface ProgressEventInit extends EventInit { - lengthComputable?: boolean; - loaded?: number; - total?: number; -} - -interface PromiseRejectionEventInit extends EventInit { - promise: Promise; - reason?: any; -} - -interface PropertyIndexedKeyframes { - composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[]; - easing?: string | string[]; - offset?: number | (number | null)[]; - [property: string]: string | string[] | number | null | (number | null)[] | undefined; -} - -interface PublicKeyCredentialCreationOptions { - attestation?: AttestationConveyancePreference; - authenticatorSelection?: AuthenticatorSelectionCriteria; - challenge: BufferSource; - excludeCredentials?: PublicKeyCredentialDescriptor[]; - extensions?: AuthenticationExtensionsClientInputs; - pubKeyCredParams: PublicKeyCredentialParameters[]; - rp: PublicKeyCredentialRpEntity; - timeout?: number; - user: PublicKeyCredentialUserEntity; -} - -interface PublicKeyCredentialDescriptor { - id: BufferSource; - transports?: AuthenticatorTransport[]; - type: PublicKeyCredentialType; -} - -interface PublicKeyCredentialEntity { - icon?: string; - name: string; -} - -interface PublicKeyCredentialParameters { - alg: COSEAlgorithmIdentifier; - type: PublicKeyCredentialType; -} - -interface PublicKeyCredentialRequestOptions { - allowCredentials?: PublicKeyCredentialDescriptor[]; - challenge: BufferSource; - extensions?: AuthenticationExtensionsClientInputs; - rpId?: string; - timeout?: number; - userVerification?: UserVerificationRequirement; -} - -interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity { - id?: string; -} - -interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity { - displayName: string; - id: BufferSource; -} - -interface PushPermissionDescriptor extends PermissionDescriptor { - name: "push"; - userVisibleOnly?: boolean; -} - -interface PushSubscriptionJSON { - endpoint?: string; - expirationTime?: number | null; - keys?: Record; -} - -interface PushSubscriptionOptionsInit { - applicationServerKey?: BufferSource | string | null; - userVisibleOnly?: boolean; -} - -interface QueuingStrategy { - highWaterMark?: number; - size?: QueuingStrategySizeCallback; -} - -interface RTCAnswerOptions extends RTCOfferAnswerOptions { -} - -interface RTCCertificateExpiration { - expires?: number; -} - -interface RTCConfiguration { - bundlePolicy?: RTCBundlePolicy; - certificates?: RTCCertificate[]; - iceCandidatePoolSize?: number; - iceServers?: RTCIceServer[]; - iceTransportPolicy?: RTCIceTransportPolicy; - peerIdentity?: string; - rtcpMuxPolicy?: RTCRtcpMuxPolicy; -} - -interface RTCDTMFToneChangeEventInit extends EventInit { - tone: string; -} - -interface RTCDataChannelEventInit extends EventInit { - channel: RTCDataChannel; -} - -interface RTCDataChannelInit { - id?: number; - maxPacketLifeTime?: number; - maxRetransmits?: number; - negotiated?: boolean; - ordered?: boolean; - priority?: RTCPriorityType; - protocol?: string; -} - -interface RTCDtlsFingerprint { - algorithm?: string; - value?: string; -} - -interface RTCDtlsParameters { - fingerprints?: RTCDtlsFingerprint[]; - role?: RTCDtlsRole; -} - -interface RTCErrorEventInit extends EventInit { - error?: RTCError | null; -} - -interface RTCIceCandidateAttributes extends RTCStats { - addressSourceUrl?: string; - candidateType?: RTCStatsIceCandidateType; - ipAddress?: string; - portNumber?: number; - priority?: number; - transport?: string; -} - -interface RTCIceCandidateComplete { -} - -interface RTCIceCandidateDictionary { - foundation?: string; - ip?: string; - msMTurnSessionId?: string; - port?: number; - priority?: number; - protocol?: RTCIceProtocol; - relatedAddress?: string; - relatedPort?: number; - tcpType?: RTCIceTcpCandidateType; - type?: RTCIceCandidateType; -} - -interface RTCIceCandidateInit { - candidate?: string; - sdpMLineIndex?: number | null; - sdpMid?: string | null; - usernameFragment?: string; -} - -interface RTCIceCandidatePair { - local?: RTCIceCandidate; - remote?: RTCIceCandidate; -} - -interface RTCIceCandidatePairStats extends RTCStats { - availableIncomingBitrate?: number; - availableOutgoingBitrate?: number; - bytesReceived?: number; - bytesSent?: number; - localCandidateId?: string; - nominated?: boolean; - priority?: number; - readable?: boolean; - remoteCandidateId?: string; - roundTripTime?: number; - state?: RTCStatsIceCandidatePairState; - transportId?: string; - writable?: boolean; -} - -interface RTCIceGatherOptions { - gatherPolicy?: RTCIceGatherPolicy; - iceservers?: RTCIceServer[]; -} - -interface RTCIceParameters { - password?: string; - usernameFragment?: string; -} - -interface RTCIceServer { - credential?: string | RTCOAuthCredential; - credentialType?: RTCIceCredentialType; - urls: string | string[]; - username?: string; -} - -interface RTCIdentityProviderOptions { - peerIdentity?: string; - protocol?: string; - usernameHint?: string; -} - -interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { - bytesReceived?: number; - fractionLost?: number; - jitter?: number; - packetsLost?: number; - packetsReceived?: number; -} - -interface RTCMediaStreamTrackStats extends RTCStats { - audioLevel?: number; - echoReturnLoss?: number; - echoReturnLossEnhancement?: number; - frameHeight?: number; - frameWidth?: number; - framesCorrupted?: number; - framesDecoded?: number; - framesDropped?: number; - framesPerSecond?: number; - framesReceived?: number; - framesSent?: number; - remoteSource?: boolean; - ssrcIds?: string[]; - trackIdentifier?: string; -} - -interface RTCOAuthCredential { - accessToken: string; - macKey: string; -} - -interface RTCOfferAnswerOptions { - voiceActivityDetection?: boolean; -} - -interface RTCOfferOptions extends RTCOfferAnswerOptions { - iceRestart?: boolean; - offerToReceiveAudio?: boolean; - offerToReceiveVideo?: boolean; -} - -interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { - bytesSent?: number; - packetsSent?: number; - roundTripTime?: number; - targetBitrate?: number; -} - -interface RTCPeerConnectionIceErrorEventInit extends EventInit { - errorCode: number; - hostCandidate?: string; - statusText?: string; - url?: string; -} - -interface RTCPeerConnectionIceEventInit extends EventInit { - candidate?: RTCIceCandidate | null; - url?: string | null; -} - -interface RTCRTPStreamStats extends RTCStats { - associateStatsId?: string; - codecId?: string; - firCount?: number; - isRemote?: boolean; - mediaTrackId?: string; - mediaType?: string; - nackCount?: number; - pliCount?: number; - sliCount?: number; - ssrc?: string; - transportId?: string; -} - -interface RTCRtcpFeedback { - parameter?: string; - type?: string; -} - -interface RTCRtcpParameters { - cname?: string; - reducedSize?: boolean; -} - -interface RTCRtpCapabilities { - codecs: RTCRtpCodecCapability[]; - headerExtensions: RTCRtpHeaderExtensionCapability[]; -} - -interface RTCRtpCodecCapability { - channels?: number; - clockRate: number; - mimeType: string; - sdpFmtpLine?: string; -} - -interface RTCRtpCodecParameters { - channels?: number; - clockRate: number; - mimeType: string; - payloadType: number; - sdpFmtpLine?: string; -} - -interface RTCRtpCodingParameters { - rid?: string; -} - -interface RTCRtpContributingSource { - audioLevel?: number; - source: number; - timestamp: number; -} - -interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { -} - -interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { - active?: boolean; - codecPayloadType?: number; - dtx?: RTCDtxStatus; - maxBitrate?: number; - maxFramerate?: number; - priority?: RTCPriorityType; - ptime?: number; - scaleResolutionDownBy?: number; -} - -interface RTCRtpFecParameters { - mechanism?: string; - ssrc?: number; -} - -interface RTCRtpHeaderExtension { - kind?: string; - preferredEncrypt?: boolean; - preferredId?: number; - uri?: string; -} - -interface RTCRtpHeaderExtensionCapability { - uri?: string; -} - -interface RTCRtpHeaderExtensionParameters { - encrypted?: boolean; - id: number; - uri: string; -} - -interface RTCRtpParameters { - codecs: RTCRtpCodecParameters[]; - headerExtensions: RTCRtpHeaderExtensionParameters[]; - rtcp: RTCRtcpParameters; -} - -interface RTCRtpReceiveParameters extends RTCRtpParameters { - encodings: RTCRtpDecodingParameters[]; -} - -interface RTCRtpRtxParameters { - ssrc?: number; -} - -interface RTCRtpSendParameters extends RTCRtpParameters { - degradationPreference?: RTCDegradationPreference; - encodings: RTCRtpEncodingParameters[]; - transactionId: string; -} - -interface RTCRtpSynchronizationSource extends RTCRtpContributingSource { - voiceActivityFlag?: boolean; -} - -interface RTCRtpTransceiverInit { - direction?: RTCRtpTransceiverDirection; - sendEncodings?: RTCRtpEncodingParameters[]; - streams?: MediaStream[]; -} - -interface RTCRtpUnhandled { - muxId?: string; - payloadType?: number; - ssrc?: number; -} - -interface RTCSessionDescriptionInit { - sdp?: string; - type: RTCSdpType; -} - -interface RTCSrtpKeyParam { - keyMethod?: string; - keySalt?: string; - lifetime?: string; - mkiLength?: number; - mkiValue?: number; -} - -interface RTCSrtpSdesParameters { - cryptoSuite?: string; - keyParams?: RTCSrtpKeyParam[]; - sessionParams?: string[]; - tag?: number; -} - -interface RTCSsrcRange { - max?: number; - min?: number; -} - -interface RTCStats { - id: string; - timestamp: number; - type: RTCStatsType; -} - -interface RTCStatsEventInit extends EventInit { - report: RTCStatsReport; -} - -interface RTCStatsReport { -} - -interface RTCTrackEventInit extends EventInit { - receiver: RTCRtpReceiver; - streams?: MediaStream[]; - track: MediaStreamTrack; - transceiver: RTCRtpTransceiver; -} - -interface RTCTransportStats extends RTCStats { - activeConnection?: boolean; - bytesReceived?: number; - bytesSent?: number; - localCertificateId?: string; - remoteCertificateId?: string; - rtcpTransportStatsId?: string; - selectedCandidatePairId?: string; -} - -interface RegistrationOptions { - scope?: string; - type?: WorkerType; - updateViaCache?: ServiceWorkerUpdateViaCache; -} - -interface RequestInit { - /** - * A BodyInit object or null to set request's body. - */ - body?: BodyInit | null; - /** - * A string indicating how the request will interact with the browser's cache to set request's cache. - */ - cache?: RequestCache; - /** - * A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. - */ - credentials?: RequestCredentials; - /** - * A Headers object, an object literal, or an array of two-item arrays to set request's headers. - */ - headers?: HeadersInit; - /** - * A cryptographic hash of the resource to be fetched by request. Sets request's integrity. - */ - integrity?: string; - /** - * A boolean to set request's keepalive. - */ - keepalive?: boolean; - /** - * A string to set request's method. - */ - method?: string; - /** - * A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. - */ - mode?: RequestMode; - /** - * A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. - */ - redirect?: RequestRedirect; - /** - * A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. - */ - referrer?: string; - /** - * A referrer policy to set request's referrerPolicy. - */ - referrerPolicy?: ReferrerPolicy; - /** - * An AbortSignal to set request's signal. - */ - signal?: AbortSignal | null; - /** - * Can only be null. Used to disassociate request from any Window. - */ - window?: any; -} - -interface ResponseInit { - headers?: HeadersInit; - status?: number; - statusText?: string; -} - -interface RsaHashedImportParams extends Algorithm { - hash: HashAlgorithmIdentifier; -} - -interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { - hash: KeyAlgorithm; -} - -interface RsaHashedKeyGenParams extends RsaKeyGenParams { - hash: HashAlgorithmIdentifier; -} - -interface RsaKeyAlgorithm extends KeyAlgorithm { - modulusLength: number; - publicExponent: BigInteger; -} - -interface RsaKeyGenParams extends Algorithm { - modulusLength: number; - publicExponent: BigInteger; -} - -interface RsaOaepParams extends Algorithm { - label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; -} - -interface RsaOtherPrimesInfo { - d?: string; - r?: string; - t?: string; -} - -interface RsaPssParams extends Algorithm { - saltLength: number; -} - -interface SVGBoundingBoxOptions { - clipped?: boolean; - fill?: boolean; - markers?: boolean; - stroke?: boolean; -} - -interface ScopedCredentialDescriptor { - id: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; - transports?: Transport[]; - type: ScopedCredentialType; -} - -interface ScopedCredentialOptions { - excludeList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: string; - timeoutSeconds?: number; -} - -interface ScopedCredentialParameters { - algorithm: string | Algorithm; - type: ScopedCredentialType; -} - -interface ScrollIntoViewOptions extends ScrollOptions { - block?: ScrollLogicalPosition; - inline?: ScrollLogicalPosition; -} - -interface ScrollOptions { - behavior?: ScrollBehavior; -} - -interface ScrollToOptions extends ScrollOptions { - left?: number; - top?: number; -} - -interface SecurityPolicyViolationEventInit extends EventInit { - blockedURI?: string; - columnNumber?: number; - documentURI?: string; - effectiveDirective?: string; - lineNumber?: number; - originalPolicy?: string; - referrer?: string; - sourceFile?: string; - statusCode?: number; - violatedDirective?: string; -} - -interface ServiceWorkerMessageEventInit extends EventInit { - data?: any; - lastEventId?: string; - origin?: string; - ports?: MessagePort[] | null; - source?: ServiceWorker | MessagePort | null; -} - -interface ShadowRootInit { - delegatesFocus?: boolean; - mode: ShadowRootMode; -} - -interface StereoPannerOptions extends AudioNodeOptions { - pan?: number; -} - -interface StorageEstimate { - quota?: number; - usage?: number; -} - -interface StorageEventInit extends EventInit { - key?: string | null; - newValue?: string | null; - oldValue?: string | null; - storageArea?: Storage | null; - url?: string; -} - -interface StoreExceptionsInformation extends ExceptionInformation { - detailURI?: string | null; - explanationString?: string | null; - siteName?: string | null; -} - -interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { - arrayOfDomainStrings?: string[]; -} - -interface TextDecodeOptions { - stream?: boolean; -} - -interface TextDecoderOptions { - fatal?: boolean; - ignoreBOM?: boolean; -} - -interface TextEncoderEncodeIntoResult { - read?: number; - written?: number; -} - -interface TouchEventInit extends EventModifierInit { - changedTouches?: Touch[]; - targetTouches?: Touch[]; - touches?: Touch[]; -} - -interface TouchInit { - altitudeAngle?: number; - azimuthAngle?: number; - clientX?: number; - clientY?: number; - force?: number; - identifier: number; - pageX?: number; - pageY?: number; - radiusX?: number; - radiusY?: number; - rotationAngle?: number; - screenX?: number; - screenY?: number; - target: EventTarget; - touchType?: TouchType; -} - -interface TrackEventInit extends EventInit { - track?: VideoTrack | AudioTrack | TextTrack | null; -} - -interface Transformer { - flush?: TransformStreamDefaultControllerCallback; - readableType?: undefined; - start?: TransformStreamDefaultControllerCallback; - transform?: TransformStreamDefaultControllerTransformCallback; - writableType?: undefined; -} - -interface TransitionEventInit extends EventInit { - elapsedTime?: number; - propertyName?: string; - pseudoElement?: string; -} - -interface UIEventInit extends EventInit { - detail?: number; - view?: Window | null; -} - -interface ULongRange { - max?: number; - min?: number; -} - -interface UnderlyingByteSource { - autoAllocateChunkSize?: number; - cancel?: ReadableStreamErrorCallback; - pull?: ReadableByteStreamControllerCallback; - start?: ReadableByteStreamControllerCallback; - type: "bytes"; -} - -interface UnderlyingSink { - abort?: WritableStreamErrorCallback; - close?: WritableStreamDefaultControllerCloseCallback; - start?: WritableStreamDefaultControllerStartCallback; - type?: undefined; - write?: WritableStreamDefaultControllerWriteCallback; -} - -interface UnderlyingSource { - cancel?: ReadableStreamErrorCallback; - pull?: ReadableStreamDefaultControllerCallback; - start?: ReadableStreamDefaultControllerCallback; - type?: undefined; -} - -interface VRDisplayEventInit extends EventInit { - display: VRDisplay; - reason?: VRDisplayEventReason; -} - -interface VRLayer { - leftBounds?: number[] | Float32Array | null; - rightBounds?: number[] | Float32Array | null; - source?: HTMLCanvasElement | null; -} - -interface VRStageParameters { - sittingToStandingTransform?: Float32Array; - sizeX?: number; - sizeY?: number; -} - -interface WaveShaperOptions extends AudioNodeOptions { - curve?: number[] | Float32Array; - oversample?: OverSampleType; -} - -interface WebAuthnExtensions { -} - -interface WebGLContextAttributes { - alpha?: boolean; - antialias?: boolean; - depth?: boolean; - desynchronized?: boolean; - failIfMajorPerformanceCaveat?: boolean; - powerPreference?: WebGLPowerPreference; - premultipliedAlpha?: boolean; - preserveDrawingBuffer?: boolean; - stencil?: boolean; -} - -interface WebGLContextEventInit extends EventInit { - statusMessage?: string; -} - -interface WheelEventInit extends MouseEventInit { - deltaMode?: number; - deltaX?: number; - deltaY?: number; - deltaZ?: number; -} - -interface WorkerOptions { - credentials?: RequestCredentials; - name?: string; - type?: WorkerType; -} - -interface WorkletOptions { - credentials?: RequestCredentials; -} - -interface txAuthGenericArg { - content: ArrayBuffer; - contentType: string; -} - -interface EventListener { - (evt: Event): void; -} - -type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; }; - -/** The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type. */ -interface ANGLE_instanced_arrays { - drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; - drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; - vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; - readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; -} - -/** A controller object that allows you to abort one or more DOM requests as and when desired. */ -interface AbortController { - /** - * Returns the AbortSignal object associated with this object. - */ - readonly signal: AbortSignal; - /** - * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. - */ - abort(): void; -} - -declare var AbortController: { - prototype: AbortController; - new(): AbortController; -}; - -interface AbortSignalEventMap { - "abort": Event; -} - -/** A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. */ -interface AbortSignal extends EventTarget { - /** - * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. - */ - readonly aborted: boolean; - onabort: ((this: AbortSignal, ev: Event) => any) | null; - addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var AbortSignal: { - prototype: AbortSignal; - new(): AbortSignal; -}; - -interface AbstractRange { - /** - * Returns true if range is collapsed, and false otherwise. - */ - readonly collapsed: boolean; - /** - * Returns range's end node. - */ - readonly endContainer: Node; - /** - * Returns range's end offset. - */ - readonly endOffset: number; - /** - * Returns range's start node. - */ - readonly startContainer: Node; - /** - * Returns range's start offset. - */ - readonly startOffset: number; -} - -declare var AbstractRange: { - prototype: AbstractRange; - new(): AbstractRange; -}; - -interface AbstractWorkerEventMap { - "error": ErrorEvent; -} - -interface AbstractWorker { - onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; - addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -interface AesCfbParams extends Algorithm { - iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; -} - -interface AesCmacParams extends Algorithm { - length: number; -} - -/** A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations. */ -interface AnalyserNode extends AudioNode { - fftSize: number; - readonly frequencyBinCount: number; - maxDecibels: number; - minDecibels: number; - smoothingTimeConstant: number; - getByteFrequencyData(array: Uint8Array): void; - getByteTimeDomainData(array: Uint8Array): void; - getFloatFrequencyData(array: Float32Array): void; - getFloatTimeDomainData(array: Float32Array): void; -} - -declare var AnalyserNode: { - prototype: AnalyserNode; - new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; -}; - -interface Animatable { - animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; - getAnimations(): Animation[]; -} - -interface AnimationEventMap { - "cancel": AnimationPlaybackEvent; - "finish": AnimationPlaybackEvent; -} - -interface Animation extends EventTarget { - currentTime: number | null; - effect: AnimationEffect | null; - readonly finished: Promise; - id: string; - oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; - onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; - readonly pending: boolean; - readonly playState: AnimationPlayState; - playbackRate: number; - readonly ready: Promise; - startTime: number | null; - timeline: AnimationTimeline | null; - cancel(): void; - finish(): void; - pause(): void; - play(): void; - reverse(): void; - updatePlaybackRate(playbackRate: number): void; - addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var Animation: { - prototype: Animation; - new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; -}; - -interface AnimationEffect { - getComputedTiming(): ComputedEffectTiming; - getTiming(): EffectTiming; - updateTiming(timing?: OptionalEffectTiming): void; -} - -declare var AnimationEffect: { - prototype: AnimationEffect; - new(): AnimationEffect; -}; - -/** Events providing information related to animations. */ -interface AnimationEvent extends Event { - readonly animationName: string; - readonly elapsedTime: number; - readonly pseudoElement: string; -} - -declare var AnimationEvent: { - prototype: AnimationEvent; - new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; -}; - -interface AnimationFrameProvider { - cancelAnimationFrame(handle: number): void; - requestAnimationFrame(callback: FrameRequestCallback): number; -} - -interface AnimationPlaybackEvent extends Event { - readonly currentTime: number | null; - readonly timelineTime: number | null; -} - -declare var AnimationPlaybackEvent: { - prototype: AnimationPlaybackEvent; - new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; -}; - -interface AnimationTimeline { - readonly currentTime: number | null; -} - -declare var AnimationTimeline: { - prototype: AnimationTimeline; - new(): AnimationTimeline; -}; - -interface ApplicationCacheEventMap { - "cached": Event; - "checking": Event; - "downloading": Event; - "error": Event; - "noupdate": Event; - "obsolete": Event; - "progress": ProgressEvent; - "updateready": Event; -} - -interface ApplicationCache extends EventTarget { - /** @deprecated */ - oncached: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onchecking: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - ondownloading: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onerror: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onnoupdate: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onobsolete: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - onprogress: ((this: ApplicationCache, ev: ProgressEvent) => any) | null; - /** @deprecated */ - onupdateready: ((this: ApplicationCache, ev: Event) => any) | null; - /** @deprecated */ - readonly status: number; - /** @deprecated */ - abort(): void; - /** @deprecated */ - swapCache(): void; - /** @deprecated */ - update(): void; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; - addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var ApplicationCache: { - prototype: ApplicationCache; - new(): ApplicationCache; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; -}; - -/** A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types. */ -interface Attr extends Node { - readonly localName: string; - readonly name: string; - readonly namespaceURI: string | null; - readonly ownerElement: Element | null; - readonly prefix: string | null; - readonly specified: boolean; - value: string; -} - -declare var Attr: { - prototype: Attr; - new(): Attr; -}; - -/** A short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode. */ -interface AudioBuffer { - readonly duration: number; - readonly length: number; - readonly numberOfChannels: number; - readonly sampleRate: number; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - getChannelData(channel: number): Float32Array; -} - -declare var AudioBuffer: { - prototype: AudioBuffer; - new(options: AudioBufferOptions): AudioBuffer; -}; - -/** An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network. */ -interface AudioBufferSourceNode extends AudioScheduledSourceNode { - buffer: AudioBuffer | null; - readonly detune: AudioParam; - loop: boolean; - loopEnd: number; - loopStart: number; - readonly playbackRate: AudioParam; - start(when?: number, offset?: number, duration?: number): void; - addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var AudioBufferSourceNode: { - prototype: AudioBufferSourceNode; - new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; -}; - -/** An audio-processing graph built from audio modules linked together, each represented by an AudioNode. */ -interface AudioContext extends BaseAudioContext { - readonly baseLatency: number; - readonly outputLatency: number; - close(): Promise; - createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; - createMediaStreamDestination(): MediaStreamAudioDestinationNode; - createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; - getOutputTimestamp(): AudioTimestamp; - resume(): Promise; - suspend(): Promise; - addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var AudioContext: { - prototype: AudioContext; - new(contextOptions?: AudioContextOptions): AudioContext; -}; - -/** AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised. */ -interface AudioDestinationNode extends AudioNode { - readonly maxChannelCount: number; -} - -declare var AudioDestinationNode: { - prototype: AudioDestinationNode; - new(): AudioDestinationNode; -}; - -/** The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute. */ -interface AudioListener { - readonly forwardX: AudioParam; - readonly forwardY: AudioParam; - readonly forwardZ: AudioParam; - readonly positionX: AudioParam; - readonly positionY: AudioParam; - readonly positionZ: AudioParam; - readonly upX: AudioParam; - readonly upY: AudioParam; - readonly upZ: AudioParam; - /** @deprecated */ - setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; - /** @deprecated */ - setPosition(x: number, y: number, z: number): void; -} - -declare var AudioListener: { - prototype: AudioListener; - new(): AudioListener; -}; - -/** A generic interface for representing an audio processing module. Examples include: */ -interface AudioNode extends EventTarget { - channelCount: number; - channelCountMode: ChannelCountMode; - channelInterpretation: ChannelInterpretation; - readonly context: BaseAudioContext; - readonly numberOfInputs: number; - readonly numberOfOutputs: number; - connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode; - connect(destinationParam: AudioParam, output?: number): void; - disconnect(): void; - disconnect(output: number): void; - disconnect(destinationNode: AudioNode): void; - disconnect(destinationNode: AudioNode, output: number): void; - disconnect(destinationNode: AudioNode, output: number, input: number): void; - disconnect(destinationParam: AudioParam): void; - disconnect(destinationParam: AudioParam, output: number): void; -} - -declare var AudioNode: { - prototype: AudioNode; - new(): AudioNode; -}; - -/** The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). */ -interface AudioParam { - automationRate: AutomationRate; - readonly defaultValue: number; - readonly maxValue: number; - readonly minValue: number; - value: number; - cancelAndHoldAtTime(cancelTime: number): AudioParam; - cancelScheduledValues(cancelTime: number): AudioParam; - exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; - linearRampToValueAtTime(value: number, endTime: number): AudioParam; - setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; - setValueAtTime(value: number, startTime: number): AudioParam; - setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam; -} - -declare var AudioParam: { - prototype: AudioParam; - new(): AudioParam; -}; - -interface AudioParamMap { - forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; -} - -declare var AudioParamMap: { - prototype: AudioParamMap; - new(): AudioParamMap; -}; - -/** The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed. */ -interface AudioProcessingEvent extends Event { - readonly inputBuffer: AudioBuffer; - readonly outputBuffer: AudioBuffer; - readonly playbackTime: number; -} - -declare var AudioProcessingEvent: { - prototype: AudioProcessingEvent; - new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; -}; - -interface AudioScheduledSourceNodeEventMap { - "ended": Event; -} - -interface AudioScheduledSourceNode extends AudioNode { - onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; - start(when?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var AudioScheduledSourceNode: { - prototype: AudioScheduledSourceNode; - new(): AudioScheduledSourceNode; -}; - -/** A single audio track from one of the HTML media elements,