summaryrefslogtreecommitdiff
path: root/doc/docs/filterdevelopment.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/docs/filterdevelopment.rst')
-rw-r--r--doc/docs/filterdevelopment.rst71
1 files changed, 0 insertions, 71 deletions
diff --git a/doc/docs/filterdevelopment.rst b/doc/docs/filterdevelopment.rst
deleted file mode 100644
index fbcd0a09..00000000
--- a/doc/docs/filterdevelopment.rst
+++ /dev/null
@@ -1,71 +0,0 @@
-.. -*- mode: rst -*-
-
-=====================
-Write your own filter
-=====================
-
-.. versionadded:: 0.7
-
-Writing own filters is very easy. All you have to do is to subclass
-the `Filter` class and override the `filter` method. Additionally a
-filter is instantiated with some keyword arguments you can use to
-adjust the behavior of your filter.
-
-
-Subclassing Filters
-===================
-
-As an example, we write a filter that converts all `Name.Function` tokens
-to normal `Name` tokens to make the output less colorful.
-
-.. sourcecode:: python
-
- from pygments.util import get_bool_opt
- from pygments.token import Name
- from pygments.filter import Filter
-
- class UncolorFilter(Filter):
-
- def __init__(self, **options):
- Filter.__init__(self, **options)
- self.class_too = get_bool_opt(options, 'classtoo')
-
- def filter(self, lexer, stream):
- for ttype, value in stream:
- if ttype is Name.Function or (self.class_too and
- ttype is Name.Class):
- ttype = Name
- yield ttype, value
-
-Some notes on the `lexer` argument: that can be quite confusing since it doesn't
-need to be a lexer instance. If a filter was added by using the `add_filter()`
-function of lexers, that lexer is registered for the filter. In that case
-`lexer` will refer to the lexer that has registered the filter. It *can* be used
-to access options passed to a lexer. Because it could be `None` you always have
-to check for that case if you access it.
-
-
-Using a decorator
-=================
-
-You can also use the `simplefilter` decorator from the `pygments.filter` module:
-
-.. sourcecode:: python
-
- from pygments.util import get_bool_opt
- from pygments.token import Name
- from pygments.filter import simplefilter
-
-
- @simplefilter
- def uncolor(self, lexer, stream, options):
- class_too = get_bool_opt(options, 'classtoo')
- for ttype, value in stream:
- if ttype is Name.Function or (class_too and
- ttype is Name.Class):
- ttype = Name
- yield ttype, value
-
-The decorator automatically subclasses an internal filter class and uses the
-decorated function as a method for filtering. (That's why there is a `self`
-argument that you probably won't end up using in the method.)