Remove ignored files
@@ -8,7 +8,7 @@
|
|||||||
("67e998c3c23fe24ed0fb92b9de75011b92f35d3e89344157ae0d544d50a63a72" default)))
|
("67e998c3c23fe24ed0fb92b9de75011b92f35d3e89344157ae0d544d50a63a72" default)))
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
(quote
|
(quote
|
||||||
(org-ref json-mode cargo racer ess-smart-underscore company-tern auto-complete markdown-mode xref-js2 js2-refactor js2-mode writeroom-mode weechat counsel ivy-bibtex org-bullets paredit zenburn-theme slime rust-mode racket-mode polymode org lua-mode haskell-mode geiser ergoemacs-mode djvu auctex)))
|
(bongo org-ref json-mode cargo racer ess-smart-underscore company-tern auto-complete markdown-mode xref-js2 js2-refactor js2-mode writeroom-mode weechat counsel ivy-bibtex org-bullets paredit zenburn-theme slime rust-mode racket-mode polymode org lua-mode haskell-mode geiser ergoemacs-mode djvu auctex)))
|
||||||
'(tramp-syntax (quote default) nil (tramp)))
|
'(tramp-syntax (quote default) nil (tramp)))
|
||||||
(custom-set-faces
|
(custom-set-faces
|
||||||
;; custom-set-faces was added by Custom.
|
;; custom-set-faces was added by Custom.
|
||||||
|
|||||||
@@ -71,9 +71,16 @@
|
|||||||
'((sequence "TODO" "IN PROGRESS" "|" "DONE")))
|
'((sequence "TODO" "IN PROGRESS" "|" "DONE")))
|
||||||
|
|
||||||
;; org-ref
|
;; org-ref
|
||||||
(setq reftex-default-bibliography '("~/repos/csphy/pesquisa/vis.bib"))
|
(require 'org-ref)
|
||||||
|
|
||||||
;; see org-ref for use of these variables
|
(setq reftex-default-bibliography '("~/repos/csphy/pesquisa/vis.bib"))
|
||||||
(setq org-ref-bibliography-notes "~/repos/csphy/pesquisa/paper-notes.org"
|
(setq org-ref-bibliography-notes "~/repos/csphy/pesquisa/paper-notes.org"
|
||||||
org-ref-default-bibliography '("~/repos/csphy/pesquisa/vis.bib")
|
org-ref-default-bibliography '("~/repos/csphy/pesquisa/vis.bib")
|
||||||
org-ref-pdf-directory "~/repos/csphy/pesquisa/vis")
|
org-ref-pdf-directory "~/repos/csphy/pesquisa/vis")
|
||||||
|
|
||||||
|
;; Use biber to process bibtex
|
||||||
|
(setq org-latex-pdf-process
|
||||||
|
'("xelatex -interaction nonstopmode -output-directory %o %f"
|
||||||
|
"biber %b"
|
||||||
|
"xelatex -interaction nonstopmode -output-directory %o %f"
|
||||||
|
"xelatex -interaction nonstopmode -output-directory %o %f"))
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
((:url . "http://elpa.gnu.org/packages/ampc.html")
|
((:url . "http://elpa.gnu.org/packages/ampc.html")
|
||||||
(:keywords "ampc" "mpc" "mpd"))])
|
(:keywords "ampc" "mpc" "mpd"))])
|
||||||
(arbitools .
|
(arbitools .
|
||||||
[(0 94)
|
[(0 95)
|
||||||
((cl-lib
|
((cl-lib
|
||||||
(0 5)))
|
(0 5)))
|
||||||
"Package for chess tournaments administration" single
|
"Package for chess tournaments administration" single
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
((:url . "http://user42.tuxfamily.org/aumix-mode/index.html")
|
((:url . "http://user42.tuxfamily.org/aumix-mode/index.html")
|
||||||
(:keywords "multimedia" "mixer" "aumix"))])
|
(:keywords "multimedia" "mixer" "aumix"))])
|
||||||
(auto-correct .
|
(auto-correct .
|
||||||
[(1 1 3)
|
[(1 1 4)
|
||||||
nil "Remembers and automatically fixes past corrections" single
|
nil "Remembers and automatically fixes past corrections" single
|
||||||
((:url . "http://elpa.gnu.org/packages/auto-correct.html")
|
((:url . "http://elpa.gnu.org/packages/auto-correct.html")
|
||||||
(:keywords "editing"))])
|
(:keywords "editing"))])
|
||||||
@@ -341,7 +341,7 @@
|
|||||||
((:keywords "killing" "convenience")
|
((:keywords "killing" "convenience")
|
||||||
(:url . "https://github.com/leoliu/easy-kill"))])
|
(:url . "https://github.com/leoliu/easy-kill"))])
|
||||||
(ebdb .
|
(ebdb .
|
||||||
[(0 5 2)
|
[(0 5 3)
|
||||||
((emacs
|
((emacs
|
||||||
(25 1))
|
(25 1))
|
||||||
(cl-lib
|
(cl-lib
|
||||||
@@ -375,14 +375,14 @@
|
|||||||
((:url . "http://elpa.gnu.org/packages/ediprolog.html")
|
((:url . "http://elpa.gnu.org/packages/ediprolog.html")
|
||||||
(:keywords "languages" "processes"))])
|
(:keywords "languages" "processes"))])
|
||||||
(eglot .
|
(eglot .
|
||||||
[(0 9)
|
[(1 0)
|
||||||
((emacs
|
((emacs
|
||||||
(26 1)))
|
(26 1)))
|
||||||
"Client for Language Server Protocol (LSP) servers" tar
|
"Client for Language Server Protocol (LSP) servers" tar
|
||||||
((:keywords "convenience" "languages")
|
((:keywords "convenience" "languages")
|
||||||
(:url . "https://github.com/joaotavora/eglot"))])
|
(:url . "https://github.com/joaotavora/eglot"))])
|
||||||
(el-search .
|
(el-search .
|
||||||
[(1 6 10)
|
[(1 7 1)
|
||||||
((emacs
|
((emacs
|
||||||
(25))
|
(25))
|
||||||
(stream
|
(stream
|
||||||
@@ -457,6 +457,11 @@
|
|||||||
"Color unbalanced parentheses and parentheses inconsistent with indentation" single
|
"Color unbalanced parentheses and parentheses inconsistent with indentation" single
|
||||||
((:url . "http://elpa.gnu.org/packages/flylisp.html")
|
((:url . "http://elpa.gnu.org/packages/flylisp.html")
|
||||||
(:keywords))])
|
(:keywords))])
|
||||||
|
(frame-tabs .
|
||||||
|
[(1 1)
|
||||||
|
nil "show buffer tabs in side window" single
|
||||||
|
((:url . "http://elpa.gnu.org/packages/frame-tabs.html")
|
||||||
|
(:keywords "frames" "tabs"))])
|
||||||
(fsm .
|
(fsm .
|
||||||
[(0 2 1)
|
[(0 2 1)
|
||||||
((emacs
|
((emacs
|
||||||
@@ -606,6 +611,13 @@
|
|||||||
"Major mode for editing JSON files" single
|
"Major mode for editing JSON files" single
|
||||||
((:url . "http://elpa.gnu.org/packages/json-mode.html")
|
((:url . "http://elpa.gnu.org/packages/json-mode.html")
|
||||||
(:keywords "data"))])
|
(:keywords "data"))])
|
||||||
|
(jsonrpc .
|
||||||
|
[(1 0 0)
|
||||||
|
((emacs
|
||||||
|
(26 1)))
|
||||||
|
"JSON-RPC library" single
|
||||||
|
((:url . "http://elpa.gnu.org/packages/jsonrpc.html")
|
||||||
|
(:keywords "processes" "languages" "extensions"))])
|
||||||
(jumpc .
|
(jumpc .
|
||||||
[(3 0)
|
[(3 0)
|
||||||
nil "jump to previous insertion points" single
|
nil "jump to previous insertion points" single
|
||||||
@@ -716,7 +728,7 @@
|
|||||||
((:url . "http://elpa.gnu.org/packages/minimap.html")
|
((:url . "http://elpa.gnu.org/packages/minimap.html")
|
||||||
(:keywords))])
|
(:keywords))])
|
||||||
(mmm-mode .
|
(mmm-mode .
|
||||||
[(0 5 6)
|
[(0 5 7)
|
||||||
((cl-lib
|
((cl-lib
|
||||||
(0 2)))
|
(0 2)))
|
||||||
"Allow Multiple Major Modes in a buffer" tar
|
"Allow Multiple Major Modes in a buffer" tar
|
||||||
@@ -819,7 +831,7 @@
|
|||||||
((:keywords "convenience" "text" "org")
|
((:keywords "convenience" "text" "org")
|
||||||
(:url . "https://savannah.nongnu.org/projects/org-edna-el/"))])
|
(:url . "https://savannah.nongnu.org/projects/org-edna-el/"))])
|
||||||
(orgalist .
|
(orgalist .
|
||||||
[(1 7)
|
[(1 8)
|
||||||
((emacs
|
((emacs
|
||||||
(24 4)))
|
(24 4)))
|
||||||
"Manage Org-like lists in non-Org buffers" single
|
"Manage Org-like lists in non-Org buffers" single
|
||||||
@@ -1006,7 +1018,7 @@
|
|||||||
((:url . "http://elpa.gnu.org/packages/sml-mode.html")
|
((:url . "http://elpa.gnu.org/packages/sml-mode.html")
|
||||||
(:keywords "sml"))])
|
(:keywords "sml"))])
|
||||||
(soap-client .
|
(soap-client .
|
||||||
[(3 1 3)
|
[(3 1 4)
|
||||||
((cl-lib
|
((cl-lib
|
||||||
(0 6 1)))
|
(0 6 1)))
|
||||||
"Access SOAP web services" tar
|
"Access SOAP web services" tar
|
||||||
@@ -1197,7 +1209,7 @@
|
|||||||
((:keywords "communication" "websocket" "server")
|
((:keywords "communication" "websocket" "server")
|
||||||
(:url . "http://elpa.gnu.org/packages/websocket.html"))])
|
(:url . "http://elpa.gnu.org/packages/websocket.html"))])
|
||||||
(which-key .
|
(which-key .
|
||||||
[(3 1 0)
|
[(3 3 0)
|
||||||
((emacs
|
((emacs
|
||||||
(24 4)))
|
(24 4)))
|
||||||
"Display available keybindings in popup" tar
|
"Display available keybindings in popup" tar
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
Good signature from 474F05837FBDEF9B GNU ELPA Signing Agent <elpasign@elpa.gnu.org> (trust undefined) created at 2018-06-11T06:10:02-0300 using DSA
|
Good signature from 474F05837FBDEF9B GNU ELPA Signing Agent <elpasign@elpa.gnu.org> (trust undefined) created at 2018-07-02T06:10:03-0300 using DSA
|
||||||
83
elpa/bongo-20171118.1842/bongo-autoloads.el
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
;;; bongo-autoloads.el --- automatically extracted autoloads
|
||||||
|
;;
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(add-to-list 'load-path (directory-file-name
|
||||||
|
(or (file-name-directory #$) (car load-path))))
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "bongo" "bongo.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from bongo.el
|
||||||
|
|
||||||
|
(autoload 'bongo-start "bongo" "\
|
||||||
|
Start playing the current track in the nearest playlist buffer.
|
||||||
|
If there is no current track, perform the action appropriate for the current
|
||||||
|
playback mode (for example, for regressive playback, play the last track).
|
||||||
|
However, if something is already playing, do nothing.
|
||||||
|
When called interactively and the current track is a stop action track,
|
||||||
|
continue playback as if the action track had finished playing.
|
||||||
|
CALLED-INTERACTIVELY-P is non-nil when called interactively.
|
||||||
|
|
||||||
|
\(fn &optional CALLED-INTERACTIVELY-P)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo-start/stop "bongo" "\
|
||||||
|
Start or stop playback in the nearest Bongo playlist buffer.
|
||||||
|
With prefix ARGUMENT, call `bongo-stop' even if already stopped.
|
||||||
|
CALLED-INTERACTIVELY-P is non-nil when called interactively.
|
||||||
|
|
||||||
|
\(fn &optional ARGUMENT CALLED-INTERACTIVELY-P)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo-show "bongo" "\
|
||||||
|
Display what Bongo is playing in the minibuffer.
|
||||||
|
If INSERT-FLAG (prefix argument if interactive) is non-nil,
|
||||||
|
insert the description at point.
|
||||||
|
Return the description string.
|
||||||
|
|
||||||
|
\(fn &optional INSERT-FLAG)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo-playlist "bongo" "\
|
||||||
|
Switch to a Bongo playlist buffer.
|
||||||
|
See the function `bongo-playlist-buffer'.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo-library "bongo" "\
|
||||||
|
Switch to a Bongo library buffer.
|
||||||
|
See the function `bongo-library-buffer'.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo-switch-buffers "bongo" "\
|
||||||
|
In Bongo, switch from a playlist to a library, or vice versa.
|
||||||
|
With prefix argument PROMPT, prompt for the buffer to switch to.
|
||||||
|
|
||||||
|
\(fn &optional PROMPT)" t nil)
|
||||||
|
|
||||||
|
(autoload 'bongo "bongo" "\
|
||||||
|
Switch to a Bongo buffer.
|
||||||
|
See the function `bongo-buffer'.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "bongo" '("bongo-" "afplay" "mikmod" "timidity" "speexdec" "ogg123" "vlc" "define-bongo-backend" "with-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "lastfm-submit" "lastfm-submit.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from lastfm-submit.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "lastfm-submit" '("lastfm")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil nil ("bongo-pkg.el") (0 0 0 0))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;; Local Variables:
|
||||||
|
;; version-control: never
|
||||||
|
;; no-byte-compile: t
|
||||||
|
;; no-update-autoloads: t
|
||||||
|
;; coding: utf-8
|
||||||
|
;; End:
|
||||||
|
;;; bongo-autoloads.el ends here
|
||||||
6
elpa/bongo-20171118.1842/bongo-pkg.el
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
(define-package "bongo" "20171118.1842" "play music with Emacs"
|
||||||
|
'((cl-lib "0.5")
|
||||||
|
(emacs "24.1")))
|
||||||
|
;; Local Variables:
|
||||||
|
;; no-byte-compile: t
|
||||||
|
;; End:
|
||||||
10678
elpa/bongo-20171118.1842/bongo.el
Normal file
1527
elpa/bongo-20171118.1842/bongo.info
Normal file
18
elpa/bongo-20171118.1842/dir
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
This is the file .../info/dir, which contains the
|
||||||
|
topmost node of the Info hierarchy, called (dir)Top.
|
||||||
|
The first time you invoke Info you start off looking at this node.
|
||||||
|
|
||||||
|
File: dir, Node: Top This is the top of the INFO tree
|
||||||
|
|
||||||
|
This (the Directory node) gives a menu of major topics.
|
||||||
|
Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||||
|
"h" gives a primer for first-timers,
|
||||||
|
"mEmacs<Return>" visits the Emacs manual, etc.
|
||||||
|
|
||||||
|
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||||
|
to select it.
|
||||||
|
|
||||||
|
* Menu:
|
||||||
|
|
||||||
|
Emacs
|
||||||
|
* Bongo: (bongo). Play music with Emacs.
|
||||||
BIN
elpa/bongo-20171118.1842/images/action-track-icon.png
Normal file
|
After Width: | Height: | Size: 488 B |
BIN
elpa/bongo-20171118.1842/images/audio-cd-track-icon.png
Normal file
|
After Width: | Height: | Size: 772 B |
BIN
elpa/bongo-20171118.1842/images/bongo-logo.pbm
Normal file
BIN
elpa/bongo-20171118.1842/images/collapsed-header-icon.png
Normal file
|
After Width: | Height: | Size: 359 B |
BIN
elpa/bongo-20171118.1842/images/expanded-header-icon.png
Normal file
|
After Width: | Height: | Size: 448 B |
BIN
elpa/bongo-20171118.1842/images/local-audio-file-track-icon.png
Normal file
|
After Width: | Height: | Size: 544 B |
BIN
elpa/bongo-20171118.1842/images/local-video-file-track-icon.png
Normal file
|
After Width: | Height: | Size: 603 B |
BIN
elpa/bongo-20171118.1842/images/track-mark-icon.png
Normal file
|
After Width: | Height: | Size: 290 B |
|
After Width: | Height: | Size: 335 B |
BIN
elpa/bongo-20171118.1842/images/uri-track-icon.png
Normal file
|
After Width: | Height: | Size: 826 B |
75
elpa/bongo-20171118.1842/lastfm-submit.el
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
;;; lastfm-submit.el --- submit information to Last.fm
|
||||||
|
;; Copyright (C) 2006 Daniel Brockman <daniel@brockman.se>
|
||||||
|
|
||||||
|
;; 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 of
|
||||||
|
;; the License, 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; if not, write to the Free
|
||||||
|
;; Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||||
|
;; Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; This is a thin frontend to the `lastfmsumbit' tool,
|
||||||
|
;; which is included in the `lastfmsubmitd' distribution,
|
||||||
|
;; available at the following URL:
|
||||||
|
|
||||||
|
;; <http://www.red-bean.com/~decklin/software/lastfmsubmitd/>
|
||||||
|
|
||||||
|
;; Please note that you may have to be in the `lastfm' group
|
||||||
|
;; to run the `lastfmsubmit' program, and that you may have
|
||||||
|
;; to relogin for such a group change to take effect.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(defcustom lastfmsubmit-program-name
|
||||||
|
(or (executable-find "lastfmsubmit")
|
||||||
|
;; Debian puts it here.
|
||||||
|
(executable-find "/usr/lib/lastfmsubmitd/lastfmsubmit"))
|
||||||
|
"The name of the `lastfmsubmit' executable.
|
||||||
|
Note that you may have to be in the `lastfm' group to run this program,
|
||||||
|
and that adding yourself to a group normally requires that you re-login."
|
||||||
|
:type 'string
|
||||||
|
:group 'multimedia
|
||||||
|
:group 'external)
|
||||||
|
|
||||||
|
(defun lastfm-submit (artist title length &optional album mbid time)
|
||||||
|
"Submit TITLE by ARTIST to Last.fm using the `lastfmsubmit' tool.
|
||||||
|
ARTIST is the name of the artist and TITLE is the name of the track.
|
||||||
|
LENGTH is the length of the track, either as a number of seconds
|
||||||
|
or formatted as \"HOURS:MINUTES:SECONDS\" (HOURS may be omitted).
|
||||||
|
ALBUM is either nil or the name of the album on which the track appears.
|
||||||
|
MBID is either nil or the MusicBrainz ID of the track.
|
||||||
|
TIME is either nil or the time at which the track was played, formatted
|
||||||
|
in UTC as \"%Y-%m-%d %H:%M:%S\" (see `format-time-string').
|
||||||
|
See also `lastfmsubmit-program-name'."
|
||||||
|
(when (numberp length)
|
||||||
|
(setq length (number-to-string (round length))))
|
||||||
|
(unless (string-match "^\\(\\([0-9]+:\\)?[0-9]+:\\)?[0-9]+$" length)
|
||||||
|
(error "Badly formed track length: %s" length))
|
||||||
|
(with-temp-buffer
|
||||||
|
(let ((status (apply 'call-process lastfmsubmit-program-name nil t nil
|
||||||
|
"--artist" artist "--title" title "--length" length
|
||||||
|
(append (when album (list "--album" album))
|
||||||
|
(when mbid (list "--mbid" mbid))))))
|
||||||
|
(unless (equal status 0)
|
||||||
|
(with-output-to-temp-buffer "*lastfmsumbit*"
|
||||||
|
(princ (buffer-string)))
|
||||||
|
(if (integerp status)
|
||||||
|
(error "lastfmsubmit failed with exit code %s" status)
|
||||||
|
(error "lastfmsubmit failed: %s" status))))))
|
||||||
|
|
||||||
|
;;; Local Variables:
|
||||||
|
;;; coding: utf-8
|
||||||
|
;;; End:
|
||||||
|
|
||||||
|
(provide 'lastfm-submit)
|
||||||
|
;;; lastfm-submit.el ends here.
|
||||||
240
elpa/bongo-20171118.1842/tree-from-tags.rb
Executable file
@@ -0,0 +1,240 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
## tree-from-tags.rb --- create file hierarchies from media tags
|
||||||
|
# Copyright (C) 2006, 2007 Daniel Brockman
|
||||||
|
|
||||||
|
# Author: Daniel Brockman <daniel@brockman.se>
|
||||||
|
# Created: April 24, 2006
|
||||||
|
|
||||||
|
# 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 of
|
||||||
|
# the License, 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; if not, write to the Free
|
||||||
|
# Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# To run this program, you need Ruby-taglib, available at
|
||||||
|
# <https://robinst.github.io/taglib-ruby/>.
|
||||||
|
|
||||||
|
require "fileutils"
|
||||||
|
require "find"
|
||||||
|
require "taglib"
|
||||||
|
|
||||||
|
if ARGV.empty? or ["-?", "-h", "-help", "--help"].include? ARGV.first
|
||||||
|
puts "Usage: #$0 [--hardlinks] DIRECTORIES..."
|
||||||
|
puts "
|
||||||
|
This program recursively scans DIRECTORIES for media files in formats
|
||||||
|
that support embedded file tags, such as Ogg and MP3.
|
||||||
|
|
||||||
|
For each file with sufficient embedded information, it creates a symlink
|
||||||
|
in the current directory, or in a subdirectory of the current directory,
|
||||||
|
pointing to the original file.
|
||||||
|
|
||||||
|
If given the `--hardlinks' option, it creates hardlinks instead.
|
||||||
|
|
||||||
|
The symlinks or hardlinks created by this program follow a certain
|
||||||
|
naming scheme that is understood by Bongo, the Emacs media player."
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
|
if ["--hard", "--hardlink", "--hardlinks"].include? ARGV.first
|
||||||
|
ARGV.shift
|
||||||
|
$hardlinks = true
|
||||||
|
else
|
||||||
|
$hardlinks = false
|
||||||
|
end
|
||||||
|
|
||||||
|
class NotEnoughData < RuntimeError ; end
|
||||||
|
|
||||||
|
class String
|
||||||
|
def blank? ; !self[/\S/] end
|
||||||
|
def trim ; sub(/^\s+|\s+$/, "") end
|
||||||
|
end
|
||||||
|
|
||||||
|
def escape_component (component)
|
||||||
|
case component
|
||||||
|
when "." then "Dot"
|
||||||
|
when ".." then "Double Dot"
|
||||||
|
else component.gsub(" - ", " -- ").gsub("/", "\\")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def join_components (*components)
|
||||||
|
components.compact * " - "
|
||||||
|
end
|
||||||
|
|
||||||
|
def parse_data (data)
|
||||||
|
an = data[:artist_name]
|
||||||
|
ay = data[:album_year]
|
||||||
|
at = data[:album_title]
|
||||||
|
ti = data[:track_index]
|
||||||
|
tt = data[:track_title]
|
||||||
|
|
||||||
|
ay = nil if ay == "0"
|
||||||
|
|
||||||
|
case
|
||||||
|
when an && ay && at && ti && tt
|
||||||
|
components = [[an], [ay, at], [ti, tt]]
|
||||||
|
when an && ay && at && tt
|
||||||
|
components = [[an], [ay, at], [tt]]
|
||||||
|
when an && at && ti && tt
|
||||||
|
components = [[an], [at], [ti, tt]]
|
||||||
|
when an && at && tt
|
||||||
|
components = [[an], [at], [tt]]
|
||||||
|
when an && tt
|
||||||
|
components = [[an], [tt]]
|
||||||
|
when tt
|
||||||
|
components = [[tt]]
|
||||||
|
else raise NotEnoughData
|
||||||
|
end
|
||||||
|
|
||||||
|
return components.map { |x| x.map { |x| escape_component(x) } }
|
||||||
|
end
|
||||||
|
|
||||||
|
COLUMNS = ENV["COLUMNS"] || 80
|
||||||
|
|
||||||
|
def singleton (&body)
|
||||||
|
object = Object.new
|
||||||
|
object.extend(Module.new(&body))
|
||||||
|
object.send :initialize
|
||||||
|
return object
|
||||||
|
end
|
||||||
|
|
||||||
|
status_line = singleton do
|
||||||
|
attr_reader :width
|
||||||
|
def initialize
|
||||||
|
@width = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def remaining_width
|
||||||
|
COLUMNS - @width
|
||||||
|
end
|
||||||
|
|
||||||
|
def clear
|
||||||
|
print "\b" * COLUMNS
|
||||||
|
print " " * COLUMNS
|
||||||
|
print "\b" * COLUMNS
|
||||||
|
@width = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
clear ; yield ; flush
|
||||||
|
end
|
||||||
|
|
||||||
|
def flush
|
||||||
|
$stdout.flush
|
||||||
|
end
|
||||||
|
|
||||||
|
def << string
|
||||||
|
count = [remaining_width, string.size].min
|
||||||
|
print string[0 ... count]
|
||||||
|
@width += count
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
n_total_files = 0
|
||||||
|
print "Counting files..." ; $stdout.flush
|
||||||
|
Find.find(*ARGV) { |x| n_total_files += 1 if FileTest.file? x }
|
||||||
|
puts " #{n_total_files}."
|
||||||
|
|
||||||
|
def warn_skip (file_name, message)
|
||||||
|
puts "Warning: Skipping file `#{file_name}': #{message}"
|
||||||
|
end
|
||||||
|
|
||||||
|
n_completed_files = 0 # This counts all files.
|
||||||
|
n_processed_files = 0 # This only counts recognized files.
|
||||||
|
n_created_links = 0
|
||||||
|
Find.find *ARGV do |file_name|
|
||||||
|
if FileTest.directory? file_name
|
||||||
|
status_line.update do
|
||||||
|
percent_done = n_completed_files * 100.0 / n_total_files
|
||||||
|
status_line << "[%.2f%%] " % percent_done
|
||||||
|
count = status_line.remaining_width - "Processing `'...".size
|
||||||
|
if file_name.size > count
|
||||||
|
file_name_tail = "[...]" + file_name[-count + 5 .. -1]
|
||||||
|
else
|
||||||
|
file_name_tail = file_name
|
||||||
|
end
|
||||||
|
status_line << "Processing `#{file_name_tail}'..."
|
||||||
|
end
|
||||||
|
elsif FileTest.file? file_name
|
||||||
|
next if [".jpg", ".jpeg", ".png", ".gif"].include? \
|
||||||
|
File.extname(file_name).downcase
|
||||||
|
begin
|
||||||
|
|
||||||
|
TagLib::FileRef.open(file_name) do |file|
|
||||||
|
n_processed_files += 1
|
||||||
|
unless file.null?
|
||||||
|
tag = file.tag
|
||||||
|
data = { :artist_name => tag.artist,
|
||||||
|
:album_year => tag.year.to_s,
|
||||||
|
:album_title => tag.album,
|
||||||
|
:track_index => "#{0 if tag.track < 10}#{tag.track}",
|
||||||
|
:track_title => tag.title }
|
||||||
|
|
||||||
|
for key, value in data do
|
||||||
|
if (value.nil? or value.blank?)
|
||||||
|
data.delete key
|
||||||
|
else
|
||||||
|
data[key] = value.trim
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
components = parse_data(data).map { |x| join_components(*x) }.
|
||||||
|
inject([]) { |a, x| a << join_components(a.last, x) }
|
||||||
|
|
||||||
|
dir_name = components[0...-1] * "/"
|
||||||
|
new_file_name = components * "/" + File.extname(file_name)
|
||||||
|
|
||||||
|
FileUtils.mkdir_p(dir_name) if components.length > 1
|
||||||
|
|
||||||
|
begin
|
||||||
|
if $hardlinks
|
||||||
|
FileUtils.ln(file_name, new_file_name)
|
||||||
|
else
|
||||||
|
FileUtils.ln_s(file_name, new_file_name)
|
||||||
|
end
|
||||||
|
n_created_links += 1
|
||||||
|
rescue Errno::EEXIST
|
||||||
|
if $hardlinks
|
||||||
|
raise unless File.stat(file_name).ino ==
|
||||||
|
File.stat(new_file_name).ino
|
||||||
|
else
|
||||||
|
raise unless FileTest.symlink? new_file_name and
|
||||||
|
File.readlink(new_file_name) == file_name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
rescue NotEnoughData
|
||||||
|
puts ; warn_skip file_name, "Not enough track data " +
|
||||||
|
"(need at least the track title)."
|
||||||
|
rescue Errno::EEXIST
|
||||||
|
puts ; warn_skip file_name,
|
||||||
|
"Cannot create #{$hardlinks ? "hardlink" : "symbolic link"}: " +
|
||||||
|
"Conflicting file already exists. [original error: #$!]"
|
||||||
|
rescue Interrupt
|
||||||
|
puts ; puts "Interrupted." ; exit(1)
|
||||||
|
rescue Exception
|
||||||
|
puts ; raise
|
||||||
|
end
|
||||||
|
|
||||||
|
n_completed_files += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
status_line.update do
|
||||||
|
status_line << "[100%] Processing `#{ARGV.last}'..."
|
||||||
|
end
|
||||||
|
|
||||||
|
puts ; puts "Processed #{n_processed_files} media files " +
|
||||||
|
"(created #{n_created_links} " +
|
||||||
|
"#{$hardlinks ? "hardlinks" : "symbolic links"})."
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
;;; company-autoloads.el --- automatically extracted autoloads
|
;;; company-autoloads.el --- automatically extracted autoloads
|
||||||
;;
|
;;
|
||||||
;;; Code:
|
;;; Code:
|
||||||
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
|
|
||||||
|
(add-to-list 'load-path (directory-file-name
|
||||||
|
(or (file-name-directory #$) (car load-path))))
|
||||||
|
|
||||||
|
|
||||||
;;;### (autoloads nil "company" "company.el" (23293 60674 258039
|
;;;### (autoloads nil "company" "company.el" (0 0 0 0))
|
||||||
;;;;;; 710000))
|
|
||||||
;;; Generated autoloads from company.el
|
;;; Generated autoloads from company.el
|
||||||
|
|
||||||
(autoload 'company-mode "company" "\
|
(autoload 'company-mode "company" "\
|
||||||
@@ -72,10 +74,12 @@ inserted.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company" '("company-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (23293
|
;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (0 0 0
|
||||||
;;;;;; 60676 294206 341000))
|
;;;;;; 0))
|
||||||
;;; Generated autoloads from company-abbrev.el
|
;;; Generated autoloads from company-abbrev.el
|
||||||
|
|
||||||
(autoload 'company-abbrev "company-abbrev" "\
|
(autoload 'company-abbrev "company-abbrev" "\
|
||||||
@@ -83,10 +87,11 @@ inserted.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-abbrev" '("company-abbrev-insert")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (23293 60675
|
;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (0 0 0 0))
|
||||||
;;;;;; 654154 31000))
|
|
||||||
;;; Generated autoloads from company-bbdb.el
|
;;; Generated autoloads from company-bbdb.el
|
||||||
|
|
||||||
(autoload 'company-bbdb "company-bbdb" "\
|
(autoload 'company-bbdb "company-bbdb" "\
|
||||||
@@ -94,10 +99,32 @@ inserted.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORE)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORE)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-bbdb" '("company-bbdb-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-css" "company-css.el" (23293 60674
|
;;;### (autoloads nil "company-capf" "company-capf.el" (0 0 0 0))
|
||||||
;;;;;; 202035 120000))
|
;;; Generated autoloads from company-capf.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-capf" '("company-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "company-clang" "company-clang.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from company-clang.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-clang" '("company-clang")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "company-cmake" "company-cmake.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from company-cmake.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-cmake" '("company-cmake")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "company-css" "company-css.el" (0 0 0 0))
|
||||||
;;; Generated autoloads from company-css.el
|
;;; Generated autoloads from company-css.el
|
||||||
|
|
||||||
(autoload 'company-css "company-css" "\
|
(autoload 'company-css "company-css" "\
|
||||||
@@ -105,10 +132,12 @@ inserted.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-css" '("company-css-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (23293
|
;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (0 0
|
||||||
;;;;;; 60674 830086 595000))
|
;;;;;; 0 0))
|
||||||
;;; Generated autoloads from company-dabbrev.el
|
;;; Generated autoloads from company-dabbrev.el
|
||||||
|
|
||||||
(autoload 'company-dabbrev "company-dabbrev" "\
|
(autoload 'company-dabbrev "company-dabbrev" "\
|
||||||
@@ -116,10 +145,12 @@ dabbrev-like `company-mode' completion backend.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-dabbrev" '("company-dabbrev-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-dabbrev-code" "company-dabbrev-code.el"
|
;;;### (autoloads nil "company-dabbrev-code" "company-dabbrev-code.el"
|
||||||
;;;;;; (23293 60674 606068 234000))
|
;;;;;; (0 0 0 0))
|
||||||
;;; Generated autoloads from company-dabbrev-code.el
|
;;; Generated autoloads from company-dabbrev-code.el
|
||||||
|
|
||||||
(autoload 'company-dabbrev-code "company-dabbrev-code" "\
|
(autoload 'company-dabbrev-code "company-dabbrev-code" "\
|
||||||
@@ -129,10 +160,18 @@ comments or strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-dabbrev-code" '("company-dabbrev-code-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-elisp" "company-elisp.el" (23293 60676
|
;;;### (autoloads nil "company-eclim" "company-eclim.el" (0 0 0 0))
|
||||||
;;;;;; 522224 957000))
|
;;; Generated autoloads from company-eclim.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-eclim" '("company-eclim")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "company-elisp" "company-elisp.el" (0 0 0 0))
|
||||||
;;; Generated autoloads from company-elisp.el
|
;;; Generated autoloads from company-elisp.el
|
||||||
|
|
||||||
(autoload 'company-elisp "company-elisp" "\
|
(autoload 'company-elisp "company-elisp" "\
|
||||||
@@ -140,10 +179,11 @@ comments or strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-elisp" '("company-elisp-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-etags" "company-etags.el" (23293 60674
|
;;;### (autoloads nil "company-etags" "company-etags.el" (0 0 0 0))
|
||||||
;;;;;; 386050 201000))
|
|
||||||
;;; Generated autoloads from company-etags.el
|
;;; Generated autoloads from company-etags.el
|
||||||
|
|
||||||
(autoload 'company-etags "company-etags" "\
|
(autoload 'company-etags "company-etags" "\
|
||||||
@@ -151,10 +191,11 @@ comments or strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-etags" '("company-etags-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-files" "company-files.el" (23293 60674
|
;;;### (autoloads nil "company-files" "company-files.el" (0 0 0 0))
|
||||||
;;;;;; 890091 513000))
|
|
||||||
;;; Generated autoloads from company-files.el
|
;;; Generated autoloads from company-files.el
|
||||||
|
|
||||||
(autoload 'company-files "company-files" "\
|
(autoload 'company-files "company-files" "\
|
||||||
@@ -164,10 +205,11 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-files" '("company-file")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-gtags" "company-gtags.el" (23293 60673
|
;;;### (autoloads nil "company-gtags" "company-gtags.el" (0 0 0 0))
|
||||||
;;;;;; 709994 727000))
|
|
||||||
;;; Generated autoloads from company-gtags.el
|
;;; Generated autoloads from company-gtags.el
|
||||||
|
|
||||||
(autoload 'company-gtags "company-gtags" "\
|
(autoload 'company-gtags "company-gtags" "\
|
||||||
@@ -175,10 +217,12 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-gtags" '("company-gtags-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-ispell" "company-ispell.el" (23293
|
;;;### (autoloads nil "company-ispell" "company-ispell.el" (0 0 0
|
||||||
;;;;;; 60676 442218 425000))
|
;;;;;; 0))
|
||||||
;;; Generated autoloads from company-ispell.el
|
;;; Generated autoloads from company-ispell.el
|
||||||
|
|
||||||
(autoload 'company-ispell "company-ispell" "\
|
(autoload 'company-ispell "company-ispell" "\
|
||||||
@@ -186,10 +230,12 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-ispell" '("company-ispell-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-keywords" "company-keywords.el" (23293
|
;;;### (autoloads nil "company-keywords" "company-keywords.el" (0
|
||||||
;;;;;; 60675 342128 507000))
|
;;;;;; 0 0 0))
|
||||||
;;; Generated autoloads from company-keywords.el
|
;;; Generated autoloads from company-keywords.el
|
||||||
|
|
||||||
(autoload 'company-keywords "company-keywords" "\
|
(autoload 'company-keywords "company-keywords" "\
|
||||||
@@ -197,10 +243,11 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-keywords" '("company-keywords-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-nxml" "company-nxml.el" (23293 60675
|
;;;### (autoloads nil "company-nxml" "company-nxml.el" (0 0 0 0))
|
||||||
;;;;;; 870171 701000))
|
|
||||||
;;; Generated autoloads from company-nxml.el
|
;;; Generated autoloads from company-nxml.el
|
||||||
|
|
||||||
(autoload 'company-nxml "company-nxml" "\
|
(autoload 'company-nxml "company-nxml" "\
|
||||||
@@ -208,10 +255,12 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-nxml" '("company-nxml-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (23293
|
;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (0 0
|
||||||
;;;;;; 60674 98026 595000))
|
;;;;;; 0 0))
|
||||||
;;; Generated autoloads from company-oddmuse.el
|
;;; Generated autoloads from company-oddmuse.el
|
||||||
|
|
||||||
(autoload 'company-oddmuse "company-oddmuse" "\
|
(autoload 'company-oddmuse "company-oddmuse" "\
|
||||||
@@ -219,10 +268,12 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-oddmuse" '("company-oddmuse-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-semantic" "company-semantic.el" (23293
|
;;;### (autoloads nil "company-semantic" "company-semantic.el" (0
|
||||||
;;;;;; 60673 737997 27000))
|
;;;;;; 0 0 0))
|
||||||
;;; Generated autoloads from company-semantic.el
|
;;; Generated autoloads from company-semantic.el
|
||||||
|
|
||||||
(autoload 'company-semantic "company-semantic" "\
|
(autoload 'company-semantic "company-semantic" "\
|
||||||
@@ -230,10 +281,19 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-semantic" '("company-semantic-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-tempo" "company-tempo.el" (23293 60674
|
;;;### (autoloads nil "company-template" "company-template.el" (0
|
||||||
;;;;;; 770081 677000))
|
;;;;;; 0 0 0))
|
||||||
|
;;; Generated autoloads from company-template.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-template" '("company-template-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
;;;### (autoloads nil "company-tempo" "company-tempo.el" (0 0 0 0))
|
||||||
;;; Generated autoloads from company-tempo.el
|
;;; Generated autoloads from company-tempo.el
|
||||||
|
|
||||||
(autoload 'company-tempo "company-tempo" "\
|
(autoload 'company-tempo "company-tempo" "\
|
||||||
@@ -241,10 +301,11 @@ File paths with spaces are only supported inside strings.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-tempo" '("company-tempo-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-tng" "company-tng.el" (23293 60675
|
;;;### (autoloads nil "company-tng" "company-tng.el" (0 0 0 0))
|
||||||
;;;;;; 766163 193000))
|
|
||||||
;;; Generated autoloads from company-tng.el
|
;;; Generated autoloads from company-tng.el
|
||||||
|
|
||||||
(autoload 'company-tng-frontend "company-tng" "\
|
(autoload 'company-tng-frontend "company-tng" "\
|
||||||
@@ -260,10 +321,11 @@ Applies the default configuration to enable company-tng.
|
|||||||
|
|
||||||
\(fn)" nil nil)
|
\(fn)" nil nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-tng" '("company-tng--")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-xcode" "company-xcode.el" (23293 60676
|
;;;### (autoloads nil "company-xcode" "company-xcode.el" (0 0 0 0))
|
||||||
;;;;;; 154194 910000))
|
|
||||||
;;; Generated autoloads from company-xcode.el
|
;;; Generated autoloads from company-xcode.el
|
||||||
|
|
||||||
(autoload 'company-xcode "company-xcode" "\
|
(autoload 'company-xcode "company-xcode" "\
|
||||||
@@ -271,10 +333,12 @@ Applies the default configuration to enable company-tng.
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORED)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-xcode" '("company-xcode-")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "company-yasnippet" "company-yasnippet.el"
|
;;;### (autoloads nil "company-yasnippet" "company-yasnippet.el"
|
||||||
;;;;;; (23293 60676 66187 725000))
|
;;;;;; (0 0 0 0))
|
||||||
;;; Generated autoloads from company-yasnippet.el
|
;;; Generated autoloads from company-yasnippet.el
|
||||||
|
|
||||||
(autoload 'company-yasnippet "company-yasnippet" "\
|
(autoload 'company-yasnippet "company-yasnippet" "\
|
||||||
@@ -302,11 +366,11 @@ shadow backends that come after it. Recommended usages:
|
|||||||
|
|
||||||
\(fn COMMAND &optional ARG &rest IGNORE)" t nil)
|
\(fn COMMAND &optional ARG &rest IGNORE)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "company-yasnippet" '("company-yasnippet--")))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil nil ("company-capf.el" "company-clang.el" "company-cmake.el"
|
;;;### (autoloads nil nil ("company-pkg.el") (0 0 0 0))
|
||||||
;;;;;; "company-eclim.el" "company-pkg.el" "company-template.el")
|
|
||||||
;;;;;; (23293 60675 458137 997000))
|
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
@@ -314,5 +378,6 @@ shadow backends that come after it. Recommended usages:
|
|||||||
;; version-control: never
|
;; version-control: never
|
||||||
;; no-byte-compile: t
|
;; no-byte-compile: t
|
||||||
;; no-update-autoloads: t
|
;; no-update-autoloads: t
|
||||||
|
;; coding: utf-8
|
||||||
;; End:
|
;; End:
|
||||||
;;; company-autoloads.el ends here
|
;;; company-autoloads.el ends here
|
||||||
@@ -149,9 +149,12 @@
|
|||||||
"return" "short" "static" "strictfp" "super" "switch" "synchronized"
|
"return" "short" "static" "strictfp" "super" "switch" "synchronized"
|
||||||
"this" "throw" "throws" "transient" "try" "void" "volatile" "while")
|
"this" "throw" "throws" "transient" "try" "void" "volatile" "while")
|
||||||
(javascript-mode
|
(javascript-mode
|
||||||
"break" "catch" "const" "continue" "delete" "do" "else" "export" "for"
|
;; https://tc39.github.io/ecma262/ + async, static and undefined
|
||||||
"function" "if" "import" "in" "instanceOf" "label" "let" "new" "return"
|
"async" "await" "break" "case" "catch" "class" "const" "continue"
|
||||||
"switch" "this" "throw" "try" "typeof" "var" "void" "while" "with" "yield")
|
"debugger" "default" "delete" "do" "else" "enum" "export" "extends" "false"
|
||||||
|
"finally" "for" "function" "if" "import" "in" "instanceof" "let" "new"
|
||||||
|
"null" "return" "static" "super" "switch" "this" "throw" "true" "try"
|
||||||
|
"typeof" "undefined" "var" "void" "while" "with" "yield")
|
||||||
(kotlin-mode
|
(kotlin-mode
|
||||||
"abstract" "annotation" "as" "break" "by" "catch" "class" "companion"
|
"abstract" "annotation" "as" "break" "by" "catch" "class" "companion"
|
||||||
"const" "constructor" "continue" "data" "do" "else" "enum" "false" "final"
|
"const" "constructor" "continue" "data" "do" "else" "enum" "false" "final"
|
||||||
@@ -209,9 +212,11 @@
|
|||||||
"print" "private" "protected" "public" "require" "require_once" "return"
|
"print" "private" "protected" "public" "require" "require_once" "return"
|
||||||
"static" "switch" "this" "throw" "try" "unset" "use" "var" "while" "xor")
|
"static" "switch" "this" "throw" "try" "unset" "use" "var" "while" "xor")
|
||||||
(python-mode
|
(python-mode
|
||||||
"and" "assert" "break" "class" "continue" "def" "del" "elif" "else"
|
;; https://docs.python.org/3/reference/lexical_analysis.html#keywords
|
||||||
"except" "exec" "finally" "for" "from" "global" "if" "import" "in" "is"
|
"False" "None" "True" "and" "as" "assert" "break" "class" "continue" "def"
|
||||||
"lambda" "not" "or" "pass" "print" "raise" "return" "try" "while" "yield")
|
"del" "elif" "else" "except" "exec" "finally" "for" "from" "global" "if"
|
||||||
|
"import" "in" "is" "lambda" "nonlocal" "not" "or" "pass" "print" "raise"
|
||||||
|
"return" "try" "while" "with" "yield")
|
||||||
(ruby-mode
|
(ruby-mode
|
||||||
"BEGIN" "END" "alias" "and" "begin" "break" "case" "class" "def" "defined?"
|
"BEGIN" "END" "alias" "and" "begin" "break" "case" "class" "def" "defined?"
|
||||||
"do" "else" "elsif" "end" "ensure" "false" "for" "if" "in" "module"
|
"do" "else" "elsif" "end" "ensure" "false" "for" "if" "in" "module"
|
||||||
@@ -267,6 +272,7 @@
|
|||||||
(espresso-mode . javascript-mode)
|
(espresso-mode . javascript-mode)
|
||||||
(js-mode . javascript-mode)
|
(js-mode . javascript-mode)
|
||||||
(js-jsx-mode . javascript-mode)
|
(js-jsx-mode . javascript-mode)
|
||||||
|
(rjsx-mode . javascript-mode)
|
||||||
(cperl-mode . perl-mode)
|
(cperl-mode . perl-mode)
|
||||||
(jde-mode . java-mode)
|
(jde-mode . java-mode)
|
||||||
(ess-julia-mode . julia-mode)
|
(ess-julia-mode . julia-mode)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
(define-package "company" "20180501.11" "Modular text completion framework"
|
(define-package "company" "20180615.1508" "Modular text completion framework"
|
||||||
'((emacs "24.3"))
|
'((emacs "24.3"))
|
||||||
:keywords
|
:keywords
|
||||||
'("abbrev" "convenience" "matching")
|
'("abbrev" "convenience" "matching")
|
||||||
@@ -2391,11 +2391,13 @@ If SHOW-VERSION is non-nil, show the version in the echo area."
|
|||||||
cc annotations)
|
cc annotations)
|
||||||
(when (or (stringp prefix) (consp prefix))
|
(when (or (stringp prefix) (consp prefix))
|
||||||
(let ((company-backend backend))
|
(let ((company-backend backend))
|
||||||
|
(condition-case nil
|
||||||
(setq cc (company-call-backend 'candidates (company--prefix-str prefix))
|
(setq cc (company-call-backend 'candidates (company--prefix-str prefix))
|
||||||
annotations
|
annotations
|
||||||
(mapcar
|
(mapcar
|
||||||
(lambda (c) (cons c (company-call-backend 'annotation c)))
|
(lambda (c) (cons c (company-call-backend 'annotation c)))
|
||||||
cc))))
|
cc))
|
||||||
|
(error (setq annotations 'error)))))
|
||||||
(pop-to-buffer (get-buffer-create "*company-diag*"))
|
(pop-to-buffer (get-buffer-create "*company-diag*"))
|
||||||
(setq buffer-read-only nil)
|
(setq buffer-read-only nil)
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
@@ -2414,11 +2416,13 @@ If SHOW-VERSION is non-nil, show the version in the echo area."
|
|||||||
(insert "\n")
|
(insert "\n")
|
||||||
(insert (message "Completions:"))
|
(insert (message "Completions:"))
|
||||||
(unless cc (insert " none"))
|
(unless cc (insert " none"))
|
||||||
|
(if (eq annotations 'error)
|
||||||
|
(insert "(error fetching)")
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(dolist (c annotations)
|
(dolist (c annotations)
|
||||||
(insert "\n " (prin1-to-string (car c)))
|
(insert "\n " (prin1-to-string (car c)))
|
||||||
(when (cdr c)
|
(when (cdr c)
|
||||||
(insert " " (prin1-to-string (cdr c))))))
|
(insert " " (prin1-to-string (cdr c)))))))
|
||||||
(special-mode)))
|
(special-mode)))
|
||||||
|
|
||||||
;;; pseudo-tooltip ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;; pseudo-tooltip ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
;;; -*- no-byte-compile: t -*-
|
|
||||||
(define-package "counsel" "20180608.955" "Various completion functions using Ivy" '((emacs "24.3") (swiper "0.9.0")) :commit "1355542992b518b61c9f7b6edaa6c1d8c889f700" :keywords '("completion" "matching") :url "https://github.com/abo-abo/swiper")
|
|
||||||
@@ -24,11 +24,15 @@ Clojure completion at point.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-unicode-char "counsel" "\
|
(autoload 'counsel-company "counsel" "\
|
||||||
Insert COUNT copies of a Unicode character at point.
|
Complete using `company-candidates'.
|
||||||
COUNT defaults to 1.
|
|
||||||
|
|
||||||
\(fn &optional COUNT)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-irony "counsel" "\
|
||||||
|
Inline C/C++ completion using Irony.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-describe-variable "counsel" "\
|
(autoload 'counsel-describe-variable "counsel" "\
|
||||||
Forward to `describe-variable'.
|
Forward to `describe-variable'.
|
||||||
@@ -57,26 +61,18 @@ input corresponding to the chosen variable.
|
|||||||
|
|
||||||
\(fn SYM)" t nil)
|
\(fn SYM)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-apropos "counsel" "\
|
||||||
|
Show all matching symbols.
|
||||||
|
See `apropos' for further information about what is considered
|
||||||
|
a symbol and how to search for them.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-info-lookup-symbol "counsel" "\
|
(autoload 'counsel-info-lookup-symbol "counsel" "\
|
||||||
Forward to `info-lookup-symbol' with ivy completion.
|
Forward to `info-lookup-symbol' with ivy completion.
|
||||||
|
|
||||||
\(fn SYMBOL &optional MODE)" t nil)
|
\(fn SYMBOL &optional MODE)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-file-register "counsel" "\
|
|
||||||
Search file in register.
|
|
||||||
|
|
||||||
You cannot use Emacs' normal register commands to create file
|
|
||||||
registers. Instead you must use the `set-register' function like
|
|
||||||
so: `(set-register ?i \"/home/eric/.emacs.d/init.el\")'. Now you
|
|
||||||
can use `C-x r j i' to open that file.
|
|
||||||
|
|
||||||
\(fn)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-bookmark "counsel" "\
|
|
||||||
Forward to `bookmark-jump' or `bookmark-set' if bookmark doesn't exist.
|
|
||||||
|
|
||||||
\(fn)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-M-x "counsel" "\
|
(autoload 'counsel-M-x "counsel" "\
|
||||||
Ivy version of `execute-extended-command'.
|
Ivy version of `execute-extended-command'.
|
||||||
Optional INITIAL-INPUT is the initial input in the minibuffer.
|
Optional INITIAL-INPUT is the initial input in the minibuffer.
|
||||||
@@ -111,6 +107,13 @@ BUFFER defaults to the current one.
|
|||||||
|
|
||||||
\(fn &optional PREFIX BUFFER)" t nil)
|
\(fn &optional PREFIX BUFFER)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-faces "counsel" "\
|
||||||
|
Complete faces with preview.
|
||||||
|
Actions are provided by default for describing or customizing the
|
||||||
|
selected face.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-git "counsel" "\
|
(autoload 'counsel-git "counsel" "\
|
||||||
Find file in the current Git repository.
|
Find file in the current Git repository.
|
||||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||||
@@ -156,6 +159,21 @@ Find a file on `recentf-list'.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-bookmark "counsel" "\
|
||||||
|
Forward to `bookmark-jump' or `bookmark-set' if bookmark doesn't exist.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-file-register "counsel" "\
|
||||||
|
Search file in register.
|
||||||
|
|
||||||
|
You cannot use Emacs' normal register commands to create file
|
||||||
|
registers. Instead you must use the `set-register' function like
|
||||||
|
so: `(set-register ?i \"/home/eric/.emacs.d/init.el\")'. Now you
|
||||||
|
can use `C-x r j i' to open that file.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-locate "counsel" "\
|
(autoload 'counsel-locate "counsel" "\
|
||||||
Call the \"locate\" shell command.
|
Call the \"locate\" shell command.
|
||||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||||
@@ -277,6 +295,11 @@ Capture something.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-org-agenda-headlines "counsel" "\
|
||||||
|
Choose from headers of `org-mode' files in the agenda.
|
||||||
|
|
||||||
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-tmm "counsel" "\
|
(autoload 'counsel-tmm "counsel" "\
|
||||||
Text-mode emulation of looking and choosing from a menubar.
|
Text-mode emulation of looking and choosing from a menubar.
|
||||||
|
|
||||||
@@ -335,20 +358,22 @@ Jump to outline with completion.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-rhythmbox "counsel" "\
|
(autoload 'counsel-ibuffer "counsel" "\
|
||||||
Choose a song from the Rhythmbox library to play or enqueue.
|
Use ibuffer to switch to another buffer.
|
||||||
|
NAME specifies the name of the buffer (defaults to \"*Ibuffer*\").
|
||||||
|
|
||||||
|
\(fn &optional NAME)" t nil)
|
||||||
|
|
||||||
|
(autoload 'counsel-switch-to-shell-buffer "counsel" "\
|
||||||
|
Switch to a shell buffer, or create one.
|
||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-linux-app "counsel" "\
|
(autoload 'counsel-unicode-char "counsel" "\
|
||||||
Launch a Linux desktop application, similar to Alt-<F2>.
|
Insert COUNT copies of a Unicode character at point.
|
||||||
|
COUNT defaults to 1.
|
||||||
|
|
||||||
\(fn)" t nil)
|
\(fn &optional COUNT)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-company "counsel" "\
|
|
||||||
Complete using `company-candidates'.
|
|
||||||
|
|
||||||
\(fn)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-colors-emacs "counsel" "\
|
(autoload 'counsel-colors-emacs "counsel" "\
|
||||||
Show a list of all supported colors for a particular frame.
|
Show a list of all supported colors for a particular frame.
|
||||||
@@ -366,31 +391,13 @@ selected color.
|
|||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-org-agenda-headlines "counsel" "\
|
(autoload 'counsel-rhythmbox "counsel" "\
|
||||||
Choose from headers of `org-mode' files in the agenda.
|
Choose a song from the Rhythmbox library to play or enqueue.
|
||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
(autoload 'counsel-irony "counsel" "\
|
(autoload 'counsel-linux-app "counsel" "\
|
||||||
Inline C/C++ completion using Irony.
|
Launch a Linux desktop application, similar to Alt-<F2>.
|
||||||
|
|
||||||
\(fn)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-apropos "counsel" "\
|
|
||||||
Show all matching symbols.
|
|
||||||
See `apropos' for further information about what is considered
|
|
||||||
a symbol and how to search for them.
|
|
||||||
|
|
||||||
\(fn)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-ibuffer "counsel" "\
|
|
||||||
Use ibuffer to switch to another buffer.
|
|
||||||
NAME specifies the name of the buffer (defaults to \"*Ibuffer*\").
|
|
||||||
|
|
||||||
\(fn &optional NAME)" t nil)
|
|
||||||
|
|
||||||
(autoload 'counsel-switch-to-shell-buffer "counsel" "\
|
|
||||||
Switch to a shell buffer, or create one.
|
|
||||||
|
|
||||||
\(fn)" t nil)
|
\(fn)" t nil)
|
||||||
|
|
||||||
2
elpa/counsel-20180625.634/counsel-pkg.el
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
;;; -*- no-byte-compile: t -*-
|
||||||
|
(define-package "counsel" "20180625.634" "Various completion functions using Ivy" '((emacs "24.3") (swiper "0.9.0")))
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
;;; ess-autoloads.el --- Emacs Speaks Statistics: statistical programming within Emacs
|
|
||||||
|
|
||||||
;; Copyright (C) 2012 Donald E. Curtis
|
|
||||||
;; Copyright (C) 2014 The ESS Core Team
|
|
||||||
|
|
||||||
;; Original Author: Donald E. Curtis
|
|
||||||
;; Created: March 5, 2012
|
|
||||||
;; Maintainers: ESS-core <ESS-core@r-project.org>
|
|
||||||
|
|
||||||
;; Keywords: autoload, startup, configuration, package.el
|
|
||||||
;; Summary: essential autoloads for ESS
|
|
||||||
|
|
||||||
;; This file is part of ESS
|
|
||||||
|
|
||||||
;; 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.
|
|
||||||
;;
|
|
||||||
;; A copy of the GNU General Public License is available at
|
|
||||||
;; http://www.r-project.org/Licenses/
|
|
||||||
;;
|
|
||||||
;; In short: you may use this code any way you like, as long as you
|
|
||||||
;; don't charge money for it, remove this notice, or hold anyone liable
|
|
||||||
;; for its results.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;;; This file is just a wrapper so that ESS will be more `package.el'
|
|
||||||
;;; friendly. This is just a list of functions that require loading
|
|
||||||
;;; of ESS through `ess-site'.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
;;*;; Requires and autoloads
|
|
||||||
;;;=====================================================
|
|
||||||
;;;
|
|
||||||
|
|
||||||
(when (boundp 'load-path)
|
|
||||||
(add-to-list 'load-path
|
|
||||||
(file-name-as-directory
|
|
||||||
(expand-file-name
|
|
||||||
"lisp"
|
|
||||||
(file-name-directory load-file-name)))))
|
|
||||||
|
|
||||||
(autoload 'R "ess-site" "Call 'R', the 'GNU S' system from the R Foundation.
|
|
||||||
Optional prefix (C-u) allows to set command line arguments, such as
|
|
||||||
--vsize. This should be OS agnostic.
|
|
||||||
If you have certain command line arguments that should always be passed
|
|
||||||
to R, put them in the variable `inferior-R-args'." t)
|
|
||||||
|
|
||||||
(autoload 'R-mode "ess-site.el" "Major mode for editing R source." t)
|
|
||||||
(autoload 'r-mode "ess-site.el" "Major mode for editing R source." t)
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.R$" . R-mode))
|
|
||||||
|
|
||||||
(autoload 'S "ess-site" "Call 'S'." t)
|
|
||||||
|
|
||||||
; Local variables section
|
|
||||||
|
|
||||||
;;; This file is automatically placed in Outline minor mode.
|
|
||||||
;;; The file is structured as follows:
|
|
||||||
;;; Chapters: ^L ;
|
|
||||||
;;; Sections: ;;*;;
|
|
||||||
;;; Subsections: ;;;*;;;
|
|
||||||
;;; Components: defuns, defvars, defconsts
|
|
||||||
;;; Random code beginning with a ;;;;* comment
|
|
||||||
|
|
||||||
;;; Local variables:
|
|
||||||
;;; mode: emacs-lisp
|
|
||||||
;;; mode: outline-minor
|
|
||||||
;;; outline-regexp: "\^L\\|\\`;\\|;;\\*\\|;;;\\*\\|(def[cvu]\\|(setq\\|;;;;\\*"
|
|
||||||
;;; End:
|
|
||||||
|
|
||||||
;;; ess-autoloads.el ends here
|
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
(define-package "ess" "20180611.502" "Emacs Speaks Statistics"
|
|
||||||
'((julia-mode "0.3"))
|
|
||||||
:url "http://ess.r-project.org")
|
|
||||||
;; Local Variables:
|
|
||||||
;; no-byte-compile: t
|
|
||||||
;; End:
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem ESS[BUGS]: 02/18/2004
|
|
||||||
rem runs BUGS taking commands from command file
|
|
||||||
|
|
||||||
if not "%2"=="" goto 20
|
|
||||||
if not "%1"=="" goto 10
|
|
||||||
|
|
||||||
echo usage: backbug5 [default_output_name] command_file
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:10
|
|
||||||
if exist bugs.bog attrib -r bugs.bog
|
|
||||||
bugs05.exe bugs.buf bugs.bog bugs.out bugs.ind bugs1.out bugs1.ind %1
|
|
||||||
copy /y bugs.log bugs.bog
|
|
||||||
attrib +r bugs.bog
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:20
|
|
||||||
set one=1
|
|
||||||
if exist %1.bog attrib -r %1.bog
|
|
||||||
bugs05.exe %1.buf %1.bog %1.out %1.ind %1%one%.out %1%one%.ind %2
|
|
||||||
copy /y %1.log %1.bog
|
|
||||||
attrib +r %1.bog
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:40
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem ESS[BUGS]: 02/13/2003
|
|
||||||
rem runs BUGS taking commands from command file
|
|
||||||
|
|
||||||
if not "%3"=="" goto 30
|
|
||||||
if not "%2"=="" goto 20
|
|
||||||
if not "%1"=="" goto 10
|
|
||||||
|
|
||||||
echo usage: backbugs [[number_of_bins] default_output_name] command_file
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:10
|
|
||||||
bugs0603.exe 32 bugs %1
|
|
||||||
if exist bugs.bog attrib -r bugs.bog
|
|
||||||
copy /y bugs.log bugs.bog
|
|
||||||
attrib +r bugs.bog
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:20
|
|
||||||
bugs0603.exe 32 %1 %2
|
|
||||||
if exist %1.bog attrib -r %1.bog
|
|
||||||
copy /y %1.log %1.bog
|
|
||||||
attrib +r %1.bog
|
|
||||||
goto 40
|
|
||||||
|
|
||||||
:30
|
|
||||||
bugs0603.exe %1 %2 %3
|
|
||||||
if exist %2.bog attrib -r %2.bog
|
|
||||||
copy /y %2.log %2.bog
|
|
||||||
attrib +r %2.bog
|
|
||||||
|
|
||||||
:40
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
foobar <- function(...) {}
|
|
||||||
rm(list=ls())
|
|
||||||
|
|
||||||
##--------> consequence of the above experiments:
|
|
||||||
## the 2nd form is numerically "uniformly better" than the first
|
|
||||||
##--------> 2011-05-27: Change Frank's psiInv() to
|
|
||||||
## psiInv = function(t,theta)
|
|
||||||
## -log1p(exp(-theta)*expm1((1-t)*theta)/expm1(-theta))
|
|
||||||
|
|
||||||
##--- In the following block, in the first line, C-c C-c did *NOT* behave
|
|
||||||
|
|
||||||
th <- 48 # now do ls() and see what happened ... the horror !!!
|
|
||||||
d <- 3
|
|
||||||
cpF <- list("Frank", list(th, 1:d))
|
|
||||||
cop <- acF <- cpF$copula
|
|
||||||
|
|
||||||
|
|
||||||
### Here, the bug (12.09-2, e.g.) has been that
|
|
||||||
### the function beginning is not found reliably:
|
|
||||||
### C-M-q -> should go to end; then C-M-a should go back to beginning (here)
|
|
||||||
mplot4 <- function(x, vList, xvar, cvar, rvar, log = "",
|
|
||||||
verbose=FALSE, show.layout=verbose)
|
|
||||||
{
|
|
||||||
dn <- dimnames(x)
|
|
||||||
## the variable displayed in one plot (with different colors):
|
|
||||||
v <- setdiff(names(dn), c(xvar, cvar, rvar))
|
|
||||||
stopifnot(length(v) == 1, 1 <= (nv <- length(dn[[v]])), nv <= length(pcol),
|
|
||||||
length(pspc) == 2, length(spc) == 2, length(axlabspc) == 2,
|
|
||||||
length(labspc) == 2, length(auxcol) == 4)
|
|
||||||
v.col <- colorRampPalette(pcol, space="Lab")(nv) # colors for v
|
|
||||||
## permute to know the component indices:
|
|
||||||
x <- aperm(x, perm=c(rvar, cvar, v, xvar))
|
|
||||||
|
|
||||||
if(is.null(xlab)) # default: the expression from varlist
|
|
||||||
xlab <- vList[[xvar]]$expr
|
|
||||||
z <- as.numeric(vList[[xvar]]$value) # pick out different x values
|
|
||||||
zrange <- range(z) # for forcing the same x axis limits per row
|
|
||||||
|
|
||||||
## set up the grid layout
|
|
||||||
nx <- length(dn[[cvar]]) # number of plot columns
|
|
||||||
nx. <- nx+1+(nx-1)+1 # +1: for y axis label; +(nx-1): for gaps; +1: for row labels
|
|
||||||
ny <- length(dn[[rvar]]) # number of plot rows
|
|
||||||
ny. <- ny+1+(ny-1)+1 # +1: for column labels; +(ny-1): for gaps; +1: for x axis label
|
|
||||||
## plot settings, restored on exit
|
|
||||||
opar <- par(no.readonly=TRUE); on.exit(par(opar))
|
|
||||||
plot.new() # start (empty) new page with 'graphics'
|
|
||||||
gl <- grid.layout(nx., ny.,
|
|
||||||
## units in npc as for pdf(); no square plotting region otherwise:
|
|
||||||
default.units="npc",
|
|
||||||
widths=c(axlabspc[1], rep(c(pspc[1], spc[1]), nx-1), pspc[1], labspc[1]),
|
|
||||||
heights=c(labspc[2], rep(c(pspc[2], spc[2]), ny-1), pspc[2], axlabspc[2]))
|
|
||||||
if(show.layout) grid.show.layout(gl, vp=viewport(width=1.25, height=1.25))
|
|
||||||
pushViewport(viewport(layout=gl)) # use this layout in a viewport
|
|
||||||
|
|
||||||
## --- plot data ---
|
|
||||||
for(i in 1:nx) { # rows
|
|
||||||
i. <- 2*i # column index in layout (for jumping over gaps)
|
|
||||||
if(verbose) cat(sprintf("plot row %d (%d): [columns:] ", i, i.))
|
|
||||||
yrange <- range(x[i,,,]) # for forcing the same y axis limits per row
|
|
||||||
for(j in 1:ny) { # columns
|
|
||||||
j. <- 2*j # row index in layout (for jumping over gaps)
|
|
||||||
if(verbose) cat(sprintf("%d (%d) ", j, j.))
|
|
||||||
pushViewport(viewport(layout.pos.row=i., layout.pos.col=j.))
|
|
||||||
|
|
||||||
## plot
|
|
||||||
grid.rect(gp=gpar(col=NA, fill=auxcol[3])) # background
|
|
||||||
## start a 'graphics' plot
|
|
||||||
par(plt = gridPLT())
|
|
||||||
## Hmm, this is not really useful for debugging:
|
|
||||||
## rp <- tryCatch(par(plt=gridPLT()), error = function(e)e)
|
|
||||||
## if(inherits(rp, "error")) {
|
|
||||||
## cat("\n *** ERROR in mplot() :\n", rp$message,"\n"); return(gl)
|
|
||||||
## }
|
|
||||||
par(new=TRUE) # always do this before each new 'graphics' plot
|
|
||||||
## set up coordinate axes:
|
|
||||||
plot(zrange, yrange, log=log, type="n", ann=FALSE, axes=FALSE)
|
|
||||||
## background grid:
|
|
||||||
grid(col=auxcol[4], lty="solid", lwd=grid.lwd, equilogs=FALSE)
|
|
||||||
## plot corresponding points/lines
|
|
||||||
for(k in 1:nv) points(z, x[i,j,k,], type="b", col=v.col[k])
|
|
||||||
## axes
|
|
||||||
c1 <- auxcol[1]
|
|
||||||
if(i == nx) # x axes
|
|
||||||
axis(1, lwd=ax.lwd, col=NA, col.ticks=c1, col.axis=c1)
|
|
||||||
if(j == 1) { # y axes
|
|
||||||
if(packageVersion("sfsmisc") >= "1.0-21")
|
|
||||||
## allow for adjusting colors of small ticks
|
|
||||||
eaxis(2, lwd=ax.lwd, col=NA, col.ticks=c1, col.axis=c1,
|
|
||||||
small.args=list(col=NA, col.ticks=c1, col.axis=c1))
|
|
||||||
else
|
|
||||||
eaxis(2, lwd=ax.lwd, col=NA, col.ticks=c1, col.axis=c1)
|
|
||||||
}
|
|
||||||
upViewport()
|
|
||||||
|
|
||||||
## column labels
|
|
||||||
if(i == 1) {
|
|
||||||
pushViewport(viewport(layout.pos.row=1, layout.pos.col=j.))
|
|
||||||
grid.rect(gp=gpar(col=NA, fill=auxcol[2]))
|
|
||||||
grid.text(parse(text=dn[[cvar]][j]), x=0.5, y=0.5, gp=gpar(cex=tx.cex))
|
|
||||||
upViewport()
|
|
||||||
}
|
|
||||||
|
|
||||||
## row labels
|
|
||||||
if(j == 2) {
|
|
||||||
pushViewport(viewport(layout.pos.row=i., layout.pos.col=nx.))
|
|
||||||
grid.rect(gp=gpar(col=NA, fill=auxcol[2]))
|
|
||||||
grid.text(parse(text=dn[[rvar]][i]), x=0.5, y=0.5, gp=gpar(cex=tx.cex), rot=-90)
|
|
||||||
upViewport()
|
|
||||||
}
|
|
||||||
}## for(j ..)
|
|
||||||
if(verbose) cat("\n")
|
|
||||||
}## for(i ..)
|
|
||||||
|
|
||||||
## legend
|
|
||||||
pushViewport(viewport(layout.pos.row=ny., layout.pos.col=2:(ny.-1)))
|
|
||||||
ll <- 0.01 # line length
|
|
||||||
|
|
||||||
## [... ... made example smaller ... ESS-bug still shows ....]
|
|
||||||
|
|
||||||
upViewport()
|
|
||||||
invisible(gl)
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
%% ESS BUG: Indentation ([Tab]) does not work if point is after \arguments{..}
|
|
||||||
%% ------- almost surely because of the (non-escaped) "[".
|
|
||||||
%% and this, all below is original from the R sources (R-devel, 2014-03-05)
|
|
||||||
|
|
||||||
% File src/library/base/man/Extract.factor.Rd
|
|
||||||
% Part of the R package, http://www.R-project.org
|
|
||||||
% Copyright 1995-2010 R Core Team
|
|
||||||
% Distributed under GPL 2 or later
|
|
||||||
|
|
||||||
\name{Extract.factor}
|
|
||||||
\title{Extract or Replace Parts of a Factor}
|
|
||||||
\alias{[.factor}
|
|
||||||
\alias{[<-.factor}
|
|
||||||
\alias{[[.factor}
|
|
||||||
\alias{[[<-.factor}
|
|
||||||
\description{
|
|
||||||
Extract or replace subsets of factors.
|
|
||||||
}
|
|
||||||
\usage{
|
|
||||||
\method{[}{factor}(x, \dots, drop = FALSE)
|
|
||||||
\method{[[}{factor}(x, \dots)
|
|
||||||
\method{[}{factor}(x, \dots) <- value
|
|
||||||
\method{[[}{factor}(x, \dots) <- value
|
|
||||||
}
|
|
||||||
\arguments{
|
|
||||||
\item{x}{a factor}
|
|
||||||
\item{\dots}{a specification of indices -- see \code{\link{Extract}}.}
|
|
||||||
\item{drop}{logical. If true, unused levels are dropped.}
|
|
||||||
\item{value}{character: a set of levels. Factor values are coerced to
|
|
||||||
character.}
|
|
||||||
}
|
|
||||||
\value{
|
|
||||||
A factor with the same set of levels as \code{x} unless \code{drop = TRUE}.
|
|
||||||
}
|
|
||||||
\details{
|
|
||||||
When unused levels are dropped the ordering of the remaining levels is
|
|
||||||
preserved.
|
|
||||||
|
|
||||||
If \code{value} is not in \code{levels(x)}, a missing value is
|
|
||||||
assigned with a warning.
|
|
||||||
|
|
||||||
Any \code{\link{contrasts}} assigned to the factor are preserved
|
|
||||||
unless \code{drop = TRUE}.
|
|
||||||
|
|
||||||
The \code{[[} method supports argument \code{exact}.
|
|
||||||
}
|
|
||||||
\seealso{
|
|
||||||
\code{\link{factor}}, \code{\link{Extract}}.
|
|
||||||
}
|
|
||||||
\examples{
|
|
||||||
## following example(factor)
|
|
||||||
(ff <- factor(substring("statistics", 1:10, 1:10), levels = letters))
|
|
||||||
ff[, drop = TRUE]
|
|
||||||
factor(letters[7:10])[2:3, drop = TRUE]
|
|
||||||
}
|
|
||||||
\keyword{category}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
### Go inside the "preamble" section and type C-e C-e C-r (ess-roxy-preview-Rd)
|
|
||||||
### to get an R error message about 'col(m)' --> there's a buglet somewhere
|
|
||||||
|
|
||||||
##' Computes different parameter estimates for foo bars and variations
|
|
||||||
##'
|
|
||||||
##' @title Estimation procedures for Foo Bar
|
|
||||||
##' @param x data matrix
|
|
||||||
##' @param op object to be estimated
|
|
||||||
##' @param method estimation method; can be
|
|
||||||
##' "mle" MLE
|
|
||||||
##' "smle" SMLE
|
|
||||||
##' "dmle" MLE based on the diagonal
|
|
||||||
##' "mde.normal" minimum distance estimation based on the chisq distribution and CvM distance
|
|
||||||
##' "mde.log" minimum distance estimation based on the Erlang distribution and CvM distance
|
|
||||||
##' "tau.tau.mean" averaged pairwise Kendall's tau estimator
|
|
||||||
##' "tau.theta.mean" average of Kendall's tau estimators
|
|
||||||
##' "beta" multivariate Blomqvist's beta estimator
|
|
||||||
##' @return estimated value/vector according to the chosen method
|
|
||||||
##' @author Foo Bar
|
|
||||||
estimateFoo <- function(x, op, method=c("mle", "smle", "dmle", "mde.normal", "mde.log",
|
|
||||||
"tau.tau.mean", "tau.theta.mean", "beta"))
|
|
||||||
{
|
|
||||||
....
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
mypager <- function(files, header, title, delete.file) {
|
|
||||||
tfile <- tempfile(paste(basename(files[1]),"__", sep=""))
|
|
||||||
Tf <- file(tfile, open="w+")
|
|
||||||
stopifnot(file.append(tfile, files))
|
|
||||||
system(paste("emacsclient -n", tfile))
|
|
||||||
}
|
|
||||||
file.show(file.path(R.home("doc"), "COPYRIGHTS"),
|
|
||||||
pager = mypager)
|
|
||||||
|
|
||||||
options(pager = mypager)
|
|
||||||
|
|
||||||
|
|
||||||
## test :
|
|
||||||
file.show(file.path(R.home("doc"), "COPYRIGHTS"))
|
|
||||||
|
|
||||||
## or
|
|
||||||
RShowDoc('NEWS')
|
|
||||||
## using a suboptimal file name
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<<coxph>>=
|
|
||||||
|
|
||||||
## reported by Terry Therneau
|
|
||||||
coxph <- function(formula, data, weights, subset, na.action,
|
|
||||||
init, control, ties= c("efron", "breslow", "exact"),
|
|
||||||
singular.ok =TRUE, robust=FALSE,
|
|
||||||
model=FALSE, x=FALSE, y=TRUE, tt, method=ties, ...) {
|
|
||||||
|
|
||||||
ties <- match.arg(ties)
|
|
||||||
Call <- match.call()
|
|
||||||
|
|
||||||
... (20 lines omitted)
|
|
||||||
|
|
||||||
timetrans <- attr(Terms, "specials")$tt
|
|
||||||
if (length(timetrans)) {
|
|
||||||
<<coxph-transform>>
|
|
||||||
}
|
|
||||||
|
|
||||||
## next lines should not be ofsetted
|
|
||||||
<<coxph-setup>>
|
|
||||||
<<coxph-penal>>
|
|
||||||
<<coxph-compute>>
|
|
||||||
<<coxph-finish>>
|
|
||||||
}
|
|
||||||
@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
|
|
||||||
/********************/
|
|
||||||
/* comment box*/
|
|
||||||
/********************/
|
|
||||||
|
|
||||||
ods listing;
|
|
||||||
|
|
||||||
|
|
||||||
/* From: Star Ying <starying@outlook.com> */
|
|
||||||
/* Subject: [ESS] Another indentation error */
|
|
||||||
/* To: "ess-help@r-project.org" <ess-help@r-project.org> */
|
|
||||||
/* Date: Tue, 26 Mar 2013 14:33:22 -0400 (5 minutes, 16 seconds ago) */
|
|
||||||
/* X-Boundary: ________________________________________________________________________________________________________________________________________________________________________________________________________ */
|
|
||||||
|
|
||||||
/* So I have another indentation error with ess and emacs that I have run into. For the example below: */
|
|
||||||
|
|
||||||
data example;
|
|
||||||
merge
|
|
||||||
lib.data lib.data2
|
|
||||||
|
|
||||||
%if val=ue %then %do;
|
|
||||||
lib.data3
|
|
||||||
%end;
|
|
||||||
;
|
|
||||||
by var;
|
|
||||||
|
|
||||||
/* The last line produces an error if I hit tab or if I try to indent that */
|
|
||||||
/* region. Emacs produces the error */
|
|
||||||
/* "invalid search bound (wrong side of point)". The code itself is valid and runs */
|
|
||||||
/* in sas proper. Is this just me or is this a reproducible error? */
|
|
||||||
|
|
||||||