Mercurial > vim-lawrencium
view resources/GenerateHgUsage.py @ 55:6a61724190ea
Improvements to Lawrencium paths:
- `parse_lawrencium_path` only optionally converts paths to absolute or relative
paths.
- Added ability to get a relative path from a repo object.
- `GetLawrenciumPath` converts path to repo-relative by default, but that can be
overridden.
Improvements to `Hglog`:
- Added `Hgrepolog` command.
- Fixed clean-up problems.
Miscellaneous:
- Removed auto-completion from `Hgdiff` and `Hgdiffsum` command families since
the only allowed parameters are revision numbers/hashes/specs.
- Code clean-up for `Hgdiff`.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 12 Nov 2012 11:37:56 -0800 |
parents | f02e37f395ae |
children |
line wrap: on
line source
import re import urllib2 from BeautifulSoup import BeautifulSoup # Load the documentation page. print "Loading HG documentation from selenic.com..." url = urllib2.urlopen("http://www.selenic.com/mercurial/hg.1.html") soup = BeautifulSoup(url) # Open the output file. output = 'hg_usage.vim' f = open(output, 'w') # A little header for people peeking in there. f.write("\" LAWRENCIUM - MERCURIAL USAGE\n") f.write("\" This file is generated automatically.\n") f.write("\n") # Start with the global options. f.write("let g:lawrencium_hg_options = [\n") for option in soup.find('div', id='options').findAll('span', {'class': 'option'}): f.write(" \\'%s',\n" % option.string) f.write(" \\]\n") f.write("\n") # Now get the usage for all commands. f.write("let g:lawrencium_hg_commands = {\n") for command in soup.find('div', id='commands').findAll('div', {'class': 'section'}): print " - %s" % format(command.h2.string) f.write(" \\'%s': [\n" % command.h2.string) option_table = command.find('table', { 'class': re.compile('option-list') }) if option_table: for option in option_table.findAll('span', { 'class': 'option'}): f.write(" \\'%s',\n" % option.string) f.write(" \\],\n") f.write(" \\}\n") f.write("\n") # Close the output file, and we're done. f.close() print "Done!"