Sha256: bf55d64b3ed0d6b43d6d9e3170d40f59cae04db4b248b5c3e41e612f33e8ecc5

Contents?: true

Size: 1.21 KB

Versions: 7

Compression:

Stored size: 1.21 KB

Contents

import re
from pprint import pprint

r_line = re.compile(r"^(syn keyword vimCommand contained|syn keyword vimOption "
                    r"contained|syn keyword vimAutoEvent contained)\s+(.*)")
r_item = re.compile(r"(\w+)(?:\[(\w+)\])?")

def getkw(input, output):
    out = file(output, 'w')

    output_info = {'command': [], 'option': [], 'auto': []}
    for line in file(input):
        m = r_line.match(line)
        if m:
            # Decide which output gets mapped to d
            if 'vimCommand' in m.group(1):
                d = output_info['command']
            elif 'AutoEvent' in m.group(1):
                d = output_info['auto']
            else:
                d = output_info['option']

            # Extract all the shortened versions
            for i in r_item.finditer(m.group(2)):
                d.append((i.group(1), "%s%s" % (i.group(1), i.group(2) or '')))
            d.sort()

    for a, b in output_info.items():
        print >>out, '%s=%r' % (a, b)

def is_keyword(w, keywords):
    for i in range(len(w), 0, -1):
        if w[:i] in keywords:
            return signals[w[:i]][:len(w)] == w
    return False

if __name__ == "__main__":
    getkw("/usr/share/vim/vim70/syntax/vim.vim", "temp.py")

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pygments.rb-0.2.4 vendor/pygments-main/scripts/get_vimkw.py
pygments.rb-0.2.3 vendor/pygments-main/scripts/get_vimkw.py
pygments.rb-0.2.2 vendor/pygments-main/scripts/get_vimkw.py
pygments.rb-0.2.1 vendor/pygments-main/scripts/get_vimkw.py
pygments.rb-0.2.0 vendor/pygments-main/scripts/get_vimkw.py
pygments.rb-0.1.3 vendor/Pygments-1.4/scripts/get_vimkw.py
pygments.rb-0.1.2 vendor/Pygments-1.4/scripts/get_vimkw.py