[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master aa2c021 11/62: Added info documentation for future inclusi
From: |
Ian Dunn |
Subject: |
[elpa] master aa2c021 11/62: Added info documentation for future inclusion in ELPA |
Date: |
Sat, 9 Dec 2017 14:33:57 -0500 (EST) |
branch: master
commit aa2c0219969a4e5fefaee1b02b46dbea6397b7f1
Author: Ian Dunn <address@hidden>
Commit: Ian Dunn <address@hidden>
Added info documentation for future inclusion in ELPA
* paced.org: Added descriptions to most headers
---
.bzrignore | 2 +
dir | 19 ++
paced.info | 668 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
paced.org | 49 ++++-
4 files changed, 736 insertions(+), 2 deletions(-)
diff --git a/.bzrignore b/.bzrignore
index 0d820ff..fd9ec13 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -4,3 +4,5 @@ paced-autoloads.el
Makefile
.deps
test-files/paced-dictionary-case-sensitive
+paced.html
+paced.texi
\ No newline at end of file
diff --git a/dir b/dir
new file mode 100644
index 0000000..53a15fe
--- /dev/null
+++ b/dir
@@ -0,0 +1,19 @@
+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, "H" 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
+* paced. Predictive Abbreviation Completion and
+ Expansion using Dictionaries.
diff --git a/paced.info b/paced.info
new file mode 100644
index 0000000..20f0231
--- /dev/null
+++ b/paced.info
@@ -0,0 +1,668 @@
+This is paced.info, produced by makeinfo version 6.5 from paced.texi.
+
+INFO-DIR-SECTION Emacs
+START-INFO-DIR-ENTRY
+* paced. Predictive Abbreviation Completion and Expansion using
Dictionaries.
+END-INFO-DIR-ENTRY
+
+
+File: paced.info, Node: Top, Next: Copying, Up: (dir)
+
+Paced
+*****
+
+* Menu:
+
+* Copying::
+* Introduction:: Brief Introduction to paced
+* Dictionaries:: Paced’s bread and butter
+* Population Commands:: The good stuff
+* Example Setups:: Some examples
+* Contributing:: I wanna help!
+
+— The Detailed Node Listing —
+
+Introduction
+
+* Terminology:: To avoid confusion
+* Similar Packages:: Packages with similar goals
+* Installation:: How to install paced
+
+Similar Packages
+
+* pabbrev::
+* predictive::
+
+
+Dictionaries
+
+* Creating a Dictionary:: First steps
+* Editing a Dictionary:: How to edit your new dictionary
+* Selective Dictionaries:: Enabling certain dictionaries under certain
conditions
+* Dictionary Files:: Loading and Saving the Dictionaries
+
+Population Commands
+
+* Built-in Commands:: Basics
+* Properties:: Tweaking the defaults
+* Custom Commands:: Defining new population commands
+* Asynchronous Population:: Populating without blocking
+
+Example Setups
+
+* Org Agenda Files::
+* Project Files::
+
+
+
+File: paced.info, Node: Copying, Next: Introduction, Prev: Top, Up: Top
+
+Copying
+*******
+
+Copyright (C) 2017 Ian Dunn
+
+ 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
+ <http://www.gnu.org/licenses/>.
+
+
+File: paced.info, Node: Introduction, Next: Dictionaries, Prev: Copying,
Up: Top
+
+Introduction
+************
+
+Paced (Predictive Abbreviation Completion and Expansion using
+Dictionaries) provides a completion backend based on what a user has
+already written.
+
+ Paced scans one or more files or buffers and constructs a table of
+words, weighted by how often they’re used.
+
+ Once it’s constructed this table, it can present them to the user for
+completion, sorted by their weights.
+
+ Creating a new dictionary is easy; just use
+‘paced-create-new-dictionary’ to create a new dictionary, then set the
+population commands and sort method.
+
+ Dictionaries are persistent; they’re saved with
+‘paced-save-named-dictionary’ or ‘paced-save-all-dictionaries’.
+
+ Population commands tell a dictionary how it should refresh its usage
+table. The different types of populators are documented in
+‘paced--populator-alist’.
+
+ No completion frontend is provided, but a function for
+‘completion-at-point-functions’ is given.
+
+* Menu:
+
+* Terminology:: To avoid confusion
+* Similar Packages:: Packages with similar goals
+* Installation:: How to install paced
+
+
+File: paced.info, Node: Terminology, Next: Similar Packages, Up:
Introduction
+
+Terminology
+===========
+
+Dictionary
+ A collection of words and their usage counts.
+
+Population Command
+ A method of loading data into a dictionary.
+
+
+File: paced.info, Node: Similar Packages, Next: Installation, Prev:
Terminology, Up: Introduction
+
+Similar Packages
+================
+
+There are a few Emacs packages that have similar goals to paced, and
+provided some of the inspiration and motivation behind it.
+
+* Menu:
+
+* pabbrev::
+* predictive::
+
+
+File: paced.info, Node: pabbrev, Next: predictive, Up: Similar Packages
+
+pabbrev
+-------
+
+The pabbrev (http://github.com/phillord/pabbrev) package by Phillip Lord
+scans text of the current buffer while Emacs is idle and presents the
+user with the most common completions.
+
+ One of the major downsides to pabbrev is that the data it collects
+doesn’t persist between Emacs sessions. For a few files that are always
+open, such as org agenda files, pabbrev works great. For files that
+aren’t always open, like prose or source files, you’ve got to retrain
+pabbrev every time you restart Emacs.
+
+ The benefit of pabbrev dies down if the suggested word isn’t the one
+you need. Then you’ve still got to search through a list of
+suggestions, which takes away from typing.
+
+ That’s not to say that pabbrev is all bad. It keeps up-to-date usage
+and prefix hashes of all buffers of the same mode, and scanning, or
+“scavenging”, blends seamlessly into the background. Completion is just
+a hash table lookup, so it can handle completion in microseconds.
+
+
+File: paced.info, Node: predictive, Prev: pabbrev, Up: Similar Packages
+
+predictive
+----------
+
+The predictive (http://www.dr-qubit.org/git/predictive.git) package by
+Toby Cubitt scans text of the current buffer on user command. The usage
+data is stored in a dictionary, which can then be saved to a disk.
+Extensions are provided to ‘completion-at-point’, or predictive’s
+built-in frontend can be used. It has a safety precaution where it only
+adds existing words to a dictionary, unless the user allows this. This
+is to avoid adding typos to a dictionary.
+
+ Completion was also done intelligently, grouping commonly used words
+together and optionally suggesting shorter words before longer words.
+
+ While the frontend and backend are separate, the frontend is required
+to populate a dictionary. There is no way to exclude part of the
+buffer’s text from dictionary population. The safety precaution
+predictive has where it only adds a word to a dictionary if it already
+exists was tedious, since I didn’t need it to do that.
+
+
+File: paced.info, Node: Installation, Prev: Similar Packages, Up:
Introduction
+
+Installation
+============
+
+*Requirements*
+
+Emacs 26.1
+async 1.9.2
+
+ Right now, the only way to install paced is from source.
+
+ From Source:
+
+ bzr branch https://bzr.savannah.gnu.org/r/paced-el paced
+
+ After that, add the following to your init file (typically .emacs):
+
+ ;; Only necessary if installing from source
+ (add-to-list 'load-path "/full/path/to/paced/")
+ (require 'paced)
+
+
+File: paced.info, Node: Dictionaries, Next: Population Commands, Prev:
Introduction, Up: Top
+
+Dictionaries
+************
+
+* Menu:
+
+* Creating a Dictionary:: First steps
+* Editing a Dictionary:: How to edit your new dictionary
+* Selective Dictionaries:: Enabling certain dictionaries under certain
conditions
+* Dictionary Files:: Loading and Saving the Dictionaries
+
+
+File: paced.info, Node: Creating a Dictionary, Next: Editing a Dictionary,
Up: Dictionaries
+
+Creating a Dictionary
+=====================
+
+Now that you’ve got paced installed, it’s time to create a new
+dictionary.
+
+ M-x paced-create-new-dictionary RET DICTIONARY_NAME RET DICTIONARY_FILE
RET
+
+ Let’s explain those two arguments:
+
+ First, you’ve got DICTIONARY_NAME. This is a string that will be used
+to reference the new dictionary. We recommend something short, like
+’new-dict’, ’my-dict’, ’writing’, etc.
+
+ Next is the file where the dictionary will be stored. This is
+typically stored in ‘paced-dictionary-directory’, from which all
+dictionaries will be loaded with ‘paced-load-all-dictionaries’ (more on
+that later). For now, it’s important to know that
+‘paced-load-all-dictionaries’ is the easiest way to load dictionaries
+when paced is loaded.
+
+ After you’ve run the above command, you will be taken to the
+customization buffer. This is where you can set population commands.
+
+
+File: paced.info, Node: Editing a Dictionary, Next: Selective Dictionaries,
Prev: Creating a Dictionary, Up: Dictionaries
+
+Editing a Dictionary
+====================
+
+In order to edit a dictionary, paced provides
+‘paced-edit-named-dictionary’ and ‘paced-edit-current-dictionary’.
+
+ The edit buffer provides the options to change the population
+commands, case sensitivity, dictionary storage name, and sort method.
+Each of these is documented in the edit buffer.
+
+
+File: paced.info, Node: Selective Dictionaries, Next: Dictionary Files,
Prev: Editing a Dictionary, Up: Dictionaries
+
+Selective Dictionaries
+======================
+
+Paced provides a mechanism called the “enable list”, that allows a user
+to enable certain dictionaries given certain conditions.
+
+ There are two enable lists: a global and local one. They both work
+the same, with the local one taking precedence. Each entry in the list
+has a condition and a key.
+
+ The conditions are one of the following:
+
+ • A mode name, such as ‘org-mode’ or ‘text-mode’, indicating that the
+ named dictionary should be active in any mode derived from that
+ mode.
+
+ • A symbol, in which case the named dictionary is active whenever the
+ value of that symbol is non-nil.
+
+ • A function symbol, in which case the function is called with no
+ arguments to determine if the given dictionary should be enabled.
+ If the function returns non-nil the dictionary is enabled.
+
+ • A lambda function, in which case it is called with no arguments,
+ and if it returns non-nil, the dictionary is enabled.
+
+ • The form (or CONDITION1 CONDITION2 ...), which enables the given
+ dictionary if any of the conditions are met.
+
+ • The form (and CONDITION1 CONDITION2 ...), which enables the given
+ dictionary if all of the conditions are met.
+
+ Remember that paced-mode must be active for completion to occur.
+Neither list will activate it, just determine which dictionary is
+active.
+
+ The key is the dictionary name you set during dictionary creation.
+
+
+File: paced.info, Node: Dictionary Files, Prev: Selective Dictionaries, Up:
Dictionaries
+
+Dictionary Files
+================
+
+Paced provides ‘paced-load-all-dictionaries’ to load all dictionaries in
+‘paced-dictionary-directory’. Paced determines which dictionaries to
+load based on two variables:
+‘paced-dictionary-directory-whitelist-regexp’ and
+‘paced-dictionary-directory-blacklist-regexp’. Paced can also be told
+to search recursively by setting
+‘paced-load-all-dictionaries-recursively’ to t. All four of these
+variables may be set using Emacs’s customization interface.
+
+ An individual dictionary file may also be loaded:
+
+ M-x paced-load-dictionary-from-file RET /path/to/file RET
+
+ Once a file has been modified, it may then be saved:
+
+ M-x paced-save-named-dictionary RET dictionary name RET
+
+ Or, all dictionaries may be saved:
+
+ M-x paced-save-all-dictionaries RET
+
+ Dictionaries may also be automatically saved whenever changed by
+setting ‘paced-repopulate-saves-dictionary’ to t. Population is covered
+in the next section.
+
+
+File: paced.info, Node: Population Commands, Next: Example Setups, Prev:
Dictionaries, Up: Top
+
+Population Commands
+*******************
+
+Part of the beauty of paced is the ease of reconstructing a dictionary.
+When you’ve got a bunch of files from which you want to populate your
+dictionary, it’d be a pain to go to each of them and say “populate from
+this one, next, populate from this one, next”.
+
+ Instead, paced provides population commands. Each dictionary has one
+or more population commands it uses to recreate its contents, run in
+order during population.
+
+ In order to trigger population, run the following:
+
+ M-x paced-repopulate-named-dictionary RET DICTIONARY-NAME RET
+
+* Menu:
+
+* Built-in Commands:: Basics
+* Properties:: Tweaking the defaults
+* Custom Commands:: Defining new population commands
+* Asynchronous Population:: Populating without blocking
+
+
+File: paced.info, Node: Built-in Commands, Next: Properties, Up: Population
Commands
+
+Built-in Commands
+=================
+
+There are five built-in population commands:
+
+file
+ Populates a dictionary from all words in a given file
+buffer
+ Populates a dictionary from all words in a given buffer, which must
+ exist during population
+file-function
+ Like the file command, but allows a custom setup function. This
+ function is called with no arguments in a temporary buffer
+ containing the file’s contents, and must return non-nil if
+ population may continue.
+directory-regexp
+ Populates from all files in a directory that match the given
+ regexp. Also optionally allows recursion.
+file-list
+ Populates from all files returned by a generator function.
+
+
+File: paced.info, Node: Properties, Next: Custom Commands, Prev: Built-in
Commands, Up: Population Commands
+
+Properties
+==========
+
+When setting the population commands of a dictionary, one may also set
+certain properties. Each property is a variable binding, bound while
+the population command runs.
+
+ Two variables are of note here:
+
+paced-exclude-function
+ Function of no arguments that returns non-nil if the thing at point
+ should be excluded from population.
+paced-thing-at-point-constituent
+ Symbol defining thing on which population works. Typically set to
+ either ’symbol or ’word.
+
+
+File: paced.info, Node: Custom Commands, Next: Asynchronous Population,
Prev: Properties, Up: Population Commands
+
+Custom Commands
+===============
+
+Since the population commands all derive from paced-population-command,
+it’s possible to add additional commands.
+
+ As an example, let’s make a population command that populates a
+dictionary from a file like so:
+
+ alpha 5
+ beta 7
+ gamma 21
+ delta 54
+ epsilon 2
+
+ We want to make a population command that takes a file like this,
+with word in one column and weight in the other, and add it to a
+dictionary.
+
+ There are two ways to approach this, but we’re going to start with
+the basic one.
+
+ We need to define two functions: paced-population-command-source-list
+and paced-population-command-setup-buffer. The first returns a list of
+sources from which to populate, and the second sets up a temporary
+buffer based on those sources.
+
+ For our command, we want to return the specified file, and replicate
+each word by the amount given.
+
+ Inheriting from ‘paced-file-population-command’ gives us the source
+list and file slot for free.
+
+ (defclass paced-weight-file-population-command
(paced-file-population-command))
+
+ Now, we need to set up the buffer to replicate the words.
+
+ (cl-defmethod paced-population-command-setup-buffer ((cmd
paced-weight-file-population-command) source)
+ ;; Use the built-in `paced--insert-file-contents' to insert contents.
+ (paced--insert-file-contents source)
+ ;; Jump to the start of the buffer
+ (goto-char (point-min))
+ ;; Search for lines with the form WORD WEIGHT
+ (while (re-search-forward (rx line-start ;; Start of line
+ (submatch (one-or-more (not (syntax
whitespace)))) ;; Our word
+ (syntax whitespace) ;; Space between word
and weight
+ (submatch (one-or-more (any digit))) ;;
Weight
+ line-end) ;; End of line
+ nil t)
+ (let* ((word (match-string 1))
+ (weight (string-to-number (match-string 2)))
+ ;; Repeat WORD WEIGHT times
+ (new-text (string-join (make-list weight word) " ")))
+ ;; Replace the matched text with our repeated word
+ (replace-match new-text))))
+
+ That’s all there is to it. When you go to edit a dictionary, the
+“weight-file” population command will automatically be added as an
+option for a population command.
+
+ The even easier way to do this would’ve been to use
+‘paced-file-function-population-command’, but it doesn’t make for a good
+example in this case.
+
+
+File: paced.info, Node: Asynchronous Population, Prev: Custom Commands, Up:
Population Commands
+
+Asynchronous Population
+=======================
+
+A common problem is that population can take a long time. Some of us
+populate dictionaries from org agenda files, which can get pretty big.
+
+ To solve this, paced uses the async
+(https://github.com/jwiegley/emacs-async) package. Setup should be
+seamless; just stick whatever code you need in
+‘~/.emacs.d/paced-async.el’, type M-x
+paced-repopulate-named-dictionary-async, and push enter.
+
+ A few things to note about this:
+
+ 1. Dictionaries will be automatically saved by this method after
+ population
+ 2. Asynchronous population doesn’t change anything until after
+ population is finished, so a user may continue to use their
+ dictionary while population is happening.
+ 3. Because async runs population in a separate Emacs process, any
+ custom code required for population must be in paced-async.el.
+ This includes additional population command types, but doesn’t
+ include the following variables:
+
+ • load-path
+ • paced-thing-at-point-constituent
+ • paced-async-load-file
+
+
+File: paced.info, Node: Example Setups, Next: Contributing, Prev:
Population Commands, Up: Top
+
+Example Setups
+**************
+
+* Menu:
+
+* Org Agenda Files::
+* Project Files::
+
+
+File: paced.info, Node: Org Agenda Files, Next: Project Files, Up: Example
Setups
+
+Org Agenda Files
+================
+
+As some of us record everything about our lives in our agenda files, it
+might be helpful to have a dictionary tuned to ourselves.
+
+ We use a file-list command that returns the agenda files, and an
+exclude command to block out all of Org’s extra features such as source
+code and drawers.
+
+ The generator for file-list is easy:
+
+ (lambda nil org-agenda-files)
+
+ Done.
+
+ Now, the exclude command, which sits inside the properties option:
+
+ (defun org-paced-exclude ()
+ (or
+ ;; Drawers
+ (org-between-regexps-p org-drawer-regexp ":END:") ;; Doesn't catch END
+ (org-in-regexp ":END:") ;; but this does
+
+ (org-at-comment-p) ;; comments
+ (org-in-regexp org-any-link-re) ;; links
+ (org-in-block-p '("src" "quote" "verse")) ;; blocks
+ (org-at-planning-p) ;; deadline, etc.
+ (org-at-table-p) ;; tables
+ ))
+
+ As explained earlier, this can be put inside properties in the
+customize buffer as such:
+
+ Properties :
+ [INS] [DEL] Variable: paced-exclude-function
+ Lisp expression: 'org-paced-exclude
+
+ And you’re done. See how easy that was?
+
+
+File: paced.info, Node: Project Files, Prev: Org Agenda Files, Up: Example
Setups
+
+Project Files
+=============
+
+Now we get to the interesting one. There are tons of ways to collect
+project files in Emacs, so we’re going to stick with one for now, being
+Emacs’s built-in VC package.
+
+ (defun vc-paced-find-project-files (path-to-project-root)
+ "Use VC to collect all version-controlled files."
+ (let ((file-list))
+ (vc-file-tree-walk path-to-project-root (lambda (f) (push f
file-list)))
+ file-list))
+
+ We’d then need to use the following for our file-list generator:
+
+ Generator : (lambda nil (vc-paced-find-project-files
"/home/me/programming/paced"))
+
+ Now, we (probably) don’t want commented code to get in our way, so
+we’ll use a small function for excluding those:
+
+ (defun paced-at-comment-p ()
+ (nth 8 (syntax-ppss)))
+
+ Use that for paced-exclude-function, and you’re done. We can’t
+necessarily recommend this for any programming language, as there are
+dedicated solutions for almost everything, but it makes an excellent
+fallback.
+
+
+File: paced.info, Node: Contributing, Prev: Example Setups, Up: Top
+
+Contributing
+************
+
+We are all happy for any help you may provide.
+
+ First, check out the source code on Savannah:
+<https://savannah.nongnu.org/projects/paced-el>
+
+ bzr branch https://bzr.savannah.gnu.org/r/paced-el/ paced
+
+ Build the Makefile with EDE:
+
+ 1. Open any file from paced
+ 2. Run ‘C-c . C’ or ‘M-x ede-compile-project’
+
+ *Bugs*
+
+ There are two ways to submit bug reports:
+
+ 1. Using the bug tracker at Savannah
+ 2. Sending an email using ‘paced-submit-bug-report’
+
+ *Development*
+
+ If you’re new to bazaar, we recommend using Emacs’s built-in VC
+package. It eases the overhead of dealing with a brand new VCS with a
+few standard commands. For more information, see the info page on it
+(In Emacs, this is C-h r m Introduction to VC RET).
+
+ To contribute with bazaar, you can do the following:
+
+ # Hack away and make your changes
+ $ bzr commit -m "Changes I've made"
+ $ bzr send -o file-name.txt
+
+ Then, use ‘paced-submit-bug-report’ and attach “file-name.txt”. We
+can then merge that into the main development branch.
+
+ There are a few rules to follow:
+
+ • New population commands should be named
+ paced-POPULATION-COMMAND-TYPE-population-command
+ • Run ’make check’ to verify that your mods don’t break anything
+ • Avoid additional or altered dependencies if at all possible
+
+
+
+Tag Table:
+Node: Top228
+Node: Copying1433
+Node: Introduction2225
+Node: Terminology3450
+Node: Similar Packages3691
+Node: pabbrev3997
+Node: predictive5070
+Node: Installation6120
+Node: Dictionaries6614
+Node: Creating a Dictionary7018
+Node: Editing a Dictionary8058
+Node: Selective Dictionaries8536
+Node: Dictionary Files10135
+Node: Population Commands11226
+Node: Built-in Commands12162
+Node: Properties12959
+Node: Custom Commands13581
+Node: Asynchronous Population16308
+Node: Example Setups17501
+Node: Org Agenda Files17683
+Node: Project Files18939
+Node: Contributing20052
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/paced.org b/paced.org
index 7a6d31c..e03e0b0 100644
--- a/paced.org
+++ b/paced.org
@@ -31,6 +31,9 @@ You should have received a copy of the GNU General Public
License
along with this program. If not, see <http://www.gnu.org/licenses/>.
#+END_QUOTE
* Introduction
+:PROPERTIES:
+:DESCRIPTION: Brief Introduction to paced
+:END:
Paced (Predictive Abbreviation Completion and Expansion using Dictionaries)
provides a completion backend based on what a user has already written.
@@ -53,12 +56,18 @@ No completion frontend is provided, but a function for
~completion-at-point-functions~ is given.
** Terminology
+:PROPERTIES:
+:DESCRIPTION: To avoid confusion
+:END:
- Dictionary :: A collection of words and their usage counts.
- Population Command :: A method of loading data into a dictionary.
** Similar Packages
+:PROPERTIES:
+:DESCRIPTION: Packages with similar goals
+:END:
There are a few Emacs packages that have similar goals to paced, and provided
some of the inspiration and motivation behind it.
*** pabbrev
@@ -96,6 +105,9 @@ from dictionary population. The safety precaution
predictive has where it only
adds a word to a dictionary if it already exists was tedious, since I didn't
need it to do that.
** Installation
+:PROPERTIES:
+:DESCRIPTION: How to install paced
+:END:
*Requirements*
@@ -118,7 +130,13 @@ After that, add the following to your init file (typically
.emacs):
(require 'paced)
#+END_SRC
* Dictionaries
+:PROPERTIES:
+:DESCRIPTION: Paced's bread and butter
+:END:
** Creating a Dictionary
+:PROPERTIES:
+:DESCRIPTION: First steps
+:END:
Now that you've got paced installed, it's time to create a new dictionary.
@@ -141,13 +159,19 @@ when paced is loaded.
After you've run the above command, you will be taken to the customization
buffer. This is where you can set population commands.
** Editing a Dictionary
+:PROPERTIES:
+:DESCRIPTION: How to edit your new dictionary
+:END:
In order to edit a dictionary, paced provides ~paced-edit-named-dictionary~ and
~paced-edit-current-dictionary~.
The edit buffer provides the options to change the population commands, case
sensitivity, dictionary storage name, and sort method. Each of these is
documented in the edit buffer.
-** Enable Certain Dictionaries in Certain Places
+** Selective Dictionaries
+:PROPERTIES:
+:DESCRIPTION: Enabling certain dictionaries under certain conditions
+:END:
Paced provides a mechanism called the "enable list", that allows a user to
enable certain dictionaries given certain conditions.
@@ -181,7 +205,10 @@ Remember that paced-mode must be active for completion to
occur. Neither list
will activate it, just determine which dictionary is active.
The key is the dictionary name you set during dictionary creation.
-** Loading and Saving the Dictionaries
+** Dictionary Files
+:PROPERTIES:
+:DESCRIPTION: Loading and Saving the Dictionaries
+:END:
Paced provides ~paced-load-all-dictionaries~ to load all dictionaries in
~paced-dictionary-directory~. Paced determines which dictionaries to load
based
@@ -213,6 +240,9 @@ Dictionaries may also be automatically saved whenever
changed by setting
section.
* Population Commands
+:PROPERTIES:
+:DESCRIPTION: The good stuff
+:END:
Part of the beauty of paced is the ease of reconstructing a dictionary. When
you've got a bunch of files from which you want to populate your dictionary,
@@ -230,6 +260,9 @@ M-x paced-repopulate-named-dictionary RET DICTIONARY-NAME
RET
#+end_example
** Built-in Commands
+:PROPERTIES:
+:DESCRIPTION: Basics
+:END:
There are five built-in population commands:
@@ -245,6 +278,9 @@ There are five built-in population commands:
- file-list :: Populates from all files returned by a generator function.
** Properties
+:PROPERTIES:
+:DESCRIPTION: Tweaking the defaults
+:END:
When setting the population commands of a dictionary, one may also set certain
properties. Each property is a variable binding, bound while the population
@@ -258,6 +294,9 @@ Two variables are of note here:
works. Typically set to either 'symbol or 'word.
** Custom Commands
+:PROPERTIES:
+:DESCRIPTION: Defining new population commands
+:END:
Since the population commands all derive from paced-population-command, it's
possible to add additional commands.
@@ -324,6 +363,9 @@ The even easier way to do this would've been to use
in this case.
** Asynchronous Population
+:PROPERTIES:
+:DESCRIPTION: Populating without blocking
+:END:
A common problem is that population can take a long time. Some of us populate
dictionaries from org agenda files, which can get pretty big.
@@ -346,6 +388,9 @@ A few things to note about this:
- paced-async-load-file
* Example Setups
+:PROPERTIES:
+:DESCRIPTION: Some examples
+:END:
** Org Agenda Files
As some of us record everything about our lives in our agenda files, it might
be
helpful to have a dictionary tuned to ourselves.
- [elpa] master bfdb640 43/62: Updated pabbrev comparison, (continued)
- [elpa] master bfdb640 43/62: Updated pabbrev comparison, Ian Dunn, 2017/12/09
- [elpa] master 4823f53 55/62: Added section for a basic setup, Ian Dunn, 2017/12/09
- [elpa] master 69b0058 32/62: Remove test dependency on dictionary file, Ian Dunn, 2017/12/09
- [elpa] master 534df41 57/62: Updated info pages, Ian Dunn, 2017/12/09
- [elpa] master b7dc61d 59/62: Removed bootstrap.sh, Ian Dunn, 2017/12/09
- [elpa] master b07d853 60/62: Added elpaignore file, Ian Dunn, 2017/12/09
- [elpa] master 5480e97 52/62: Removed obsolete method, Ian Dunn, 2017/12/09
- [elpa] master bc054b8 46/62: Updated info pages, Ian Dunn, 2017/12/09
- [elpa] master 82bd0da 23/62: Fixed various defmethod names to use paced-dictionary- prefix, Ian Dunn, 2017/12/09
- [elpa] master e834a04 47/62: Updated copyright strings in preparation for pushing to GNU ELPA, Ian Dunn, 2017/12/09
- [elpa] master aa2c021 11/62: Added info documentation for future inclusion in ELPA,
Ian Dunn <=
- [elpa] master b35b6eb 01/62: Initial import, Ian Dunn, 2017/12/09
- [elpa] master 5b288be 62/62: Add 'packages/paced/' from commit '223809ea68c8d86aef2b61a946d61497125ba250', Ian Dunn, 2017/12/09