def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_PYTHON) self._keyword_lists = [ SilverCity.WordList(python_keywords), SilverCity.WordList(""), # hilighted identifiers ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id( ScintillaConstants.SCLEX_PYTHON) self._keyword_lists = [ SilverCity.WordList(SilverCity.Keywords.python_keywords) ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id( ScintillaConstants.SCLEX_TCL) self._keyword_lists = [ SilverCity.WordList(' '.join(sorted(keywords + v8_6_keywords))) ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_UDL) lexres_path = _urlescape(self._get_lexres_path()) log.debug("escaped lexres_path: %r", lexres_path) self._keyword_lists = [ SilverCity.WordList(lexres_path), ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id( ScintillaConstants.SCLEX_CPP) self._keyword_lists = [ # Dev Notes: What goes here depends on the C++ lexer # implementation. ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_CPP) self._keyword_lists = [ SilverCity.WordList(' '.join(sorted(GoLangInfo.reserved_keywords))), SilverCity.WordList(' '.join( sorted(GoLangInfo.predeclared_identifiers. union(GoLangInfo.predeclared_functions)))), ]
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_CPP) self._keyword_lists = [ # Dev Notes: What goes here depends on the C++ lexer # implementation. ]
def render(self, req, mimetype, content, filename=None, rev=None): import SilverCity try: typelang = types[mimetype] lang = typelang[0] module = getattr(SilverCity, lang) generator = getattr(module, lang + "HTMLGenerator") try: allprops = typelang[1] propset = SilverCity.PropertySet() for p in allprops.keys(): propset[p] = allprops[p] except IndexError: pass except (KeyError, AttributeError): err = "No SilverCity lexer found for mime-type '%s'." % mimetype raise Exception, err # SilverCity generates extra empty line against some types of # the line such as comment or #include with CRLF. So we # standardize to LF end-of-line style before call. content = CRLF_RE.sub('', content) buf = StringIO() generator().generate_html(buf, content) br_re = re.compile(r'<br\s*/?>$', re.MULTILINE) span_default_re = re.compile(r'<span class="p_default">(.*?)</span>', re.DOTALL) html = span_default_re.sub(r'\1', br_re.sub('', buf.getvalue())) # SilverCity generates _way_ too many non-breaking spaces... # We don't need them anyway, so replace them by normal spaces return html.replace(' ', ' ').splitlines()
def generate_html( source_file_name=None, # Use clipboard, hackish way of specifying target_file_name=None, css='', generator=None, title='', view=0, clean=0, prefix=xhtml_prefix, suffix=suffix): if target_file_name is None: if view: target_file_name = tempfile.mktemp('.html') target_file = open(target_file_name, 'w') else: target_file = sys.stdout else: target_file = open(target_file_name, 'w') if not css: css = 'file:' + urllib.pathname2url( SilverCity.get_default_stylesheet_location()) if source_file_name is not None: generator = create_generator(source_file_name, generator) target_file.write(xhtml_prefix % { 'title': title or os.path.basename(source_file_name), 'css': css }) source = open(source_file_name, 'r').read() else: source = get_clipboard() if generator is not None: generator = LanguageInfo.find_generator_by_name(generator)() else: language = guess_language_for_buffer(source) generator = language.get_default_html_generator()() if clean: source = clean_source(source) generator.generate_html(target_file, source) target_file.write(suffix) if view: target_file.close() webbrowser.open(target_file_name)
def generate_html( source_file_name = None, # Use clipboard, hackish way of specifying target_file_name = None, css = '', generator = None, title = '', view = 0, clean = 0, prefix = xhtml_prefix, suffix = suffix): if target_file_name is None: if view: target_file_name = tempfile.mktemp('.html') target_file = open(target_file_name, 'w') else: target_file = sys.stdout else: target_file = open(target_file_name, 'w') if not css: css = 'file:' + urllib.request.pathname2url( SilverCity.get_default_stylesheet_location()) if source_file_name is not None: generator = create_generator(source_file_name, generator) target_file.write(xhtml_prefix % { 'title' : title or os.path.basename(source_file_name), 'css' : css}) source = open(source_file_name, 'r').read() else: source = get_clipboard() if generator is not None: generator = LanguageInfo.find_generator_by_name(generator)() else: language = guess_language_for_buffer(source) generator = language.get_default_html_generator()() if clean: source = clean_source(source) generator.generate_html(target_file, source) target_file.write(suffix) if view: target_file.close() webbrowser.open(target_file_name)
def __init__(self): self.o = file('output.py', 'wt') print >> self.o, """\ from gnue.common.formatting import GTypecast from gnue.forms import GFObjects, GFLibrary, GFForm from gnue.forms.GFObjects import commanders """ self.indent = START_INDENT self.newline = True self.inlist = False self.lastline = '' self.prevtext = None self.prevstyle = None self.lexer = SilverCity.find_lexer_module_by_id(SC.SCLEX_PYTHON)
def display(data, mimetype, filename, rev, env): import SilverCity from SilverCity import LanguageInfo try: typelang = type_lang[mimetype] lang = typelang[0] module = getattr(SilverCity, lang) generator = getattr(module, lang + "HTMLGenerator") try: allprops = typelang[1] propset = SilverCity.PropertySet() for p in allprops.keys(): propset[p] = allprops[p] except IndexError: pass except (KeyError, AttributeError): err = "No SilverCity lexer found for mime-type '%s'." % mimetype raise Exception, err io = StringIO.StringIO(data) generator().generate_html(io, data) env.log.debug("type: %s" % mimetype) html = '<div class="code-block">%s</div>\n' % io.getvalue() return html
""" SC_NAME = {} for i in dir(ScintillaConstants): if i.startswith('SCE_P_'): #print i, '=', getattr(ScintillaConstants, i) SC_NAME[getattr(ScintillaConstants, i)] = i styles = set() indent = 0 newline = True def n(): o.write('\n') newline = True def w(s): o.write(s) def func(style, text, start_column, start_line, **other_args): print >> o, '%s: "%s"' % (SC_NAME[style], text) keywords = SilverCity.WordList(SilverCity.Keywords.python_keywords) properties = SilverCity.PropertySet() lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_PYTHON) lexer.tokenize_by_style(file('sample.py').read(), [keywords, SilverCity.WordList()], properties, func)
## __doc__="""extract which templates can be checked out""" import os, StringIO, re from Products.PythonScripts.standard import html_quote, newline_to_br from ExtensionClass import Base from AccessControl.SecurityInfo import ClassSecurityInfo # Attempt to import fancy SilverCity formatting try: from SilverCity import XML as SC_XML try: import SilverCity _SC_stylesheet_location = SilverCity.get_default_stylesheet_location() SC_stylesheet = open(_SC_stylesheet_location).read() except: SC_XML = None except ImportError: SC_XML = None from Constants import * import CTFiles from diff import diff #----------------------------------------------------------------------------- def sgmlDiff(a, b): out = []
def __init__(self): self._properties = SilverCity.PropertySet() self._lexer = SilverCity.find_lexer_module_by_id(ScintillaConstants.SCLEX_CSS) self._keyword_lists = [] for i in range(len(raw_word_lists)): self._keyword_lists.append(SilverCity.WordList(raw_word_lists[i]))