Example #1
0
 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
     ]
Example #2
0
 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)
     ]
Example #3
0
 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)))
     ]
Example #4
0
 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),
     ]
Example #5
0
 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.
     ]
Example #6
0
 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)))),
     ]
Example #7
0
 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_PYTHON)
     self._keyword_lists = [
         SilverCity.WordList(SilverCity.Keywords.python_keywords)
     ]
Example #9
0
 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.
     ]
Example #10
0
 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
     ]
Example #11
0
    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('&nbsp;', ' ').splitlines()
Example #12
0
 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)))),
     ]
Example #13
0
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)
Example #14
0
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)
Example #16
0
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)
Example #18
0
##


__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 = []
Example #19
0
 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]))