Exemple #1
0
def extract_file_to(fname=None):
    '''
    Extracts methods to given file or ./cocoa_indexes/methods.txt by default.
    '''
    if fname is None:
        fname = './cocoa_indexes/methods.txt.gz'
    if not os.path.isdir(os.path.dirname(fname)):
        os.mkdir(os.path.dirname(fname))

    # This file is quite large, so I've compressed it.
    f = gzip.open(fname, 'w')
    f.write("\n".join(get_methods(default_headers())))
    f.close()
Exemple #2
0
def extract_file_to(fname=None):
    '''
    Extracts methods to given file or ./cocoa_indexes/methods.txt by default.
    '''
    if fname is None:
        fname = './cocoa_indexes/methods.txt.gz'
    if not os.path.isdir(os.path.dirname(fname)):
        os.mkdir(os.path.dirname(fname))

    # This file is quite large, so I've compressed it.
    f = gzip.open(fname, 'w')
    f.write("\n".join(get_methods(default_headers())))
    f.close()
Exemple #3
0
def generate_syntax_file():
    '''Returns a list of lines for a Vim syntax file of Cocoa keywords.'''
    dir = './cocoa_indexes/'
    cocoa_definitions.extract_files_to(dir)

    # Normal classes & protocols need to be differentiated in syntax, so
    # we need to generate them again.
    headers = ' '.join(cocoa_definitions.default_headers())

    output = \
    ['" Description:    Syntax highlighting for the cocoa.vim plugin.',
    '"                 Adds highlighting for Cocoa keywords (classes, types, etc.).',
    '" Last Generated: ' + datetime.date.today().strftime('%B %d, %Y'),
    '']

    output += ['" Cocoa Functions',
               'syn keyword cocoaFunction containedin=objcMessage '
               + join_lines(read_file(dir + 'functions.txt')),
               '',
               '" Cocoa Classes',
               'syn keyword cocoaClass containedin=objcMessage '
               + join_lines(get_classes(headers)),
               '',
               '" Cocoa Protocol Classes',
               'syn keyword cocoaProtocol containedin=objcProtocol '
               + join_lines(get_protocol_classes(headers)),
               '',
               '" Cocoa Types',
               'syn keyword cocoaType containedin=objcMessage CGFloat '
               + join_lines(read_file(dir + 'types.txt')),
               '',
               '" Cocoa Constants',
               'syn keyword cocoaConstant containedin=objcMessage '
               + join_lines(read_file(dir + 'constants.txt')),
               '',
               '" Cocoa Notifications',
               'syn keyword cocoaNotification containedin=objcMessage '
               + join_lines(read_file(dir + 'notifications.txt')),
               '']

    output += ['hi link cocoaFunction Keyword',
               'hi link cocoaClass Special',
               'hi link cocoaProtocol cocoaClass',
               'hi link cocoaType Type',
               'hi link cocoaConstant Constant',
               'hi link cocoaNotification Constant']
    return output
def generate_syntax_file():
    """Returns a list of lines for a Vim syntax file of Cocoa keywords."""
    dir = "./cocoa_indexes/"
    cocoa_definitions.extract_files_to(dir)

    # Normal classes & protocols need to be differentiated in syntax, so
    # we need to generate them again.
    headers = " ".join(cocoa_definitions.default_headers())

    output = [
        '" Description:    Syntax highlighting for the cocoa.vim plugin.',
        '"                 Adds highlighting for Cocoa keywords (classes, types, etc.).',
        '" Last Generated: ' + datetime.date.today().strftime("%B %d, %Y"),
        "",
    ]

    output += [
        '" Cocoa Functions',
        "syn keyword cocoaFunction containedin=objcMessage " + join_lines(read_file(dir + "functions.txt")),
        "",
        '" Cocoa Classes',
        "syn keyword cocoaClass containedin=objcMessage " + join_lines(get_classes(headers)),
        "",
        '" Cocoa Protocol Classes',
        "syn keyword cocoaProtocol containedin=objcProtocol " + join_lines(get_protocol_classes(headers)),
        "",
        '" Cocoa Types',
        "syn keyword cocoaType containedin=objcMessage CGFloat " + join_lines(read_file(dir + "types.txt")),
        "",
        '" Cocoa Constants',
        "syn keyword cocoaConstant containedin=objcMessage " + join_lines(read_file(dir + "constants.txt")),
        "",
        '" Cocoa Notifications',
        "syn keyword cocoaNotification containedin=objcMessage " + join_lines(read_file(dir + "notifications.txt")),
        "",
    ]

    output += [
        "hi link cocoaFunction Keyword",
        "hi link cocoaClass Special",
        "hi link cocoaProtocol cocoaClass",
        "hi link cocoaType Special",
        "hi link cocoaConstant Constant",
        "hi link cocoaNotification Constant",
    ]
    return output
Exemple #5
0
def generate_syntax_file():
    '''Returns a list of lines for a Vim syntax file of Cocoa keywords.'''
    dir = './cocoa_indexes/'
    cocoa_definitions.extract_files_to(dir)

    # Normal classes & protocols need to be differentiated in syntax, so
    # we need to generate them again.
    headers = ' '.join(cocoa_definitions.default_headers())

    output = \
    ['" Description:    Syntax highlighting for the cocoa.vim plugin.',
    '"                 Adds highlighting for Cocoa keywords (classes, types, etc.).',
    '" Last Generated: ' + datetime.date.today().strftime('%B %d, %Y'),
    '']

    output += [
        '" Cocoa Functions',
        'syn keyword cocoaFunction containedin=objcMessage ' +
        join_lines(read_file(dir + 'functions.txt')), '', '" Cocoa Classes',
        'syn keyword cocoaClass containedin=objcMessage ' +
        join_lines(get_classes(headers)), '', '" Cocoa Protocol Classes',
        'syn keyword cocoaProtocol containedin=objcProtocol ' +
        join_lines(get_protocol_classes(headers)), '', '" Cocoa Types',
        'syn keyword cocoaType containedin=objcMessage CGFloat ' +
        join_lines(read_file(dir + 'types.txt')), '', '" Cocoa Constants',
        'syn keyword cocoaConstant containedin=objcMessage ' +
        join_lines(read_file(dir + 'constants.txt')), '',
        '" Cocoa Notifications',
        'syn keyword cocoaNotification containedin=objcMessage ' +
        join_lines(read_file(dir + 'notifications.txt')), ''
    ]

    output += [
        'hi link cocoaFunction Keyword', 'hi link cocoaClass Special',
        'hi link cocoaProtocol cocoaClass', 'hi link cocoaType Type',
        'hi link cocoaConstant Constant', 'hi link cocoaNotification Constant'
    ]
    return output