[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 244/352: Copy Emacs wiki page's content to new README file
From: |
Stefan Monnier |
Subject: |
[elpa] 244/352: Copy Emacs wiki page's content to new README file |
Date: |
Mon, 07 Jul 2014 14:04:36 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit a2de2f73414cc0ace10497f9ec09faee5dfb464a
Author: Teemu Likonen <address@hidden>
Date: Tue Jun 21 13:14:37 2011 +0300
Copy Emacs wiki page's content to new README file
---
README | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 168 insertions(+), 0 deletions(-)
diff --git a/README b/README
new file mode 100644
index 0000000..e8c5267
--- /dev/null
+++ b/README
@@ -0,0 +1,168 @@
+= Wcheck mode =
+
+
+== Introduction ==
+
+Wcheck mode is a general-purpose text-checker interface for Emacs. It's
+a minor mode for on-the-fly (spell-)checking and marking words or other
+text elements in Emacs buffers.
+
+Wcheck mode can use external programs or Emacs Lisp functions for
+checking text. For example, Wcheck mode can be used with spell-checker
+programs such as Enchant, Ispell and Hunspell, but actually any tool
+that can receive text from standard input stream and send text to
+standard output can be used. Wcheck sends parts of buffer's content to
+an external program or an Emacs Lisp function and, based on their
+output, decides if some parts of text should be marked in the buffer.
+
+
+== Features ==
+
+In terms of spelling checker and user interface Wcheck mode is an
+on-the-fly checker which can also offer spelling suggestions
+(corrections) when asked. In Wcheck mode different configuration units
+are called languages. They don't have to be human languages, though.
+Language is just a configuration unit for certain kind of text checking
+purpose.
+
+Each language can use its own checker engine (external program or a
+function), command-line arguments and other settings, such as the
+regular expressions and syntax table that are used to match words (or
+other text elements) in Emacs buffer. The on-the-fly checker can use
+different program than the spelling correction feature. User can choose
+which "face" is used to mark text elements in buffer. All the settings
+are language-specific and user is free to interpret the semantics of
+text analyzing: it's left open what marked text elements in the buffer
+actually mean. When using Wcheck mode as a spelling checker we usually
+think of marked words as misspellings.
+
+User can create language and major mode specific settings defining which
+"faces" to read or skip in buffers. A typical use for this feature is to
+spell-check only those areas in buffer which are written in human
+language. For example, in email messages usually the message body and
+Subject header are important enough to spell-check. In programming modes
+user could spell-check only documentation strings and comments (or the
+opposite if you want to use Wcheck mode to check keywords and syntax of
+the programming language itself).
+
+
+== How does it compare to other spell-checkers? ==
+
+The open design makes Wcheck mode (internally) quite different from
+spell-checkers like [[FlySpell]] and [[SpeckMode]]. They are specific
+tools for spell-checking through Ispell or compatible program and are
+therefore very much tied to Ispell's features and command-line
+interface. This can be useful if you want to use Ispell or fully
+compatible program for spell-checking natural languages. However, not
+all human languages can be supported through Ispell and there can also
+be other kind of text-checking needs.
+
+The motivation behind Wcheck mode is to offer more general-purpose and
+configurable interface for text checking. It can be configured to work
+with almost anything: user's custom shell, awk or perl scripts, Lisp
+functions or other checkers and text filters. Even if you only need a
+spelling checker for human languages Wcheck mode can be a good choice.
+It has more configuration possibilities than other spell-checkers and
+the on-the-fly checker performs very well. It's a true real-time
+checker.
+
+
+== Install and configure ==
+
+Put wcheck-mode.el file to some directory in your Emacs's `load-path'
+and add the following lines to Emacs's initialization file (~/.emacs):
+
+ (autoload 'wcheck-mode "wcheck-mode"
+ "Toggle wcheck-mode." t)
+ (autoload 'wcheck-change-language "wcheck-mode"
+ "Switch wcheck-mode languages." t)
+ (autoload 'wcheck-spelling-suggestions "wcheck-mode"
+ "Spelling suggestions." t)
+ (autoload 'wcheck-jump-forward "wcheck-mode"
+ "Move point forward to next marked text area." t)
+ (autoload 'wcheck-jump-backward "wcheck-mode"
+ "Move point backward to previous marked text area." t)
+
+See the documentation of variable `wcheck-language-data' for information
+on how to configure Wcheck mode. For easy configuration you can use the
+options in customize group named "wcheck" (##M-x customize-group RET
+wcheck RET##). Interactive command `wcheck-mode' toggles the
+text-checker in the current buffer. Command `wcheck-change-language' is
+used to switch languages and command `wcheck-spelling-suggestions' (or
+right mouse button) gives spelling suggestion for marked text (if the
+suggestion program is properly configured). Commands
+`wcheck-jump-forward' and `wcheck-jump-backward' jump to next or
+previous marked text area.
+
+It might be convenient if Wcheck commands are bound to some easily
+accessible keys, for example:
+
+ (global-set-key (kbd "C-c s") 'wcheck-mode)
+ (global-set-key (kbd "C-c l") 'wcheck-change-language)
+ (global-set-key (kbd "C-c c") 'wcheck-spelling-suggestions)
+ (global-set-key (kbd "C-c n") 'wcheck-jump-forward)
+ (global-set-key (kbd "C-c p") 'wcheck-jump-backward)
+
+Below is an example configuration for spell-checking languages Finnish
+(using Enchant) and British English (using Ispell). The default language
+will be "Finnish". There are also two non-human languages: "Trailing
+whitespace" is a checker which highlights trailing whitespace characters
+in lines and "Highlight FIXMEs" highlights FIXME words if they appear in
+comments in `emacs-lisp-mode' or `c-mode' (or anywhere in other modes).
+The example also configures some global defaults for all languages. For
+example, text-checkers will read only certain buffer areas (faces) in
+`emacs-lisp-mode', `c-mode' and `message-mode'.
+
+ (setq-default
+
+ wcheck-language "Finnish"
+
+ wcheck-language-data
+ '(("Finnish"
+ (program . "/usr/bin/enchant")
+ (args "-l" "-d" "fi")
+ (syntax . my-finnish-syntax-table)
+ (suggestion-program . "/usr/bin/enchant")
+ (suggestion-args "-a" "-d" "fi")
+ (suggestion-parser . wcheck-parser-ispell-suggestions))
+ ("British English"
+ (program . "/usr/bin/ispell")
+ (args "-l" "-d" "british")
+ (suggestion-program . "/usr/bin/ispell")
+ (suggestion-args "-a" "-d" "british")
+ (suggestion-parser . wcheck-parser-ispell-suggestions))
+ ("Trailing whitespace"
+ (program . identity)
+ (suggestion-program . (lambda (string) (list "")))
+ (face . highlight)
+ (regexp-start . "")
+ (regexp-body . "[ \t]+")
+ (regexp-end . "$")
+ (regexp-discard . "")
+ (read-or-skip-faces
+ (nil)))
+ ("Highlight FIXMEs"
+ (program . (lambda (strings)
+ (when (member "FIXME" strings)
+ (list "FIXME"))))
+ (face . highlight)
+ (read-or-skip-faces
+ ((emacs-lisp-mode c-mode) read font-lock-comment-face)
+ (nil))))
+
+ wcheck-language-data-defaults
+ '((parser . wcheck-parser-lines)
+ (suggestion-parser . wcheck-parser-ispell-suggestions)
+ (connection . nil)
+ (face . wcheck-default-face)
+ (syntax . text-mode-syntax-table)
+ (regexp-start . "\\<'*")
+ (regexp-body . "\\w+?")
+ (regexp-end . "'*\\>")
+ (regexp-discard . "\\`'+\\'")
+ (case-fold . nil)
+ (read-or-skip-faces
+ ((emacs-lisp-mode c-mode) read
+ font-lock-comment-face font-lock-doc-face)
+ (message-mode read
+ nil message-header-subject message-cited-text))))
- [elpa] 245/352: Correction in wcheck-language-data doc: "variable" -> "value", (continued)
- [elpa] 245/352: Correction in wcheck-language-data doc: "variable" -> "value", Stefan Monnier, 2014/07/07
- [elpa] 240/352: Mainostetaan funktiota wcheck-marked-text-at julkiseen käyttöön, Stefan Monnier, 2014/07/07
- [elpa] 246/352: Fix type in doc: "wcheck-parse-" "wcheck-parser-", Stefan Monnier, 2014/07/07
- [elpa] 235/352: Wcheck-versionumero: 2011.02.20, Stefan Monnier, 2014/07/07
- [elpa] 233/352: Uusi ominaisuus: tarkistusohjelman tulosteen jäsennysfunktio, Stefan Monnier, 2014/07/07
- [elpa] 251/352: Clarify the use of regexp-start, -body and -end, Stefan Monnier, 2014/07/07
- [elpa] 241/352: Korjataan wcheck-jump-backward -bugi, Stefan Monnier, 2014/07/07
- [elpa] 239/352: Tyylillistä hienosäätöä funktioon wcheck-make-overlay, Stefan Monnier, 2014/07/07
- [elpa] 243/352: Add README file, Stefan Monnier, 2014/07/07
- [elpa] 250/352: Improve wcheck-language-data doc, Stefan Monnier, 2014/07/07
- [elpa] 244/352: Copy Emacs wiki page's content to new README file,
Stefan Monnier <=
- [elpa] 249/352: Fix a typo in wcheck-language-data doc string, Stefan Monnier, 2014/07/07
- [elpa] 253/352: Add \< and \> to regexps in "email" language example, Stefan Monnier, 2014/07/07
- [elpa] 252/352: Rephrase grouping construct \(\) description in doc string, Stefan Monnier, 2014/07/07
- [elpa] 247/352: Escape \\< with \\=\\< in wcheck-language-data doc string, Stefan Monnier, 2014/07/07
- [elpa] 248/352: Clearer reference to the license text, Stefan Monnier, 2014/07/07
- [elpa] 255/352: Copy examples from wcheck-language-data doc to README, Stefan Monnier, 2014/07/07
- [elpa] 254/352: Rephrase some parts of README, Stefan Monnier, 2014/07/07
- [elpa] 261/352: Merge branch 'action', Stefan Monnier, 2014/07/07
- [elpa] 258/352: README: Move copyright and license text to the end, Stefan Monnier, 2014/07/07
- [elpa] 256/352: Add link to the GPL3 license text in www.gnu.org, Stefan Monnier, 2014/07/07