diff --git a/doc/about.html b/doc/about.html new file mode 100644 index 00000000..05ecd7dd --- /dev/null +++ b/doc/about.html @@ -0,0 +1,71 @@ + + + + + + About Vico + + + + + + + + +
+
+

+ Vico + about + download + help +

+
+
+

Vico is a programmers text editor for Mac OS X.

+

Some of the features are:

+ +

+ + + +

+

+ Click images to see a larger version. +

+
+
+ + + + + + diff --git a/doc/api/Categories/NSEvent(keyAdditions).html b/doc/api/Categories/NSEvent(keyAdditions).html new file mode 100644 index 00000000..6cc4f947 --- /dev/null +++ b/doc/api/Categories/NSEvent(keyAdditions).html @@ -0,0 +1,297 @@ + + + + + NSEvent(keyAdditions) Category Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inNSEvent-keyAdditions.h
+ + + + +
+ +

Overview

+

Convenience NSEvent functions.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

normalizedKeyCode

+ + + +
+

The normalized key code from a key event.

+
+ + +
- (NSInteger)normalizedKeyCode
+ + + + +
+

Return Value

+

The normalized key code from a key event.

+
+ + + + + + + + + + + +
+

Declared In

+ NSEvent-keyAdditions.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Categories/NSString(additions).html b/doc/api/Categories/NSString(additions).html new file mode 100644 index 00000000..67d1ddab --- /dev/null +++ b/doc/api/Categories/NSString(additions).html @@ -0,0 +1,590 @@ + + + + + NSString(additions) Category Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inNSString-additions.h
+ + + + +
+ +

Overview

+

Convenience NSString functions.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

stringWithKeyCode:

+ + + +
+

Return the string representation of a key code.

+
+ + +
+ (NSString *)stringWithKeyCode:(NSInteger)keyCode
+ + +
+

Parameters

+ +
+
keyCode
+

The key code to make into a string.

+
+ +
+ + + +
+

Return Value

+

The string representation of the key code.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ +

stringWithKeySequence:

+ + + +
+

Return the string representation of a key sequence.

+
+ + +
+ (NSString *)stringWithKeySequence:(NSArray *)keySequence
+ + +
+

Parameters

+ +
+
keySequence
+

An array of NSNumbers representing key codes.

+
+ +
+ + + +
+

Return Value

+

The string representation of the key codes.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

isUppercase

+ + + +
+

YES if the string is in uppercase.

+
+ + +
- (BOOL)isUppercase
+ + + + +
+

Return Value

+

YES if the string is in uppercase.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ +

keyCodes

+ + + +
+

Convert a string to an array of key codes.

+
+ + +
- (NSArray *)keyCodes
+ + + + +
+

Return Value

+

An array of NSNumbers representing key codes.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ +

numberOfLines

+ + + +
+

Count lines.

+
+ + +
- (NSInteger)numberOfLines
+ + + + +
+

Return Value

+

The number of lines in the string.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ +

occurrencesOfCharacter:

+ + + +
+

Count occurrences of a character.

+
+ + +
- (NSUInteger)occurrencesOfCharacter:(unichar)ch
+ + +
+

Parameters

+ +
+
ch
+

The character to search for.

+
+ +
+ + + +
+

Return Value

+

The number of occurrences of the character.

+
+ + + + + + + + + + + +
+

Declared In

+ NSString-additions.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Categories/NSView(additions).html b/doc/api/Categories/NSView(additions).html new file mode 100644 index 00000000..94407bad --- /dev/null +++ b/doc/api/Categories/NSView(additions).html @@ -0,0 +1,323 @@ + + + + + NSView(additions) Category Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inNSView-additions.h
+ + + + +
+ +

Overview

+

Convenience NSView functions.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

targetForSelector:

+ + + +
+

Find the target for a command action.

+
+ + +
- (id)targetForSelector:(SEL)action
+ + +
+

Parameters

+ +
+
action
+

The command action being executed.

+
+ +
+ + + +
+

Return Value

+

The first object responding to the selector, or nil if not found.

+
+ + + + + +
+

Discussion

+

The following objects are checked if they respond to the action selector:

+ +
    +
  1. The view itself and any of its superviews
  2. +
  3. The views window
  4. +
  5. The views windowcontroller
  6. +
  7. The views delegate, if any
  8. +
  9. The views document, if any
  10. +
  11. The views key managers target, if any
  12. +
  13. The application delegate
  14. +
+ +
+ + + + + + + +
+

Declared In

+ NSView-additions.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ExCommand.html b/doc/api/Classes/ExCommand.html new file mode 100644 index 00000000..37410834 --- /dev/null +++ b/doc/api/Classes/ExCommand.html @@ -0,0 +1,1233 @@ + + + + + ExCommand Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inExCommand.h
+ + + + +
+ +

Overview

+

A generated ex command.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + +   mapping +

    The mapping that describes the action.

    +
    + property + +
  • + +   naddr +

    Number of addresses given in the range.

    +
    + property + +
  • + +   addr1 +

    First range address.

    +
    + property + +
  • + +   addr2 +

    Second range address.

    +
    + property + +
  • + +   lineAddress +

    Target line address.

    +
    + property + +
  • + +   range +

    Resolved character range of affected text.

    +
    + property + +
  • + +   lineRange +

    Resolved line range of affected text.

    +
    + property + +
  • + +   line +

    Resolved target line number.

    +
    + property + +
  • + +   count +

    Count argument.

    +
    + property + +
  • + +   force +

    YES if ! flag specified.

    +
    + property + +
  • + +   append +

    YES if >> flag specified.

    +
    + property + +
  • + +   filter +

    YES if filtering (as in :read !ls or :write !wc).

    +
    + property + +
  • + +   nextCommand +

    Next ex command separated with a bar (|).

    +
    + property + +
  • + +   arg +

    Extra argument string.

    +
    + property + +
  • + +   plus_command +

    Ex command string for the + argument (as in :edit +cmd file).

    +
    + property + +
  • + +   pattern +

    Regular expression pattern.

    +
    + property + +
  • + +   replacement +

    Replacement template string for :s command.

    +
    + property + +
  • + +   options +

    Regular expression option string for :s command.

    +
    + property + +
  • + +   reg +

    Destination register, or 0 if none specified.

    +
    + property + +
  • + +   caret +

    If set, specifies final location of caret after command returns.

    +
    + property + +
  • + + – message: +

    Return a message to caller.

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

addr1

+ + + +
+

First range address.

+
+ + +
@property (nonatomic, assign, readwrite) ExAddress *addr1
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

addr2

+ + + +
+

Second range address.

+
+ + +
@property (nonatomic, assign, readwrite) ExAddress *addr2
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

append

+ + + +
+

YES if >> flag specified.

+
+ + +
@property (nonatomic, readwrite) BOOL append
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

arg

+ + + +
+

Extra argument string.

+
+ + +
@property (nonatomic, assign, readwrite) NSString *arg
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

caret

+ + + +
+

If set, specifies final location of caret after command returns.

+
+ + +
@property (nonatomic, readwrite) NSInteger caret
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

count

+ + + +
+

Count argument.

+
+ + +
@property (nonatomic, assign, readwrite) NSInteger count
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

filter

+ + + +
+

YES if filtering (as in :read !ls or :write !wc).

+
+ + +
@property (nonatomic, readwrite) BOOL filter
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

force

+ + + +
+

YES if ! flag specified.

+
+ + +
@property (nonatomic, readwrite) BOOL force
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

line

+ + + +
+

Resolved target line number.

+
+ + +
@property (nonatomic, readwrite) NSUInteger line
+ + + + + + + + +
+

Discussion

+

This is an absolute line number.

+
+ + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

lineAddress

+ + + +
+

Target line address.

+
+ + +
@property (nonatomic, assign, readwrite) ExAddress *lineAddress
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

lineRange

+ + + +
+

Resolved line range of affected text.

+
+ + +
@property (nonatomic, readwrite) NSRange lineRange
+ + + + + + + + +
+

Discussion

+

lineRange.location specifies a line number, and lineRange.lenght number of affected lines.

+
+ + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

mapping

+ + + +
+

The mapping that describes the action.

+
+ + +
@property (nonatomic, readonly) ExMapping *mapping
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

naddr

+ + + +
+

Number of addresses given in the range.

+
+ + +
@property (nonatomic, readwrite) NSUInteger naddr
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

nextCommand

+ + + +
+

Next ex command separated with a bar (|).

+
+ + +
@property (nonatomic, assign, readwrite) ExCommand *nextCommand
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

options

+ + + +
+

Regular expression option string for :s command.

+
+ + +
@property (nonatomic, assign, readwrite) NSString *options
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

pattern

+ + + +
+

Regular expression pattern.

+
+ + +
@property (nonatomic, assign, readwrite) NSString *pattern
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

plus_command

+ + + +
+

Ex command string for the + argument (as in :edit +cmd file).

+
+ + +
@property (nonatomic, assign, readwrite) NSString *plus_command
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

range

+ + + +
+

Resolved character range of affected text.

+
+ + +
@property (nonatomic, readwrite) NSRange range
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

reg

+ + + +
+

Destination register, or 0 if none specified.

+
+ + +
@property (nonatomic, readwrite) unichar reg
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ +

replacement

+ + + +
+

Replacement template string for :s command.

+
+ + +
@property (nonatomic, assign, readwrite) NSString *replacement
+ + + + + + + + + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

message:

+ + + +
+

Return a message to caller.

+
+ + +
- (void)message:(NSString *)message
+ + +
+

Parameters

+ +
+
message
+

The message to display.

+
+ +
+ + + + + + + +
+

Discussion

+

The last message will be shown in the ex command line after command returns.

+
+ + + + + + + +
+

Declared In

+ ExCommand.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ExMap.html b/doc/api/Classes/ExMap.html new file mode 100644 index 00000000..3389186b --- /dev/null +++ b/doc/api/Classes/ExMap.html @@ -0,0 +1,452 @@ + + + + + ExMap Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inExMap.h
+ + + + +
+ +

Overview

+

A collection of ex command definitions.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

defaultMap

+ + + +
+

The default ex map.

+
+ + +
+ (ExMap *)defaultMap
+ + + + + + + + + + + + + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

define:syntax:as:

+ + + +
+

Add an ex command definition.

+
+ + +
- (ExMapping *)define:(id)aName syntax:(NSString *)aSyntax as:(id)implementation
+ + +
+

Parameters

+ +
+
aName
+

The name, and optionally, aliases of the command. This is either +an NSString or an NSArray instance. If an array is passed, all entries should +be instances of NSString. The first string is taken as the primary name and +used in error messages.

+
+ +
+
aSyntax
+

A syntax string describing the format of arguments.

+
+ +
+
implementation
+

Either an NSString instance naming a selector, or a NuBlock +instance specifying a Nu function. The Nu function takes on optional parameter; +an instance of ExCommand that describes the arguments.

+
+ +
+ + + +
+

Return Value

+

the command definition, or nil on error.

+
+ + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ +

lookup:

+ + + +
+

Look up an ex command definition given the name.

+
+ + +
- (ExMapping *)lookup:(NSString *)aString
+ + +
+

Parameters

+ +
+
aString
+

the name of the command. May be abbreviated as long as it is not ambiguous.

+
+ +
+ + + +
+

Return Value

+

the defined ex command, or nil if not found.

+
+ + + + + + + + + + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ExMapping.html b/doc/api/Classes/ExMapping.html new file mode 100644 index 00000000..1a5c052d --- /dev/null +++ b/doc/api/Classes/ExMapping.html @@ -0,0 +1,410 @@ + + + + + ExMapping Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inExMap.h
+ + + + +
+ +

Overview

+

A definition of an ex command.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + +   name +

    The primary name of this command.

    +
    + property + +
  • + +   names +

    All names and aliases of this command.

    +
    + property + +
  • + +   syntax +

    Syntax string describing the format and arguments of the command.

    +
    + property + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

name

+ + + +
+

The primary name of this command.

+
+ + +
@property (nonatomic, readonly) NSString *name
+ + + + + + + + + + + + + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ +

names

+ + + +
+

All names and aliases of this command.

+
+ + +
@property (nonatomic, readonly) NSArray *names
+ + + + + + + + + + + + + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ +

syntax

+ + + +
+

Syntax string describing the format and arguments of the command.

+
+ + +
@property (nonatomic, readonly) NSString *syntax
+ + + + + + + + +
+

Discussion

+

The syntax string consists of the following characters:

+ +
    +
  • ! — allow ! directly after command name
  • +
  • r — allow range
  • +
  • % — default to whole file if no range
  • +
  • + — allow “+command” argument
  • +
  • c — allow count > 0
  • +
  • e — allow extra argument(s)
  • +
  • E — require extra argument(s)
  • +
  • 1 — only one extra argument allowed
  • +
  • x — expand wildcards and filename meta chars (‘%’ and ‘#’) in extra arguments
  • +
  • R — allow register
  • +
  • l — allow an optional line argument
  • +
  • L — require a line argument
  • +
  • ~ — allow /regexp/replace/flags argument
  • +
  • / — allow /regexp/flags argument
  • +
  • | (bar) — do NOT end command with a trailing bar
  • +
  • m — command modifies document
  • +
+ +
+ + + + + + + +
+

Declared In

+ ExMap.h
+
+ + +
+ +
+ + + + + + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ExParser.html b/doc/api/Classes/ExParser.html new file mode 100644 index 00000000..cbebb651 --- /dev/null +++ b/doc/api/Classes/ExParser.html @@ -0,0 +1,461 @@ + + + + + ExParser Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inExParser.h
+ + + + +
+ +

Overview

+

Parser for ex commands.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

sharedParser

+ + + +
+

A shared ex parser instance.

+
+ + +
+ (ExParser *)sharedParser
+ + + + +
+

Return Value

+

A shared ex parser instance.

+
+ + + + + + + + + + + +
+

Declared In

+ ExParser.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

expand:error:

+ + + +
+

Expand filename metacharacters

+
+ + +
- (NSString *)expand:(NSString *)string error:(NSError **)outError
+ + +
+

Parameters

+ +
+
string
+

The string to expand.

+
+ +
+
outError
+

Return value parameter for errors. May be nil.

+
+ +
+ + + +
+

Return Value

+

The expanded string.

+
+ + + + + +
+

Discussion

+

This method expands % and # to the current and alternate document URLs, respectively. +The following modifiers are recognized:

+ +
    +
  • :p — replace with normalized path
  • +
  • :h — head of url; delete the last path component (may be specified multiple times)
  • +
  • :t — tail of url; replace with last path component
  • +
  • :e — replace with the extension
  • +
  • :r — root of url; delete the path extension
  • +
+ + +

To insert a literal % or # character, escape it with a backslash (\). +Escapes are removed.

+
+ + + + + + + +
+

Declared In

+ ExParser.h
+
+ + +
+ +
+ +

parse:error:

+ + + +
+

Parse an ex command.

+
+ + +
- (ExCommand *)parse:(NSString *)string error:(NSError **)outError
+ + +
+

Parameters

+ +
+
string
+

The whole ex command string to parse.

+
+ +
+
outError
+

Return value parameter for errors. May be nil.

+
+ +
+ + + +
+

Return Value

+

An ExCommand, or nil on error.

+
+ + + + + + + + + + + +
+

Declared In

+ ExParser.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViCommand.html b/doc/api/Classes/ViCommand.html new file mode 100644 index 00000000..30486347 --- /dev/null +++ b/doc/api/Classes/ViCommand.html @@ -0,0 +1,655 @@ + + + + + ViCommand Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViCommand.h
+ + + + +
+ +

Overview

+

A generated vi command.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

argument

+ + + +
+

The argument, if any. Only applicable if the mapping specified the ViMapNeedArgument flag.

+
+ + +
@property (nonatomic, readwrite) unichar argument
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

count

+ + + +
+

Any count given to the command.

+
+ + +
@property (nonatomic, readwrite) int count
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

hasOperator

+ + + +
+

YES if the mapped action is a motion component for an operator.

+
+ + +
@property (nonatomic, readonly) BOOL hasOperator
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

isLineMode

+ + + +
+

YES if the mapped action operates on whole lines.

+
+ + +
@property (nonatomic, readwrite) BOOL isLineMode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

isMotion

+ + + +
+

YES if the mapped action is a motion command.

+
+ + +
@property (nonatomic, readonly) BOOL isMotion
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

mapping

+ + + +
+

The mapping that describes the action.

+
+ + +
@property (nonatomic, readonly) ViMapping *mapping
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

motion

+ + + +
+

The motion command, if this command is an operator action.

+
+ + +
@property (nonatomic, readwrite) ViCommand *motion
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

operator

+ + + +
+

The operator command, if this command is a motion component.

+
+ + +
@property (nonatomic, readwrite) ViCommand *operator
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ +

reg

+ + + +
+

The register, if any.

+
+ + +
@property (nonatomic, readwrite) unichar reg
+ + + + + + + + + + + + + + +
+

Declared In

+ ViCommand.h
+
+ + +
+ +
+ + + + + + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViDocument.html b/doc/api/Classes/ViDocument.html new file mode 100644 index 00000000..1f18f92d --- /dev/null +++ b/doc/api/Classes/ViDocument.html @@ -0,0 +1,891 @@ + + + + + ViDocument Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSDocument
Conforms toNSLayoutManagerDelegate
NSTextStorageDelegate
NSTextViewDelegate
ViDeferredDelegate
ViViewDocument
Declared inViDocument.h
+ + + + +
+ +

Overview

+

A document.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ + + + + +

Working with scopes

+ + + +
+ + + + + +
+ +

Properties

+ +
+ +

textStorage

+ + + +
+

Return the ViTextStorage object.

+
+ + +
@property (nonatomic, readonly) ViTextStorage *textStorage
+ + + + + + + + + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ +

views

+ + + +
+

The set of visible views of the document.

+
+ + +
@property (nonatomic, readonly) NSSet *views
+ + + + +
+

Return Value

+

The set of visible views of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

addView:

+ + + +
+

Add a view to the set of visible views.

+
+ + +
- (void)addView:(ViDocumentView *)aDocumentView
+ + +
+

Parameters

+ +
+
viewController
+

The view to add.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

bestMatchingScope:atLocation:

+ + + +
+

Find the best matching scope selector.

+
+ + +
- (NSString *)bestMatchingScope:(NSArray *)scopeSelectors atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
scopeSelectors
+

Scope selectors to test.

+
+ +
+
aLocation
+

The location of the scope.

+
+ +
+ + + +
+

Return Value

+

The scope selector with the highest matching rank at the given location.

+
+ + + + + + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ +

cloneView:

+ + + +
+

Create a new view of the document by cloning an existing view.

+
+ + +
- (ViDocumentView *)cloneView:(ViDocumentView *)oldView
+ + +
+

Parameters

+ +
+
oldView
+

The view that is being cloned.

+
+ +
+ + + +
+

Return Value

+

The newly created view of the document.

+
+ + + + + +
+

Discussion

+

The new view is expected to inherit properties from the cloned view, such as caret location.

+
+ + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

language

+ + + +
+

Get the language syntax.

+
+ + +
- (ViLanguage *)language
+ + + + +
+

Return Value

+

The language syntax currently in use, or nil if no language configured.

+
+ + + + + + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ +

makeView

+ + + +
+

Create a new view of the document.

+
+ + +
- (ViDocumentView *)makeView
+ + + + +
+

Return Value

+

The newly created view of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

rangeOfScopeSelector:atLocation:

+ + + +
+

Find the range where a scope selector matches.

+
+ + +
- (NSRange)rangeOfScopeSelector:(NSString *)scopeSelector atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
scopeSelector
+

Scope selectors to test.

+
+ +
+
aLocation
+

A location where the scope selector matches.

+
+ +
+ + + +
+

Return Value

+

The whole range where the scope selector matches, possibly with different ranks.

+
+ + + + + + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ +

removeView:

+ + + +
+

Remove a view from the set of visible views.

+
+ + +
- (void)removeView:(ViDocumentView *)aDocumentView
+ + +
+

Parameters

+ +
+
viewController
+

The view to remove.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

scopeAtLocation:

+ + + +
+

Return the scope at a given location.

+
+ + +
- (ViScope *)scopeAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

The location of the scope.

+
+ +
+ + + +
+

Return Value

+

The scope at the given location, or nil of aLocation is not valid or no language syntax available.

+
+ + + + + + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ +

text

+ + + +
+

Return a scriptable text view.

+
+ + +
- (ViTextView *)text
+ + + + +
+

Return Value

+

A scriptable text view.

+
+ + + + + +
+

Discussion

+

The returned text view is not visible.

+
+ + + + + + + +
+

Declared In

+ ViDocument.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViEventManager.html b/doc/api/Classes/ViEventManager.html new file mode 100644 index 00000000..9a5d3039 --- /dev/null +++ b/doc/api/Classes/ViEventManager.html @@ -0,0 +1,1125 @@ + + + + + ViEventManager Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViEventManager.h
+ + + + +
+ +

Overview

+

The event manager is used to automatically run code when specific +events occur. An event handler is defined as a Nu function, typically +an anonymous function created with the Nu do operator. An event +handler will receive zero or more arguments, depending on the event. +Any return value is ignored.

+ +

The standard events are described below.

+ +

Constants

+ +

Standard event names

+ +

Document Controller events

+ +
+
didFinishLaunching
+
+

Emitted when Vico has finished launching.

+

arguments: none

+
+ +
willResignActive
+
+

Emitted when Vico resigns active state (ie, loses focus).

+

arguments: none

+
+ +
didBecomeActive
+
+

Emitted when Vico becomes active (ie, regains focus).

+

arguments: none

+
+ +
didAddDocument
+
+

Emitted when a new document is opened.

+

arguments: document

+
+ +
didRemoveDocument
+
+

Emitted when a document is closed.

+

arguments: document

+
+
+ + +

Document events

+ +
+
willChangeURL
+
+

Emitted before a document changes it's URL.

+

arguments: document, url

+
+ +
didChangeURL
+
+

Emitted after a document changed it's URL.

+

arguments: document, url

+
+ +
willLoadDocument
+
+

Emitted before a document is loaded.

+

arguments: document, url

+
+ +
didLoadDocument
+
+

Emitted after a document was loaded.

+

arguments: document

+
+ +
willSaveDocument
+
+

Emitted before a document is being saved.

+

arguments: document

+
+ +
didSaveDocument
+
+

Emitted after a document was saved.

+

arguments: document

+
+ +
willSaveAsDocument
+
+

Emitted before a document is being saved at a new URL.

+

arguments: document, url

+
+ +
didSaveAsDocument
+
+

Emitted after a document was saved at a new URL.

+

arguments: document, url

+
+ +
willCloseDocument
+
+

Emitted before a document is closed.

+

arguments: document

+
+ +
didCloseDocument
+
+

Emitted after a document was closed.

+

arguments: document

+
+ +
didModifyDocument
+
+

Emitted after a document was modified.

+

arguments: document, range, delta

+
+ +
didMakeView
+
+

Emitted after a new document view was created.

+

arguments: document, view, text

+
+ +
willChangeSyntax
+
+

Emitted before a document changes language syntax.

+

arguments: document, language

+
+ +
didChangeSyntax
+
+

Emitted after a document changed language syntax.

+

arguments: document, language

+
+
+ + +

Text events

+ +
+
caretDidMove
+
+

Emitted after the caret has changed in a text view.

+

arguments: text

+
+
+ + +

Window events

+ +
+
willSelectDocument
+
+

Emitted before the selected document is changed in a window.

+

arguments: window, document

+
+ +
didSelectDocument
+
+

Emitted after the selected document was changed in a window.

+

arguments: window, document

+
+ +
willSelectView
+
+

Emitted before the selected view is changed in a window.

+

arguments: window, view

+
+ +
didSelectView
+
+

Emitted after the selected view was changed in a window.

+

arguments: window, view

+
+ +
willSelectTab
+
+

Emitted before the selected tab is changed in a window.

+

arguments: window, tab controller

+
+ +
didSelectTab
+
+

Emitted after the selected tab was changed in a window.

+

arguments: window, tab controller

+
+
+ + +

Tab Controller events

+ +
+
didAddView
+
+

Emitted after a view was added to a tab.

+

arguments: view

+
+ +
didCloseView
+
+

Emitted after a view was removed from a tab.

+

arguments: view

+
+
+ +
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ + + + + +

Emitting events

+ + + + + +

Registering event handlers

+ +
    +
  • + + – on:by:do: +

    Register a handler for an event by a specific object.

    +
    + + +
  • + + – on:do: +

    Register an event handler.

    +
    + + +
  • +
+ + + +

Removing event handlers

+ +
    +
  • + + – clear:for: +

    Remove all events handlers for a specific object.

    +
    + + +
  • + + – clear: +

    Remove all handlers for an event.

    +
    + + +
  • + + – clearFor: +

    Remove all handlers for an object.

    +
    + + +
  • + + – clear +

    Remove all handlers for all events.

    +
    + + +
  • + + – remove: +

    Remove an event handler.

    +
    + + +
  • +
+ +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

defaultManager

+ + + +
+

The default global event manager.

+
+ + +
+ (ViEventManager *)defaultManager
+ + + + +
+

Return Value

+

The default global event manager.

+
+ + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

clear

+ + + +
+

Remove all handlers for all events.

+
+ + +
- (void)clear
+ + + + + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

clear:

+ + + +
+

Remove all handlers for an event.

+
+ + +
- (void)clear:(NSString *)event
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

clear:for:

+ + + +
+

Remove all events handlers for a specific object.

+
+ + +
- (void)clear:(NSString *)event for:(id)owner
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+
owner
+

The object that is responsible for emitting the event.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

clearFor:

+ + + +
+

Remove all handlers for an object.

+
+ + +
- (void)clearFor:(id)owner
+ + +
+

Parameters

+ +
+
owner
+

The object that is responsible for emitting the event.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

emit:for:withArguments:

+ + + +
+

Emit an event immediately.

+
+ + +
- (void)emit:(NSString *)event for:(id)owner withArguments:(id)arguments
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+
owner
+

The object that is responsible for emitting the event.

+
+ +
+
arguments
+

The arguments to the event handler. Can either be an NSArray or a Nu list.

+
+ +
+ + + + + + + +
+

Discussion

+

You should not manually emit any of the standard events.

+
+ + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

emitDelayed:for:withArguments:

+ + + +
+

Emit an event in the next run loop iteration.

+
+ + +
- (void)emitDelayed:(NSString *)event for:(id)owner withArguments:(id)arguments
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+
owner
+

The object that is responsible for emitting the event.

+
+ +
+
arguments
+

The arguments to the event handler. Can either be an NSArray or a Nu list.

+
+ +
+ + + + + + + +
+

Discussion

+

You should not manually emit any of the standard events.

+
+ + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

on:by:do:

+ + + +
+

Register a handler for an event by a specific object.

+
+ + +
- (NSInteger)on:(NSString *)event by:(id)owner do:(NuBlock *)expression
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+
owner
+

The object that emitted the event.

+
+ +
+
expression
+

A Nu anonymous function (do block). See the Nu documentation. +The number of arguments to the function must match the number of arguments emitted.

+
+ +
+ + + +
+

Return Value

+

A unique event ID.

+
+ + + + + +
+

Discussion

+

This event handler is called whenever the event is emitted by the +owner object.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

on:do:

+ + + +
+

Register an event handler.

+
+ + +
- (NSInteger)on:(NSString *)event do:(NuBlock *)expression
+ + +
+

Parameters

+ +
+
event
+

The name of the event; cannot be nil.

+
+ +
+
expression
+

A Nu anonymous function (do block). See the Nu documentation. +The number of arguments to the function must match the number of arguments emitted.

+
+ +
+ + + +
+

Return Value

+

A unique event ID.

+
+ + + + + +
+

Discussion

+

This event handler is called whenever the event is emitted, +regardless of the emitting object.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ +

remove:

+ + + +
+

Remove an event handler.

+
+ + +
- (void)remove:(NSInteger)eventId
+ + +
+

Parameters

+ +
+
eventId
+

An event ID as returned by on:by:do:.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViEventManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViKeyManager.html b/doc/api/Classes/ViKeyManager.html new file mode 100644 index 00000000..7ac709e8 --- /dev/null +++ b/doc/api/Classes/ViKeyManager.html @@ -0,0 +1,857 @@ + + + + + ViKeyManager Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViKeyManager.h
+ + + + +
+ +

Overview

+

The key manager handles key input and macro evaluation.

+ +

The key manager uses a ViParser to parse key events into a ViCommand.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ + + + + +

Initializing

+ + + + + +

Handling key events

+ + + +
+ + + + + +
+ +

Properties

+ +
+ +

parser

+ + + +
+

The vi key parser. See ViParser.

+
+ + +
@property (nonatomic, readwrite, assign) ViParser *parser
+ + + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

target

+ + + +
+

The target object that evaluates the parsed commands. Should conform +to the ViKeyManagerTarget protocol.

+
+ + +
@property (nonatomic, readwrite, assign) id<ViKeyManagerTarget> target
+ + + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

handleKey:

+ + + +
+

Manually parse a key.

+
+ + +
- (BOOL)handleKey:(NSInteger)keyCode
+ + +
+

Parameters

+ +
+
keyCode
+

The key code of the key.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

handleKey:inScope:

+ + + +
+

Manually parse a key.

+
+ + +
- (BOOL)handleKey:(NSInteger)keyCode inScope:(ViScope *)scope
+ + +
+

Parameters

+ +
+
keyCode
+

The key code of the key.

+
+ +
+
scope
+

The scope to consider when parsing the key.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

initWithTarget:defaultMap:

+ + + +
+

Initialize a new key manager with a target object and a default key map.

+
+ + +
- (ViKeyManager *)initWithTarget:(id<ViKeyManagerTarget>)aTarget defaultMap:(ViMap *)map
+ + +
+

Parameters

+ +
+
aTarget
+

The target of generated commands.

+
+ +
+
map
+

The default map to use when creating a new key parser.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

initWithTarget:parser:

+ + + +
+

Initialize a new key manager with a target object and a key parser.

+
+ + +
- (ViKeyManager *)initWithTarget:(id<ViKeyManagerTarget>)aTarget parser:(ViParser *)aParser
+ + +
+

Parameters

+ +
+
aTarget
+

The target of generated commands.

+
+ +
+
aParser
+

An existing key parser.

+
+ +
+ + + + + + + +
+

Discussion

+

This is the designated initialzer.

+
+ + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

keyDown:

+ + + +
+

Handle a keyDown event.

+
+ + +
- (void)keyDown:(NSEvent *)theEvent
+ + +
+

Parameters

+ +
+
theEvent
+

A key event.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

keyDown:inScope:

+ + + +
+

Handle a keyDown event.

+
+ + +
- (void)keyDown:(NSEvent *)theEvent inScope:(ViScope *)scope
+ + +
+

Parameters

+ +
+
theEvent
+

A key event.

+
+ +
+
scope
+

The scope where the key event occurred.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

performKeyEquivalent:

+ + + +
+

Handle a key equivalent event.

+
+ + +
- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
+ + +
+

Parameters

+ +
+
theEvent
+

A key equivalent event.

+
+ +
+ + + +
+

Return Value

+

YES if the key equivalent was handled. NO if the key equivalent was not recognized.

+
+ + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

performKeyEquivalent:inScope:

+ + + +
+

Handle a key equivalent event.

+
+ + +
- (BOOL)performKeyEquivalent:(NSEvent *)theEvent inScope:(ViScope *)scope
+ + +
+

Parameters

+ +
+
theEvent
+

A key equivalent event.

+
+ +
+
scope
+

The scope where the key equivalent event occurred.

+
+ +
+ + + +
+

Return Value

+

YES if the key equivalent was handled. NO if the key equivalent was not recognized.

+
+ + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViLanguage.html b/doc/api/Classes/ViLanguage.html new file mode 100644 index 00000000..6dfe091b --- /dev/null +++ b/doc/api/Classes/ViLanguage.html @@ -0,0 +1,408 @@ + + + + + ViLanguage Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViLanguage.h
+ + + + +
+ +

Overview

+

A language syntax.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

scope

+ + + +
+

The top-level scope of the language.

+
+ + +
@property (nonatomic, readonly) ViScope *scope
+ + + + + + + + + + + + + + +
+

Declared In

+ ViLanguage.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

displayName

+ + + +
+

The display name of the language.

+
+ + +
- (NSString *)displayName
+ + + + +
+

Return Value

+

The display name of the language.

+
+ + + + + + + + + + + +
+

Declared In

+ ViLanguage.h
+
+ + +
+ +
+ +

name

+ + + +
+

The scope name of the language.

+
+ + +
- (NSString *)name
+ + + + +
+

Return Value

+

The scope name of the language.

+
+ + + + + + + + + + + +
+

Declared In

+ ViLanguage.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViMap.html b/doc/api/Classes/ViMap.html new file mode 100644 index 00000000..db588153 --- /dev/null +++ b/doc/api/Classes/ViMap.html @@ -0,0 +1,2176 @@ + + + + + ViMap Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViMap.h
+ + + + +
+ +

Overview

+

A map contains keys (or key sequences) mapped to editor actions, macros or Nu expressions.

+ +

A key sequence is a string of one or more keys. A key can be a +regular character like ‘a’ or ‘€’. Key characters are case sensitive, +so ‘a’ is different from ‘A’.

+ +

Special keys are specified as a string within angle brackets, +like <f4>, <down> or <enter>. Modifiers are prepended with +a separating dash, like <control-f4>, <command-down> or +<alt-enter>. Multiple modifiers are also possible: <alt-command-tab>. +The order of modifiers is not significant.

+ +

The following modifiers are recognized:

+ +
    +
  • control, ctrl or c — Control modifier
  • +
  • option, alt, meta, a or m — Option modifier
  • +
  • command, cmd or d — Command modifier
  • +
  • shift or s — Shift modifier
  • +
+ + +

For single character keys, the shift modifier should not be +used. Use the corresponding upper case character instead. The same +applies to the option modifier; if the generated character is a +valid unicode character, use that character and drop the option +modifier.

+ +

The following special keys are recognized:

+ +
    +
  • delete or del — Delete function key
  • +
  • left — Left arrow key
  • +
  • right — Right arrow key
  • +
  • up — Up arrow key
  • +
  • down — Down arrow key
  • +
  • pageup or pgup — Page Up function key
  • +
  • pagedown or pgdn — Page Down function key
  • +
  • home — Home function key
  • +
  • end — End function key
  • +
  • insert or ins — Insert function key
  • +
  • help — Help function key
  • +
  • backspace or bs — Backspace key
  • +
  • tab — Tab key
  • +
  • escape or esc — Escape key
  • +
  • cr, enter or return — Enter key
  • +
  • bar| key
  • +
  • lt< key
  • +
  • backslash or bslash\ key
  • +
  • nl — Same as <control-j>
  • +
  • ff — Same as <control-l>
  • +
  • nul — Null key
  • +
+ + +

Mappings that are limited by a scope selector will only be recognized if +the current scope matches the selector. If multiple mappings match the +current scope, the scope selector with the highest rank is used. Mappings +with an empty scope selector has the lowest possible rank.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ +
    +
  • + +   operatorMap +

    Assign a map to be used by operator actions.

    +
    + property + +
  • + +   acceptsCounts +

    If YES, leading digits acts as count to commands. +If NO, digits are treated as normal commands.

    +
    + property + +
  • + +   defaultAction +

    If no mapping matches a key sequence, this action is called.

    +
    + property + +
  • +
+ + + +

Creating custom maps

+ + + + + +

Predefined standard maps

+ + + + + +

Including other maps

+ + + + + +

Mapping macros

+ + + + + +

Mapping Nu expressions

+ + + + + +

Mapping keys to actions

+ + + + + +

Unmapping keys

+ +
    +
  • + + – unmap:scope: +

    Unmap a key sequence in a specific scope.

    +
    + + +
  • + + – unmap: +

    Unmap a key sequence without a limiting scope.

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

acceptsCounts

+ + + +
+

If YES, leading digits acts as count to commands. +If NO, digits are treated as normal commands.

+
+ + +
@property (nonatomic, readwrite) BOOL acceptsCounts
+ + + + + + + + +
+

Discussion

+

acceptsCounts should be disabled for maps in insert mode. +Default is YES.

+
+ + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

defaultAction

+ + + +
+

If no mapping matches a key sequence, this action is called.

+
+ + +
@property (nonatomic, readwrite) SEL defaultAction
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

operatorMap

+ + + +
+

Assign a map to be used by operator actions.

+
+ + +
@property (nonatomic, readwrite, assign) ViMap *operatorMap
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

completionMap

+ + + +
+

The map used in completion popups.

+
+ + +
+ (ViMap *)completionMap
+ + + + +
+

Return Value

+

The map used in completion popups.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

explorerMap

+ + + +
+

The map used in the file explorer sidebar.

+
+ + +
+ (ViMap *)explorerMap
+ + + + +
+

Return Value

+

The map used in the file explorer sidebar.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

insertMap

+ + + +
+

The map used in insert mode.

+
+ + +
+ (ViMap *)insertMap
+ + + + +
+

Return Value

+

The map used in insert mode.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

mapWithName:

+ + + +
+

Create a new empty map.

+
+ + +
+ (ViMap *)mapWithName:(NSString *)mapName
+ + +
+

Parameters

+ +
+
mapName
+

The name of the map.

+
+ +
+ + + +
+

Return Value

+

The newly created map. It is initially empty.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

normalMap

+ + + +
+

The map used in normal mode.

+
+ + +
+ (ViMap *)normalMap
+ + + + +
+

Return Value

+

The map used in normal mode.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

operatorMap

+ + + +
+

The map used after an operator command.

+
+ + +
+ (ViMap *)operatorMap
+ + + + +
+

Return Value

+

The map used after an operator command.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

symbolMap

+ + + +
+

The map used in the symbol list sidebar.

+
+ + +
+ (ViMap *)symbolMap
+ + + + +
+

Return Value

+

The map used in the symbol list sidebar.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

visualMap

+ + + +
+

The map used in visual mode.

+
+ + +
+ (ViMap *)visualMap
+ + + + +
+

Return Value

+

The map used in visual mode.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

include:

+ + + +
+

Add a reference to another map.

+
+ + +
- (void)include:(ViMap *)map
+ + +
+

Parameters

+ +
+
map
+

The other map to include in this map.

+
+ +
+ + + + + + + +
+

Discussion

+

Mappings in an included map can be overridden by mappings in the parent map.

+
+ + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

includesMap:

+ + + +
+

Check if a map is included by another map.

+
+ + +
- (BOOL)includesMap:(ViMap *)aMap
+ + +
+

Parameters

+ +
+
aMap
+

The map to check for inclusion.

+
+ +
+ + + +
+

Return Value

+

YES if the given map is included by this map.

+
+ + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

map:to:

+ + + +
+

Globally map a key sequence to a macro non-recursively.

+
+ + +
- (void)map:(NSString *)keySequence to:(NSString *)macro
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to map.

+
+ +
+
macro
+

The key sequence that make up the macro.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

map:to:recursively:scope:

+ + + +
+

Map a key sequence to a macro.

+
+ + +
- (void)map:(NSString *)keySequence to:(NSString *)macro recursively:(BOOL)recursiveFlag scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
macro
+

The key sequence that make up the macro.

+
+ +
+
recursiveFlag
+

YES if the macro should be evaluated recursively.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

map:to:scope:

+ + + +
+

Map a key sequence to a macro non-recursively.

+
+ + +
- (void)map:(NSString *)keySequence to:(NSString *)macro scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to map.

+
+ +
+
macro
+

The key sequence that make up the macro.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

map:toExpression:

+ + + +
+

Map a key sequence to a Nu expression.

+
+ + +
- (void)map:(NSString *)keySequence toExpression:(id)expr
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to map.

+
+ +
+
expr
+

A Nu anonymous function (do block) with zero arguments. See the Nu documentation.

+
+ +
+ + + + + + + +
+

Discussion

+

The mapping will be created with global scope, ie no limiting scope selector.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

map:toExpression:scope:

+ + + +
+

Map a key sequence to a Nu expression.

+
+ + +
- (void)map:(NSString *)keySequence toExpression:(id)expr scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
expr
+

A Nu anonymous function (do block) with zero arguments. See the Nu documentation.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toAction:

+ + + +
+

Map a key sequence to an action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toAction:(SEL)selector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+ + + + + + + +
+

Discussion

+

This sets flags to 0, parameter to nil and empty scope selector.

+
+ + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toAction:flags:parameter:scope:

+ + + +
+

Map a key sequence to an action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toAction:(SEL)selector flags:(NSUInteger)flags parameter:(id)param scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+
flags
+

A combination of flags, or’d together.

+
+ +
+
param
+

Any parameter that should be passed to the command.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toEditAction:

+ + + +
+

Map a key sequence to an edit action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toEditAction:(SEL)selector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+ + + + + + + +
+

Discussion

+

This sets flags to ViMapSetsDot, parameter to nil and an empty scope selector.

+
+ + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toEditAction:flags:parameter:scope:

+ + + +
+

Map a key sequence to an edit action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toEditAction:(SEL)selector flags:(NSUInteger)flags parameter:(id)param scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+
flags
+

A combination of flags, or’d together. The ViMapSetsDot flag is always set.

+
+ +
+
param
+

Any parameter that should be passed to the command.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toMotion:

+ + + +
+

Map a key sequence to a motion action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toMotion:(SEL)selector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+ + + + + + + +
+

Discussion

+

This sets flags to ViMapIsMotion, parameter to nil and an empty scope selector.

+
+ + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toMotion:flags:parameter:scope:

+ + + +
+

Map a key sequence to a motion action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toMotion:(SEL)selector flags:(NSUInteger)flags parameter:(id)param scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+
flags
+

A combination of flags, or’d together. The ViMapIsMotion flag is always set.

+
+ +
+
param
+

Any parameter that should be passed to the command.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toOperator:

+ + + +
+

Map a key sequence to an operator action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toOperator:(SEL)selector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+ + + + + + + +
+

Discussion

+

This sets flags to ViMapNeedMotion, parameter to nil and an empty scope selector.

+
+ + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

setKey:toOperator:flags:parameter:scope:

+ + + +
+

Map a key sequence to an operator action.

+
+ + +
- (void)setKey:(NSString *)keyDescription toOperator:(SEL)selector flags:(NSUInteger)flags parameter:(id)param scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keyDescription
+

The key sequence to map. Can include special keys within angle brackets, like <cmd-ctrl-up>.

+
+ +
+
selector
+

The selector of the action.

+
+ +
+
flags
+

A combination of flags, or’d together. The ViMapNeedMotion flag is always set.

+
+ +
+
param
+

Any parameter that should be passed to the command.

+
+ +
+
scopeSelector
+

A scope selector limiting where this key sequence is applicable, or nil for no limit.

+
+ +
+ + + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

unmap:

+ + + +
+

Unmap a key sequence without a limiting scope.

+
+ + +
- (void)unmap:(NSString *)keySequence
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to unmap.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

unmap:scope:

+ + + +
+

Unmap a key sequence in a specific scope.

+
+ + +
- (void)unmap:(NSString *)keySequence scope:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
keySequence
+

The key sequence to unmap.

+
+ +
+
scopeSelector
+

A scope selector matching a previously mapped key sequence.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViMapping.html b/doc/api/Classes/ViMapping.html new file mode 100644 index 00000000..108f5396 --- /dev/null +++ b/doc/api/Classes/ViMapping.html @@ -0,0 +1,955 @@ + + + + + ViMapping Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViMap.h
+ + + + +
+ +

Overview

+

A mapping of a key sequence to an editor action, macro or Nu expression.

+ +

New mappings are created in a ViMap.

+ +

Constants

+ +

Map flags

+ +
    +
  • ViMapSetsDot: This command sets the dot command
  • +
  • ViMapNeedMotion: This command needs a following motion command (ie, it’s an operator)
  • +
  • ViMapIsMotion: This is a motion command
  • +
  • ViMapLineMode: This command operates on whole lines
  • +
  • ViMapNeedArgument: This command needs a following character argument
  • +
+ +
+ + + + + +
+ +

Tasks

+ + + + +

Getting mapping attributes

+ + +
+ + + + + +
+ +

Properties

+ +
+ +

action

+ + + +
+

The editor action.

+
+ + +
@property (nonatomic, readonly) SEL action
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

expression

+ + + +
+

A Nu expression macro.

+
+ + +
@property (nonatomic, readonly) NuBlock *expression
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

keySequence

+ + + +
+

An array of NSNumbers that make up the key sequence.

+
+ + +
@property (nonatomic, readonly) NSArray *keySequence
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

keyString

+ + + +
+

A string describing the key sequence.

+
+ + +
@property (nonatomic, readonly) NSString *keyString
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

macro

+ + + +
+

A key string describing the keys that make up the macro.

+
+ + +
@property (nonatomic, readonly) NSString *macro
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

parameter

+ + + +
+

Any parameter that should be passed to the command.

+
+ + +
@property (nonatomic, readonly) id parameter
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

recursive

+ + + +
+

YES if this macro should be evaluated recursively.

+
+ + +
@property (nonatomic, readonly) BOOL recursive
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

scopeSelector

+ + + +
+

The scope this mapping applies to.

+
+ + +
@property (nonatomic, readonly) NSString *scopeSelector
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

isAction

+ + + +
+

YES if the mapping is an editor action.

+
+ + +
- (BOOL)isAction
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

isExpression

+ + + +
+

YES if the mapping is a Nu expression.

+
+ + +
- (BOOL)isExpression
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

isLineMode

+ + + +
+

YES if the mapping is an editor action that works on whole lines.

+
+ + +
- (BOOL)isLineMode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

isMacro

+ + + +
+

YES if the mapping is a macro.

+
+ + +
- (BOOL)isMacro
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

isMotion

+ + + +
+

YES if the mapping is a motion action.

+
+ + +
- (BOOL)isMotion
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

isOperator

+ + + +
+

YES if the mapping is an operator action that requires a motion component.

+
+ + +
- (BOOL)isOperator
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ +

needsArgument

+ + + +
+

YES if the mapping is an editor action that needs a character argument, like the vi f command.

+
+ + +
- (BOOL)needsArgument
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMap.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViMark.html b/doc/api/Classes/ViMark.html new file mode 100644 index 00000000..70b17022 --- /dev/null +++ b/doc/api/Classes/ViMark.html @@ -0,0 +1,340 @@ + + + + + ViMark Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViMark.h
+ + + + +
+ +

Overview

+

A marked location.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

column

+ + + +
+

The column of the mark.

+
+ + +
@property (nonatomic, readonly) NSUInteger column
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMark.h
+
+ + +
+ +
+ +

line

+ + + +
+

The line number of the mark.

+
+ + +
@property (nonatomic, readonly) NSUInteger line
+ + + + + + + + + + + + + + +
+

Declared In

+ ViMark.h
+
+ + +
+ +
+ + + + + + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViParser.html b/doc/api/Classes/ViParser.html new file mode 100644 index 00000000..c0a47ef0 --- /dev/null +++ b/doc/api/Classes/ViParser.html @@ -0,0 +1,523 @@ + + + + + ViParser Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViParser.h
+ + + + +
+ +

Overview

+

A parser for vi commands.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

initWithDefaultMap:

+ + + +
+

Initialize a new key parser.

+
+ + +
- (ViParser *)initWithDefaultMap:(ViMap *)aMap
+ + +
+

Parameters

+ +
+
aMap
+

The default map to use when mapping keys.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViParser.h
+
+ + +
+ +
+ +

keyString

+ + + +
+

The current keys being parsed, or the empty string if not +partial keys received.

+
+ + +
- (NSString *)keyString
+ + + + +
+

Return Value

+

The current keys being parsed, or the empty string if not +partial keys received.

+
+ + + + + + + + + + + +
+

Declared In

+ ViParser.h
+
+ + +
+ +
+ +

partial

+ + + +
+

YES if there are partial keys received.

+
+ + +
- (BOOL)partial
+ + + + +
+

Return Value

+

YES if there are partial keys received.

+
+ + + + + + + + + + + +
+

Declared In

+ ViParser.h
+
+ + +
+ +
+ +

reset

+ + + +
+

Reset the parser.

+
+ + +
- (void)reset
+ + + + + + + + +
+

Discussion

+

Parser state is reset and any partial keys are discarded. The key +map is reset to the default map defined when the parser was created.

+
+ + + + + + + +
+

Declared In

+ ViParser.h
+
+ + +
+ +
+ +

setMap:

+ + + +
+

Change the current key map.

+
+ + +
- (void)setMap:(ViMap *)aMap
+ + +
+

Parameters

+ +
+
aMap
+

A new key map that should be used to parse following keys.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViParser.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViPreferencePane.html b/doc/api/Classes/ViPreferencePane.html new file mode 100644 index 00000000..58eb8595 --- /dev/null +++ b/doc/api/Classes/ViPreferencePane.html @@ -0,0 +1,481 @@ + + + + + ViPreferencePane Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSObject
Conforms toViPreferencePane
Declared inViPreferencePane.h
+ + + + +
+ +

Overview

+

Base class for preference panes.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

icon

+ + + +
+

The icon of the preference pane.

+
+ + +
@property (nonatomic, readonly) NSImage *icon
+ + + + +
+

Return Value

+

The icon of the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

name

+ + + +
+

The name of the preference pane.

+
+ + +
@property (nonatomic, readonly) NSString *name
+ + + + +
+

Return Value

+

The name of the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

view

+ + + +
+

The view to display in the preference pane.

+
+ + +
@property (nonatomic, readonly) NSView *view
+ + + + +
+

Return Value

+

The view to display in the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

initWithNib:name:icon:

+ + + +
+

Initialize a preference pane.

+
+ + +
- (id)initWithNib:(NSNib *)nib name:(NSString *)aName icon:(NSImage *)anIcon
+ + +
+

Parameters

+ +
+
nib
+

A Nib object. The Nib will be instantiated with the receiver as owner.

+
+ +
+
aName
+

The name of the preference pane.

+
+ +
+
anIcon
+

The icon of the preference pane.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViPreferencePane.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViPreferencesController.html b/doc/api/Classes/ViPreferencesController.html new file mode 100644 index 00000000..ff4d6bd6 --- /dev/null +++ b/doc/api/Classes/ViPreferencesController.html @@ -0,0 +1,472 @@ + + + + + ViPreferencesController Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSWindowController
Conforms toNSToolbarDelegate
Declared inViPreferencesController.h
+ + + + +
+ +

Overview

+

The preferences controller manages the preferences window and allows +registering new preference panes.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

sharedPreferences

+ + + +
+

The globally shared preferences controller.

+
+ + +
+ (ViPreferencesController *)sharedPreferences
+ + + + +
+

Return Value

+

The globally shared preferences controller.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

registerPane:

+ + + +
+

Register a new preference pane.

+
+ + +
- (void)registerPane:(id<ViPreferencePane>)pane
+ + +
+

Parameters

+ +
+
pane
+

The preference pane to add.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

show

+ + + +
+

Show the preferences window.

+
+ + +
- (void)show
+ + + + + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

showItem:

+ + + +
+

Show the preferences window and switch to a preference pane.

+
+ + +
- (void)showItem:(NSString *)name
+ + +
+

Parameters

+ +
+
name
+

The name of the preference pane.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViRegisterManager.html b/doc/api/Classes/ViRegisterManager.html new file mode 100644 index 00000000..77249edb --- /dev/null +++ b/doc/api/Classes/ViRegisterManager.html @@ -0,0 +1,495 @@ + + + + + ViRegisterManager Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViRegisterManager.h
+ + + + +
+ +

Overview

+

Register manager

+ +

The register manager handles the content of registers.

+ +

There are a number of special registers:

+ +
    +
  • " — The unnamed register. This is the default register.
  • +
  • + or * — The Mac OS clipboard.
  • +
  • % — The URL of the current document.
  • +
  • # — The URL of the alternate document.
  • +
  • / — The last search term.
  • +
  • : — The last entered ex command.
  • +
  • _ (underscore) — The null register; anything stored in this register is discarded.
  • +
+ +
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

sharedManager

+ + + +
+

Returns the global shared register manager.

+
+ + +
+ (id)sharedManager
+ + + + + + + + + + + + + + +
+

Declared In

+ ViRegisterManager.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

contentOfRegister:

+ + + +
+

Returns the global shared register manager.

+
+ + +
- (NSString *)contentOfRegister:(unichar)regName
+ + +
+

Parameters

+ +
+
regName
+

The name of the register.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViRegisterManager.h
+
+ + +
+ +
+ +

nameOfRegister:

+ + + +
+

Returns a description of a register.

+
+ + +
- (NSString *)nameOfRegister:(unichar)regName
+ + +
+

Parameters

+ +
+
regName
+

The name of the register.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViRegisterManager.h
+
+ + +
+ +
+ +

setContent:ofRegister:

+ + + +
+

Set the content string of a register.

+
+ + +
- (void)setContent:(NSString *)content ofRegister:(unichar)regName
+ + +
+

Parameters

+ +
+
content
+

The content of the register being set.

+
+ +
+
regName
+

The name of the register.

+ +

Uppercase register A to Z causes the content to be appended.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViRegisterManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViScope.html b/doc/api/Classes/ViScope.html new file mode 100644 index 00000000..f2f56e5a --- /dev/null +++ b/doc/api/Classes/ViScope.html @@ -0,0 +1,436 @@ + + + + + ViScope Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSObject
Conforms toNSCopying
Declared inViScope.h
+ + + + +
+ +

Overview

+

A scope covering a range of characters.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ +
    +
  • + +   range +

    The range of characters this scope covers.

    +
    + property + +
  • +
+ + + +

Matching scope selectors

+ +
    +
  • + + – match: +

    Match against a scope selector.

    +
    + + +
  • + + – bestMatch: +

    Returns the best matching scope selector.

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

range

+ + + +
+

The range of characters this scope covers.

+
+ + +
@property (nonatomic, readwrite) NSRange range
+ + + + + + + + + + + + + + +
+

Declared In

+ ViScope.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

bestMatch:

+ + + +
+

Returns the best matching scope selector.

+
+ + +
- (NSString *)bestMatch:(NSArray *)scopeSelectors
+ + +
+

Parameters

+ +
+
scopeSelectors
+

An array of scope selectors to match.

+
+ +
+ + + +
+

Return Value

+

The scope selector with the highest matching rank.

+
+ + + + + + + + + + + +
+

Declared In

+ ViScope.h
+
+ + +
+ +
+ +

match:

+ + + +
+

Match against a scope selector.

+
+ + +
- (u_int64_t)match:(NSString *)scopeSelector
+ + +
+

Parameters

+ +
+
scopeSelector
+

The scope selector.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViScope.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViTabController.html b/doc/api/Classes/ViTabController.html new file mode 100644 index 00000000..e889ee8c --- /dev/null +++ b/doc/api/Classes/ViTabController.html @@ -0,0 +1,458 @@ + + + + + ViTabController Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inViTabController.h
+ + + + +
+ +

Overview

+

A controller of a tab.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ + + + + +

Splitting views

+ + + +
+ + + + + +
+ +

Properties

+ +
+ +

window

+ + + +
+

The window this tab belongs to.

+
+ + +
@property (nonatomic, readonly) NSWindow *window
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

splitView:vertically:

+ + + +
+

Splits a view and displays a clone of the view.

+
+ + +
- (id<ViViewController>)splitView:(id<ViViewController>)viewController vertically:(BOOL)isVertical
+ + +
+

Parameters

+ +
+
viewController
+

The view that should be split.

+
+ +
+
isVertical
+

YES if the split is vertical, NO if horizontal.

+
+ +
+ + + +
+

Return Value

+

The new view controller or nil on failure.

+
+ + + + + +
+

Discussion

+

The view controller must have an associated document that can clone views.

+
+ + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

splitView:withView:vertically:

+ + + +
+

Splits a view and displays another view.

+
+ + +
- (id<ViViewController>)splitView:(id<ViViewController>)viewController withView:(id<ViViewController>)newViewController vertically:(BOOL)isVertical
+ + +
+

Parameters

+ +
+
viewController
+

The view that should be split.

+
+ +
+
newViewController
+

The view that should be displayed.

+
+ +
+
isVertical
+

YES if the split is vertical, NO if horizontal.

+
+ +
+ + + +
+

Return Value

+

newViewController or nil on failure.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViTextStorage.html b/doc/api/Classes/ViTextStorage.html new file mode 100644 index 00000000..7cd5cb9e --- /dev/null +++ b/doc/api/Classes/ViTextStorage.html @@ -0,0 +1,793 @@ + + + + + ViTextStorage Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSTextStorage
Declared inViTextStorage.h
+ + + + +
+ +

Overview

+

Text storage.

+ +

Line numbers are 1-based. Columns are zero-based.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

columnAtLocation:

+ + + +
+

Find the column of a location.

+
+ + +
- (NSUInteger)columnAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

The location to check for column.

+
+ +
+ + + +
+

Return Value

+

The logical column from the start of the line.

+
+ + + + + +
+

Discussion

+

This method always uses the default tab size when determining the column.

+
+ + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

firstNonBlankForLineAtLocation:

+ + + +
+

Find the first non-blank character on a line.

+
+ + +
- (NSUInteger)firstNonBlankForLineAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

A location on the line to check.

+
+ +
+ + + +
+

Return Value

+

The location of the first non-blank character on the given line. +If the line is blank (no non-blanks found), then the location of the end of the line is returned. +Returns NSNotFound if aLocation is beyond the end of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

isBlankLineAtLocation:

+ + + +
+

Determine if a line is blank.

+
+ + +
- (BOOL)isBlankLineAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

A location on the line to check.

+
+ +
+ + + +
+

Return Value

+

YES if the line at the given location is blank.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

lineCount

+ + + +
+

Return the number of lines.

+
+ + +
- (NSUInteger)lineCount
+ + + + +
+

Return Value

+

The number of lines, or zero if the document is empty.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

lineNumberAtLocation:

+ + + +
+

Find the line number of a location.

+
+ + +
- (NSUInteger)lineNumberAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

The location of the line number to return.

+
+ +
+ + + +
+

Return Value

+

The line number at a given location. Returns 0 if the +document is empty.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

locationForStartOfLine:

+ + + +
+

Find the start location of a line.

+
+ + +
- (NSInteger)locationForStartOfLine:(NSUInteger)aLineNumber
+ + +
+

Parameters

+ +
+
aLineNumber
+

The line number to lookup.

+
+ +
+ + + +
+

Return Value

+

The location for the start of the given line.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

rangeOfLeadingWhitespaceForLineAtLocation:

+ + + +
+

Find the range of leading whitespace on a line.

+
+ + +
- (NSRange)rangeOfLeadingWhitespaceForLineAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

A location on the line to check.

+
+ +
+ + + +
+

Return Value

+

A range of leading whitespace for the given line. +Returns (NSNotFound, 0) if aLocation is beyond the end of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

rangeOfLine:

+ + + +
+

Return the range of a line.

+
+ + +
- (NSRange)rangeOfLine:(NSUInteger)lineNumber
+ + +
+

Parameters

+ +
+
lineNumber
+

The line number to return the range for.

+
+ +
+ + + +
+

Return Value

+

The range of the line, or (NSNotFound, 0) if the +lineNumber is invalid.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ +

rangeOfLineAtLocation:

+ + + +
+

Return the range of a line.

+
+ + +
- (NSRange)rangeOfLineAtLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aLocation
+

The location of a character on the line to return the range for.

+
+ +
+ + + +
+

Return Value

+

The range of the line, or (NSNotFound, 0) if the +location is invalid.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextStorage.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViTextView.html b/doc/api/Classes/ViTextView.html new file mode 100644 index 00000000..c91e777d --- /dev/null +++ b/doc/api/Classes/ViTextView.html @@ -0,0 +1,2312 @@ + + + + + ViTextView Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSTextView
Conforms toViCompletionDelegate
ViKeyManagerTarget
ViSnippetDelegate
Declared inViTextView.h
+ + + + +
+ +

Overview

+

A text edit view.

+
+ + + + + +
+ +

Tasks

+ + + +

Other Methods

+ + + + + +

Caret handling

+ + + + + +

Setting marks

+ + + + + +

Manipulating text

+ + + + + +

Working with registers

+ + + + + +

Popup menus

+ + + + + +

Working with TextMate Bundles

+ + + + + +

snippets Methods

+ + + +
+ + + + + +
+ +

Properties

+ +
+ +

document

+ + + +
+

Associated document.

+
+ + +
@property (nonatomic, readonly) ViDocument *document
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

keyManager

+ + + +
+

Associated key manager.

+
+ + +
@property (nonatomic, readwrite, assign) ViKeyManager *keyManager
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

mode

+ + + +
+

Vi mode (insert, normal or visual).

+
+ + +
@property (nonatomic, readonly) ViMode mode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

visual_line_mode

+ + + +
+

YES if in visual line mode. +Only valid if in visual mode.

+
+ + +
@property (nonatomic, readwrite) BOOL visual_line_mode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

caret

+ + + +
+

The location of the caret.

+
+ + +
- (NSUInteger)caret
+ + + + +
+

Return Value

+

The location of the caret.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

characterAtIndex:

+ + + +
+

Get the character at a location.

+
+ + +
- (unichar)characterAtIndex:(NSUInteger)location
+ + +
+

Parameters

+ +
+
location
+

The location to check.

+
+ +
+ + + +
+

Return Value

+

The character at the given location, or 0 if location is invalid.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

currentCharacter

+ + + +
+

The character under the caret.

+
+ + +
- (unichar)currentCharacter
+ + + + +
+

Return Value

+

The character under the caret.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

currentColumn

+ + + +
+

The current column.

+
+ + +
- (NSUInteger)currentColumn
+ + + + +
+

Return Value

+

The current column.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

currentLine

+ + + +
+

The current line number.

+
+ + +
- (NSUInteger)currentLine
+ + + + +
+

Return Value

+

The current line number.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

currentScreenColumn

+ + + +
+

The current screen column. This may be different from currentColumn if line wrapping is in effect.

+
+ + +
- (NSUInteger)currentScreenColumn
+ + + + +
+

Return Value

+

The current screen column. This may be different from currentColumn if line wrapping is in effect.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

cutToRegister:range:

+ + + +
+

Cut text to a register.

+
+ + +
- (void)cutToRegister:(unichar)regName range:(NSRange)cutRange
+ + +
+

Parameters

+ +
+
regName
+

The name of the register to cut to.

+
+ +
+
cutRange
+

The range of text to cut.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

deleteRange:

+ + + +
+

Delete a range of text.

+
+ + +
- (void)deleteRange:(NSRange)aRange
+ + +
+

Parameters

+ +
+
aRange
+

The range to delete.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

environment

+ + + +
+

Bundle environment variables.

+
+ + +
- (NSDictionary *)environment
+ + + + +
+

Return Value

+

Bundle environment variables.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

gotoColumn:fromLocation:

+ + + +
+

Go to a specific column.

+
+ + +
- (void)gotoColumn:(NSUInteger)column fromLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
column
+

The column to go to. Zero-based.

+
+ +
+
aLocation
+

A location on the line.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

gotoLine:column:

+ + + +
+

Go to a specific line and column.

+
+ + +
- (BOOL)gotoLine:(NSUInteger)line column:(NSUInteger)column
+ + +
+

Parameters

+ +
+
line
+

The line number to go to. One-based.

+
+ +
+
column
+

The column to go to. Zero-based.

+
+ +
+ + + +
+

Return Value

+

YES if the position was valid.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

input:

+ + + +
+

Input a string of keys as a macro.

+
+ + +
- (BOOL)input:(NSString *)inputString
+ + +
+

Parameters

+ +
+
inputString
+

A key sequence, can include special keys, see ViMap.

+
+ +
+ + + +
+

Return Value

+

YES if the macro evaluated successfully.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertNewlineAtLocation:indentForward:

+ + + +
+

Insert newline and indent.

+
+ + +
- (NSUInteger)insertNewlineAtLocation:(NSUInteger)aLocation indentForward:(BOOL)indentForward
+ + +
+

Parameters

+ +
+
aLocation
+

The location of the newline character to insert.

+
+ +
+
indentForward
+

YES if the line following the newline should be indented. +NO if the line preceding the newline should be indented.

+
+ +
+ + + +
+

Return Value

+

Returns aLocation adjusted for automatic indentation.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertSnippet:

+ + + +
+

Insert a snippet at the current location.

+
+ + +
- (ViSnippet *)insertSnippet:(NSString *)snippetString
+ + +
+

Parameters

+ +
+
snippetString
+

The snippet to insert.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertSnippet:atLocation:

+ + + +
+

Insert a snippet at a given location.

+
+ + +
- (ViSnippet *)insertSnippet:(NSString *)snippetString atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
snippetString
+

The snippet to insert.

+
+ +
+
aLocation
+

The location to insert the snippet. Zero-based.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertSnippet:inRange:

+ + + +
+

Insert a snippet, replacing the trigger word.

+
+ + +
- (ViSnippet *)insertSnippet:(NSString *)snippetString inRange:(NSRange)aRange
+ + +
+

Parameters

+ +
+
snippetString
+

The snippet to insert.

+
+ +
+
aRange
+

The range of the trigger word to replace.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertString:

+ + + +
+

Insert a string at the current location.

+
+ + +
- (void)insertString:(NSString *)aString
+ + +
+

Parameters

+ +
+
aString
+

The string to insert.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

insertString:atLocation:

+ + + +
+

Insert a string at a location.

+
+ + +
- (void)insertString:(NSString *)aString atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
aString
+

The string to insert.

+
+ +
+
aLocation
+

The location where the string will be inserted. Zero-based.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

line

+ + + +
+

The content of the current line.

+
+ + +
- (NSString *)line
+ + + + +
+

Return Value

+

The content of the current line.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

markNamed:

+ + + +
+

Lookup a marked location.

+
+ + +
- (ViMark *)markNamed:(unichar)markName
+ + +
+

Parameters

+ +
+
markName
+

The name of the mark.

+
+ +
+ + + +
+

Return Value

+

The named mark, or nil if not set.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

popUpContextMenu:

+ + + +
+

Show a popup menu at the carets location.

+
+ + +
- (void)popUpContextMenu:(NSMenu *)menu
+ + +
+

Parameters

+ +
+
menu
+

The menu to display.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

preference:

+ + + +
+

A bundle preference at the current location.

+
+ + +
- (id)preference:(NSString *)name
+ + +
+

Parameters

+ +
+
name
+

The name of the Bundle Preference (eg, shellVariables)

+
+ +
+ + + +
+

Return Value

+

A bundle preference at the current location.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

preference:atLocation:

+ + + +
+

A bundle preference at a given location.

+
+ + +
- (id)preference:(NSString *)name atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
name
+

The name of the Bundle Preference (eg, shellVariables)

+
+ +
+
aLocation
+

The location where the preference should be valid.

+
+ +
+ + + +
+

Return Value

+

A bundle preference at a given location.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

replaceRange:withString:

+ + + +
+

Replace a range of text with a string.

+
+ + +
- (void)replaceRange:(NSRange)aRange withString:(NSString *)aString
+ + +
+

Parameters

+ +
+
aRange
+

The range to replace.

+
+ +
+
aString
+

The replacement string.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

scrollToCaret

+ + + +
+

Scroll the view to the caret.

+
+ + +
- (void)scrollToCaret
+ + + + + + + + +
+

Discussion

+

Makes sure the caret is visible.

+
+ + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

setCaret:

+ + + +
+

Set the location of the caret.

+
+ + +
- (void)setCaret:(NSUInteger)location
+ + +
+

Parameters

+ +
+
location
+

The location of the caret. Zero-based.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

setInsertMode

+ + + +
+

Set insert mode.

+
+ + +
- (void)setInsertMode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

setMark:atLocation:

+ + + +
+

Set a mark.

+
+ + +
- (void)setMark:(unichar)name atLocation:(NSUInteger)aLocation
+ + +
+

Parameters

+ +
+
name
+

The name of the mark.

+
+ +
+
aLocation
+

The location to mark.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

setNormalMode

+ + + +
+

Set normal mode.

+
+ + +
- (void)setNormalMode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

setVisualMode

+ + + +
+

Set visual mode.

+
+ + +
- (void)setVisualMode
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

textStorage

+ + + +
+

The associated ViTextStorage object.

+
+ + +
- (ViTextStorage *)textStorage
+ + + + +
+

Return Value

+

The associated ViTextStorage object.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ +

yankToRegister:range:

+ + + +
+

Copying text to a register.

+
+ + +
- (void)yankToRegister:(unichar)regName range:(NSRange)yankRange
+ + +
+

Parameters

+ +
+
regName
+

The name of the register to copy to.

+
+ +
+
yankRange
+

The range of text to copy.

+
+ +
+ + + + + + + + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+ ViTextView.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Classes/ViWindowController.html b/doc/api/Classes/ViWindowController.html new file mode 100644 index 00000000..d59768c7 --- /dev/null +++ b/doc/api/Classes/ViWindowController.html @@ -0,0 +1,731 @@ + + + + + ViWindowController Class Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSWindowController
Conforms toNSTextFieldDelegate
NSToolbarDelegate
NSWindowDelegate
ViDeferredDelegate
ViJumpListDelegate
Declared inViWindowController.h
+ + + + +
+ +

Overview

+

A ViWindowController object manages a document window.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

currentWindowController

+ + + +
+

The currently active window controller.

+
+ + +
+ (ViWindowController *)currentWindowController
+ + + + +
+

Return Value

+

The currently active window controller.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

closeDocument:andWindow:

+ + + +
+

Close a document, and optionally the window.

+
+ + +
- (void)closeDocument:(ViDocument *)document andWindow:(BOOL)canCloseWindow
+ + +
+

Parameters

+ +
+
document
+

The document to close.

+
+ +
+
canCloseWindow
+

YES if the window should be closed if there are no more documents in the window.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

currentDocument

+ + + +
+

The currently focused document, or nil if no document is focused.

+
+ + +
- (ViDocument *)currentDocument
+ + + + +
+

Return Value

+

The currently focused document, or nil if no document is focused.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

currentView

+ + + +
+

The currently focused view.

+
+ + +
- (id<ViViewController>)currentView
+ + + + +
+

Return Value

+

The currently focused view.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

documents

+ + + +
+

The documents open in the window.

+
+ + +
- (NSArray *)documents
+ + + + +
+

Return Value

+

The documents open in the window.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

gotoURL:

+ + + +
+

Open a document.

+
+ + +
- (BOOL)gotoURL:(NSURL *)url
+ + +
+

Parameters

+ +
+
url
+

The URL of the document to open. The document may already be opened.

+
+ +
+ + + +
+

Return Value

+

YES if the document could be opened.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

gotoURL:line:column:

+ + + +
+

Open a document and go to a specific point in the file.

+
+ + +
- (BOOL)gotoURL:(NSURL *)url line:(NSUInteger)line column:(NSUInteger)column
+ + +
+

Parameters

+ +
+
url
+

The URL of the document to open. The document may already be opened.

+
+ +
+
line
+

The line number to jump to, or 0 to not jump to any line.

+
+ +
+
column
+

The column to jump to.

+
+ +
+ + + +
+

Return Value

+

YES if the document could be opened.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ +

splitVertically:andOpen:orSwitchToDocument:allowReusedView:

+ + + +
+

Split the current view and display another document.

+
+ + +
- (id<ViViewController>)splitVertically:(BOOL)isVertical andOpen:(id)filenameOrURL orSwitchToDocument:(ViDocument *)doc allowReusedView:(BOOL)allowReusedView
+ + +
+

Parameters

+ +
+
isVertical
+

YES to split vertically, NO for a horizontal split.

+
+ +
+
filenameOrURL
+

A path (as an NSString) or a URL pointing to a document to open. The document may already be open.

+
+ +
+
doc
+

An already open document that should be displayed in the split view.

+
+ +
+
allowReusedView
+

YES to focus an already visible view for the given document. NO to always create a new split view.

+
+ +
+ + + +
+

Return Value

+

The new split view.

+
+ + + + + + + + + + + +
+

Declared In

+ ViWindowController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Protocols/ViKeyManagerTarget.html b/doc/api/Protocols/ViKeyManagerTarget.html new file mode 100644 index 00000000..87435d32 --- /dev/null +++ b/doc/api/Protocols/ViKeyManagerTarget.html @@ -0,0 +1,516 @@ + + + + + ViKeyManagerTarget Protocol Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inViKeyManager.h
+ + + + +
+ +

Overview

+

Protocol defining methods for the target of a key manager.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

keyManager:evaluateCommand:

+ + + +
+

Evaluate a generated command.

+
+ + +
- (BOOL)keyManager:(ViKeyManager *)keyManager evaluateCommand:(ViCommand *)command
+ + +
+

Parameters

+ +
+
keyManager
+

The key manager that handled the event.

+
+ +
+
command
+

The generated ViCommand.

+
+ +
+ + + +
+

Return Value

+

YES if the command succeded, otherwise NO.

+
+ + + + + +
+

Discussion

+

Only normal editor actions are passed to this method. Macros and Nu +expressions are evaluated automatically by the key manager.

+
+ + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

keyManager:partialKeyString:

+ + + +
+

Notify about partial keys.

+
+ + +
- (void)keyManager:(ViKeyManager *)keyManager partialKeyString:(NSString *)keyString
+ + +
+

Parameters

+ +
+
keyManager
+

The key manager handling the event.

+
+ +
+
keyString
+

A string of partial keys.

+
+ +
+ + + + + + + +
+

Discussion

+

This method can be used to present partial vi commands.

+
+ + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

keyManager:presentError:

+ + + +
+

Present errors from key parsing.

+
+ + +
- (void)keyManager:(ViKeyManager *)aKeyManager presentError:(NSError *)error
+ + +
+

Parameters

+ +
+
aKeyManager
+

The key manager handling the event.

+
+ +
+
error
+

An error from the vi key parser or map.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ +

keyManager:shouldParseKey:inScope:

+ + + +
+

Intercept keys before parsing.

+
+ + +
- (NSNumber *)keyManager:(ViKeyManager *)aKeyManager shouldParseKey:(NSNumber *)keyCode inScope:(ViScope *)scope
+ + +
+

Parameters

+ +
+
aKeyManager
+

The key manager handling the event.

+
+ +
+
keyCode
+

The key code that is being parsed.

+
+ +
+
scope
+

The active scope.

+
+ +
+ + + +
+

Return Value

+

A NSNumber with a boolean YES if the key should be parsed, otherwise NO.

+
+ + + + + + + + + + + +
+

Declared In

+ ViKeyManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Protocols/ViPreferencePane.html b/doc/api/Protocols/ViPreferencePane.html new file mode 100644 index 00000000..7034dc95 --- /dev/null +++ b/doc/api/Protocols/ViPreferencePane.html @@ -0,0 +1,400 @@ + + + + + ViPreferencePane Protocol Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inViPreferencesController.h
+ + + + +
+ +

Overview

+

Required methods for a preference pane.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + + – name +

    The name of the preference pane.

    +
    + + required method +
  • + + – icon +

    The icon of the preference pane.

    +
    + + required method +
  • + + – view +

    The view to display in the preference pane.

    +
    + + required method +
  • +
+ +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

icon

+ + + +
+

The icon of the preference pane.

+
+ + +
- (NSImage *)icon
+ + + + +
+

Return Value

+

The icon of the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

name

+ + + +
+

The name of the preference pane.

+
+ + +
- (NSString *)name
+ + + + +
+

Return Value

+

The name of the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ +

view

+ + + +
+

The view to display in the preference pane.

+
+ + +
- (NSView *)view
+ + + + +
+

Return Value

+

The view to display in the preference pane.

+
+ + + + + + + + + + + +
+

Declared In

+ ViPreferencesController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Protocols/ViViewController.html b/doc/api/Protocols/ViViewController.html new file mode 100644 index 00000000..b62487ee --- /dev/null +++ b/doc/api/Protocols/ViViewController.html @@ -0,0 +1,488 @@ + + + + + ViViewController Protocol Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inViTabController.h
+ + + + +
+ +

Overview

+

Controller object wrapping a split view.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + +   view +

    The NSView that should be displayed in the split.

    +
    + property + required method +
  • + +   innerView +

    The inner NSView will be made key when the view gets focus.

    +
    + property + required method +
  • + +   tabController +

    The containing tab controller.

    +
    + property + required method +
  • + + – title +

    The title of the split view.

    +
    + + required method +
  • + + – document +

    The document that is being displayed, if available.

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

innerView

+ + + +
+

The inner NSView will be made key when the view gets focus.

+
+ + +
@property (nonatomic, readonly) NSView *innerView
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

tabController

+ + + +
+

The containing tab controller.

+
+ + +
@property (nonatomic, readwrite, assign) ViTabController *tabController
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

view

+ + + +
+

The NSView that should be displayed in the split.

+
+ + +
@property (nonatomic, readonly) NSView *view
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

document

+ + + +
+

The document that is being displayed, if available.

+
+ + +
- (id<ViViewDocument>)document
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

title

+ + + +
+

The title of the split view.

+
+ + +
- (NSString *)title
+ + + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/Protocols/ViViewDocument.html b/doc/api/Protocols/ViViewDocument.html new file mode 100644 index 00000000..979c4bf6 --- /dev/null +++ b/doc/api/Protocols/ViViewDocument.html @@ -0,0 +1,575 @@ + + + + + ViViewDocument Protocol Reference + + + + + + + +
+
+

Vico API

+ +
+ + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inViTabController.h
+ + + + +
+ +

Overview

+

A document which can have multiple views.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + + – addView: +

    Add a view to the set of visible views.

    +
    + + required method +
  • + + – removeView: +

    Remove a view from the set of visible views.

    +
    + + required method +
  • + + – makeView +

    Create a new view of the document.

    +
    + + required method +
  • + + – cloneView: +

    Create a new view of the document by cloning an existing view.

    +
    + + required method +
  • + + – views +

    The set of visible views of the document.

    +
    + + required method +
  • + + – isDocumentEdited +

    YES if the document is modified, otherwise NO.

    +
    + + required method +
  • +
+ +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

addView:

+ + + +
+

Add a view to the set of visible views.

+
+ + +
- (void)addView:(id<ViViewController>)viewController
+ + +
+

Parameters

+ +
+
viewController
+

The view to add.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

cloneView:

+ + + +
+

Create a new view of the document by cloning an existing view.

+
+ + +
- (id<ViViewController>)cloneView:(id<ViViewController>)oldView
+ + +
+

Parameters

+ +
+
oldView
+

The view that is being cloned.

+
+ +
+ + + +
+

Return Value

+

The newly created view of the document.

+
+ + + + + +
+

Discussion

+

The new view is expected to inherit properties from the cloned view, such as caret location.

+
+ + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

isDocumentEdited

+ + + +
+

YES if the document is modified, otherwise NO.

+
+ + +
- (BOOL)isDocumentEdited
+ + + + +
+

Return Value

+

YES if the document is modified, otherwise NO.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

makeView

+ + + +
+

Create a new view of the document.

+
+ + +
- (id<ViViewController>)makeView
+ + + + +
+

Return Value

+

The newly created view of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

removeView:

+ + + +
+

Remove a view from the set of visible views.

+
+ + +
- (void)removeView:(id<ViViewController>)viewController
+ + +
+

Parameters

+ +
+
viewController
+

The view to remove.

+
+ +
+ + + + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ +

views

+ + + +
+

The set of visible views of the document.

+
+ + +
- (NSSet *)views
+ + + + +
+

Return Value

+

The set of visible views of the document.

+
+ + + + + + + + + + + +
+

Declared In

+ ViTabController.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/doc/api/css/styles.css b/doc/api/css/styles.css new file mode 100644 index 00000000..cd00d3aa --- /dev/null +++ b/doc/api/css/styles.css @@ -0,0 +1,535 @@ +body { + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + font-size: 13px; +} + +code { + font-family: Courier, Consolas, monospace; + font-size: 13px; + color: #666; +} + +pre { + font-family: Courier, Consolas, monospace; + font-size: 13px; + line-height: 18px; + tab-interval: 0.5em; + border: 1px solid #C7CFD5; + background-color: #F1F5F9; + color: #666; + padding: 0.3em 1em; +} + +ul { + list-style-type: square; +} + +li { + margin-bottom: 10px; +} + +a { + text-decoration: none; + color: #36C; +} + +a:hover { + text-decoration: underline; + color: #36C; +} + +h2 { + border-bottom: 1px solid #8391A8; + color: #3C4C6C; + font-size: 187%; + font-weight: normal; + margin-top: 1.75em; + padding-bottom: 2px; +} + +/* @group Common page elements */ + +#top_header { + height: 91px; + left: 0; + min-width: 598px; + position: absolute; + right: 0; + top: 0; + z-index: 900; +} + +#footer { + clear: both; + padding-top: 20px; + text-align: center; +} + +#contents, #overview_contents { + border-top: 1px solid #2B334F; + position: absolute; + top: 91px; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + padding-left: 2em; + padding-right: 2em; + padding-top: 1em; + min-width: 550px; +} + +#contents.isShowingTOC { + left: 230px; + min-width: 320px; +} + +.copyright { + font-size: 12px; +} + +.generator { + font-size: 11px; +} + +.main-navigation ul li { + display: inline; + margin-left: 15px; + list-style: none; +} + +.navigation-top { + clear: both; + float: right; +} + +.navigation-bottom { + clear: both; + float: right; + margin-top: 20px; + margin-bottom: -10px; +} + +.open > .disclosure { + background-image: url("../img/disclosure_open.png"); +} + +.disclosure { + background: url("../img/disclosure.png") no-repeat scroll 0 0; +} + +.disclosure, .nodisclosure { + display: inline-block; + height: 8px; + margin-right: 5px; + position: relative; + width: 9px; +} + +/* @end */ + +/* @group Header */ + +#top_header #library { + background: url("../img/library_background.png") repeat-x 0 0 #485E78; + background-color: #ccc; + height: 35px; + font-size: 115%; +} + +#top_header #library #libraryTitle { + color: #FFFFFF; + margin-left: 15px; + text-shadow: 0 -1px 0 #485E78; + top: 8px; + position: absolute; +} + +#top_header #library #developerHome { + color: #92979E; + right: 15px; + top: 8px; + position: absolute; +} + +#top_header #library a:hover { + text-decoration: none; +} + +#top_header #title { + background: url("../img/title_background.png") repeat-x 0 0 #8A98A9; + border-bottom: 1px solid #B6B6B6; + height: 25px; + overflow: hidden; +} + +#top_header h1 { + font-size: 115%; + font-weight: normal; + margin: 0; + padding: 3px 0 2px; + text-align: center; + text-shadow: 0 1px 0 #D5D5D5; + white-space: nowrap; +} + +#headerButtons { + background-color: #D8D8D8; + background-image: url("../img/button_bar_background.png"); + border-bottom: 1px solid #EDEDED; + border-top: 1px solid #2B334F; + font-size: 8pt; + height: 28px; + left: 0; + list-style: none outside none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + right: 0; + top: 61px; +} + +#headerButtons li { + background-repeat: no-repeat; + display: inline; + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +#toc_button button { + border-color: #ACACAC; + border-style: none solid none none; + border-width: 0 1px 0 0; + height: 28px; + margin: 0; + padding-left: 30px; + text-align: left; + width: 230px; +} + +li#jumpto_button { + left: 230px; + margin-left: 0; + position: absolute; +} + +li#jumpto_button select { + height: 22px; + margin: 5px 2px 0 10px; + max-width: 300px; +} + +/* @end */ + +/* @group Table of contents */ + +#tocContainer.isShowingTOC { + border-right: 1px solid #ACACAC; + display: block; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} + +#tocContainer { + background-color: #E4EBF7; + border-top: 1px solid #2B334F; + bottom: 0; + display: none; + left: 0; + overflow: hidden; + position: absolute; + top: 91px; + width: 229px; +} + +#tocContainer > ul#toc { + font-size: 11px; + margin: 0; + padding: 12px 0 18px; + width: 209px; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +#tocContainer > ul#toc > li { + margin: 0; + padding: 0 0 7px 30px; + text-indent: -15px; +} + +#tocContainer > ul#toc > li > .sectionName a { + color: #000000; + font-weight: bold; +} + +#tocContainer > ul#toc > li > .sectionName a:hover { + text-decoration: none; +} + +#tocContainer > ul#toc li.children > ul { + display: none; + height: 0; +} + +#tocContainer > ul#toc > li > ul { + margin: 0; + padding: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + margin-bottom: 0; + padding-left: 15px; +} + +#tocContainer > ul#toc > li ul { + list-style: none; + margin-right: 0; + padding-right: 0; +} + +#tocContainer > ul#toc li.children.open > ul { + display: block; + height: auto; + margin-left: -15px; + padding-left: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + padding-left: 15px; +} + +#tocContainer li ul li { + margin-top: 0.583em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#tocContainer li ul li span.sectionName { + white-space: normal; +} + +#tocContainer > ul#toc > li > ul > li > .sectionName a { + font-weight: bold; +} + +#tocContainer > ul#toc > li > ul a { + color: #4F4F4F; +} + +/* @end */ + +/* @group Index formatting */ + +.index-title { + font-size: 13px; + font-weight: normal; +} + +.index-column { + float: left; + width: 30%; + min-width: 200px; + font-size: 11px; +} + +.index-column ul { + margin: 8px 0 0 0; + padding: 0; + list-style: none; +} + +.index-column ul li { + margin: 0 0 3px 0; + padding: 0; +} + +.hierarchy-column { + min-width: 400px; +} + +.hierarchy-column ul { + margin: 3px 0 0 15px; +} + +.hierarchy-column ul li { + list-style-type: square; +} + +/* @end */ + +/* @group Common formatting elements */ + +.title { + font-weight: normal; + font-size: 215%; + margin-top:0; +} + +.subtitle { + font-weight: normal; + font-size: 180%; + color: #3C4C6C; + border-bottom: 1px solid #5088C5; +} + +.subsubtitle { + font-weight: normal; + font-size: 145%; + height: 0.7em; +} + +.warning { + border: 1px solid #5088C5; + background-color: #F0F3F7; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.bug { + border: 1px solid #000; + background-color: #ffffcc; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.deprecated { + color: #F60425; +} + +/* @end */ + +/* @group Common layout */ + +.section { + margin-top: 3em; +} + +/* @end */ + +/* @group Object specification section */ + +.section-specification { + margin-left: 2.5em; + margin-right: 2.5em; + font-size: 12px; +} + +.section-specification table { + border-top: 1px solid #d6e0e5; +} + +.section-specification td { + vertical-align: top; + border-bottom: 1px solid #d6e0e5; + padding: .6em; +} + +.section-specification .specification-title { + font-weight: bold; +} + +/* @end */ + +/* @group Tasks section */ + +.task-list { + list-style-type: none; + padding-left: 0px; +} + +.task-list li { + margin-bottom: 3px; +} + +.task-item-suffix { + color: #996; + font-size: 12px; + font-style: italic; + margin-left: 0.5em; +} + +span.tooltip span.tooltip { + font-size: 1.0em; + display: none; + padding: 0.3em; + border: 1px solid #aaa; + background-color: #fdfec8; + color: #000; + text-align: left; +} + +span.tooltip:hover span.tooltip { + display: block; + position: absolute; + margin-left: 2em; +} + +/* @end */ + +/* @group Method section */ + +.section-method { + margin-top: 2.3em; +} + +.method-title { + margin-bottom: 1.5em; +} + +.method-subtitle { + margin-top: 0.7em; + margin-bottom: 0.2em; +} + +.method-subsection p { + margin-top: 0.4em; + margin-bottom: 0.8em; +} + +.method-declaration { + margin-top:1.182em; + margin-bottom:.909em; +} + +.method-declaration code { + font:14px Courier, Consolas, monospace; + color:#000; +} + +.declaration { + color: #000; +} + +.argument-def { + margin-top: 0.3em; + margin-bottom: 0.3em; +} + +.argument-def dd { + margin-left: 1.25em; +} + +.see-also-section ul { + list-style-type: none; + padding-left: 0px; + margin-top: 0; +} + +.see-also-section li { + margin-bottom: 3px; +} + +.declared-in-ref { + color: #666; +} + +/* @end */ + diff --git a/doc/api/css/stylesPrint.css b/doc/api/css/stylesPrint.css new file mode 100644 index 00000000..dc54cd2f --- /dev/null +++ b/doc/api/css/stylesPrint.css @@ -0,0 +1,22 @@ + +header { + display: none; +} + +div.main-navigation, div.navigation-top { + display: none; +} + +div#overview_contents, div#contents.isShowingTOC, div#contents { + overflow: visible; + position: relative; + top: 0px; + border: none; + left: 0; +} +#tocContainer.isShowingTOC { + display: none; +} +nav { + display: none; +} \ No newline at end of file diff --git a/doc/api/hierarchy.html b/doc/api/hierarchy.html new file mode 100644 index 00000000..d3a409fb --- /dev/null +++ b/doc/api/hierarchy.html @@ -0,0 +1,163 @@ + + + + + Vico API Hierarchy + + + + + +
+
+

Vico API

+ +
+ + + +
+
+
+ + +
+ +
+

Class Hierarchy

+ + + +
+ + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/doc/api/img/button_bar_background.png b/doc/api/img/button_bar_background.png new file mode 100644 index 00000000..d2cd0d89 Binary files /dev/null and b/doc/api/img/button_bar_background.png differ diff --git a/doc/api/img/disclosure.png b/doc/api/img/disclosure.png new file mode 100644 index 00000000..147198f0 Binary files /dev/null and b/doc/api/img/disclosure.png differ diff --git a/doc/api/img/disclosure_open.png b/doc/api/img/disclosure_open.png new file mode 100644 index 00000000..ea3842bd Binary files /dev/null and b/doc/api/img/disclosure_open.png differ diff --git a/doc/api/img/library_background.png b/doc/api/img/library_background.png new file mode 100644 index 00000000..8fa6d457 Binary files /dev/null and b/doc/api/img/library_background.png differ diff --git a/doc/api/img/title_background.png b/doc/api/img/title_background.png new file mode 100644 index 00000000..9001dac2 Binary files /dev/null and b/doc/api/img/title_background.png differ diff --git a/doc/api/index.html b/doc/api/index.html new file mode 100644 index 00000000..de4fca11 --- /dev/null +++ b/doc/api/index.html @@ -0,0 +1,133 @@ + + + + + Vico API Reference + + + + + +
+
+

Vico API

+ +
+ + + +
+
+
+ + +
+ + + + + + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/doc/css/blog.css b/doc/css/blog.css new file mode 100644 index 00000000..66cb782c --- /dev/null +++ b/doc/css/blog.css @@ -0,0 +1,307 @@ +html, body { height: 100%; } +* { margin: 0; } +body { background-color: white; } +* { font-family: Optima, Palatino, Arial, Helvetica; } +code, textarea, input { font-family: Monaco, times, serif; font-size: smaller; } + +blockquote { + color: #555; + margin-left: 2em; + padding-left: 1em; + padding-right: 2em; + border-left: 3px solid #ccc; + font-style: italic; +} + +kbd, pre { + background-color: ghostWhite; + border: 1px solid #DEDEDE; + color: #444; + padding: 0 0.2em; + overflow: auto; + + white-space: pre-wrap; /* css-3 */ + white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + /* width: 99%; */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ +} + +#wrapper { + /* http://www.cssstickyfooter.com/using-sticky-footer-code.html */ + min-height: 100%; +} + +p { padding: .5em 0; } + +#main { + background-color: #fff; + overflow: auto; + padding-bottom: 150px; + padding-top: 1em; + margin: 0 auto; + width: 640px; +} + +img { border: none; } + +header { padding: 0 1em; margin: 0 auto; width: 640px; } +header img { vertical-align: middle; } +/*header p { padding-left: 2em; }*/ +header p a { margin: 0 .5em 0 0; } + +footer { + position: relative; + margin-top: -150px; + height: 150px; + clear: both; + + background-color: #fafafa; + padding: 0; +} + +footer p { + padding: 1em; +} + +p.votes { + border: 1px solid gray; + border-radius: 4px; + -moz-border-radius: 4px; + padding: 5px; + float: left; + font-size: smaller; + text-align: center; + background: #f0f0f0; + clear: both; +} + +div.vote { + float: left; + text-align: center; + clear: both; + padding: 5px; +} + +form.cast_vote { + display: inline; +} + +p.ingress, label { + color: gray; +} + +div.entry_content { + margin-left: 60px; +} + +/*div#articles div.body { + height: 2.2em; + overflow: hidden; +}*/ + +#follow { vertical-align: bottom; } + +/*h1 { margin-top: .25em; }*/ + +h1 span, span.hint { + font-size: small; + color: gray; +} + +.caption { color: gray; margin-left: 230px; margin-top: -10px; font-size: smaller; } + +article { + margin-top: 2em; +} + +article p { text-align: justify; } +article h1 { font-size: small; } + +p.error { color: red; } + +input[type=text], input[type=email], input[type=search] { + padding: 4px; + font-size: 14px; + border: 1px solid #aaa; +} + +input.feedback, input#title { + padding: 6px; + font-size: 16px; + font-family: Optima, Palatino, Arial, Helvetica; + width: 95%; +} + +input.searching { background: url(/img/spinner.gif) no-repeat right center; } + +form.new { display: inline; } + +textarea { + width: 50em; + height: 12em; +} +textarea.markdown { + width: 632px; + height: 20em; + font-family: menlo, monaco, arial; + font-size: 12px; +} + +h1, h2, h3 { color: #164766; margin-top: 1em; } + +h1 a, h2 a { +/* color: black;*/ + text-decoration: none; +} + +h2 { font-size: 20px; } +h3 { font-size: 18px; } + +h2.title { + margin-bottom: 0; + border-bottom: 1px solid #ddd; + padding-left: 20px; +} +.title.bugs { background: url(/img/bug.png) no-repeat left center; } +.title.questions { background: url(/img/help.png) no-repeat left center; } +.title.ideas { background: url(/img/lightbulb.png) no-repeat left center; } +.title.tips { background: url(/img/information.png) no-repeat left center; } + +p.nav { background-color: #f0f0f0; padding: 10px; border-radius: 10px; -moz-border-radius: 10px; } +a.nav { padding-left: 20px; } +a.nav.top { background: url(/img/star.png) no-repeat left center; } +a.nav.recent { background: url(/img/time.png) no-repeat left center; } +a.nav.bugs { background: url(/img/bug.png) no-repeat left center; } +a.nav.questions { background: url(/img/help.png) no-repeat left center; } +a.nav.ideas { background: url(/img/lightbulb.png) no-repeat left center; } +a.nav.tips { background: url(/img/information.png) no-repeat left center; } +a.nav.rss { background: url(/img/rss.png) no-repeat left center; } +a.nav.comments { background: url(/img/comment.png) no-repeat left center; } +a.nav.api { background: url(/img/brick.png) no-repeat left center; } +a.nav.sitemap { background: url(/img/sitemap_color.png) no-repeat left center; } +a.nav.thread { background: url(/img/comments.png) no-repeat left center; } +a.nav.index { background: url(/img/calendar_view_week.png) no-repeat left center; } +a.nav.next { background: url(/img/arrow_right.png) no-repeat left center; } +a.nav.prev { background: url(/img/arrow_left.png) no-repeat left center; } + +span.state { background-color: #d0d0d0; color: black; padding: 0 3px; border-radius: 3px 0px; } +span.state.new { background-color: #b66; color: white; } +span.state.fixed, span.state.answered, span.state.implemented { background-color: #0b0; color: white; } + +footer a { color: gray; } +a:link { color: #164766; } +a:visited { color: #164766; } +a:hover[href], a:active[href] { color: #F78915; } + + + +div#articles h2 { margin-top: 1.5em; } +div#articles h2:first-child { margin-top: 0; } +div#articles { margin-bottom: 2em; margin-top: 2em; } + +.spamtrap { display: none; } + +h3.byline { + margin: 0; + padding: 0; + color: gray; + font-size: smaller; + font-weight: normal; +} + +h4 { margin: 0; } + +div.comment { + clear: both; + margin-bottom: .5em; + padding-left: 60px; + padding-bottom: .5em; + border-bottom: 1px solid #ddd; +} +div.comment img { + margin-left: -60px; + float: left; +} + +div#add-comment { margin-top: 2em; font-size: small; } + +table { + width: 100%; + border: 1px solid #ddd; +} +table th { text-align: left; } +table thead { background-color: #ddd; } + +/* div.even { background-color: #edf3fe; } */ + +#message_block { + clear: both; + margin-top: 0.2em; + margin-bottom: 0.3em; + color: black; +} + +#message_block ul { + margin-bottom: 0; + list-style: none; + padding: 4px; +} +#message_block ul li { + margin-left: 3em; +} + +#message_block ul.error, #message_block ul.alert { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/message_block/error_m.gif) 1em 50% no-repeat; +} + +#message_block ul.info, #message_block ul.notice { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/message_block/info_m.gif) 1em 50% no-repeat; +} + +#message_block ul.confirm { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/message_block/confirmation_m.gif) 1em 50% no-repeat; +} + +#message_block ul.warn { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/message_block/warn_m.gif) 1em 50% no-repeat; +} + + + + + + + +/* mailing list archives */ +ul.msgheader, #followups, #references { + background-color: #f0f0f0; + border: 1px solid #DEDEDE; + padding: 0.5em; + margin-top: 0.3em; +} + +#mailinglists pre { + margin: 1em 0; + font-family: monaco, Consolas, monospace; + font-size: smaller; + padding: 0.5em; +} + +#mailinglists table { + border: none; +} + +#references caption, #followups caption { + text-align: left; + font-size: small; +} diff --git a/doc/css/vicoapp.css b/doc/css/vicoapp.css new file mode 100644 index 00000000..60fed400 --- /dev/null +++ b/doc/css/vicoapp.css @@ -0,0 +1,316 @@ +html, body { height: 100%; } +* { margin: 0; } +body { background-color: white; } +* { font-family: Optima, Palatino, Arial, Helvetica; } +code, textarea, input { font-family: Monaco, times, serif; font-size: smaller; } + +blockquote { + color: #555; + margin-left: 2em; + padding-left: 1em; + padding-right: 2em; + border-left: 3px solid #ccc; + font-style: italic; +} + +kbd, pre { + background-color: ghostWhite; + border: 1px solid #DEDEDE; + color: #444; + padding: 0 0.2em; + overflow: auto; + + white-space: pre-wrap; /* css-3 */ + white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + /* width: 99%; */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ +} + +#wrapper { + /* http://www.cssstickyfooter.com/using-sticky-footer-code.html */ + min-height: 100%; +} + +p { padding: .5em 0; } + +#main { + background-color: #fff; + overflow: auto; + padding-bottom: 150px; + padding-top: 1em; + margin: 0 auto; + width: 640px; +} + +img { border: none; } + +header { padding: 0 1em; margin: 0 auto; width: 640px; } +header img { vertical-align: middle; } +/*header p { padding-left: 2em; }*/ +header p a { margin: 0 .5em 0 0; } + +footer { + position: relative; + margin-top: -150px; + height: 150px; + clear: both; + + background-color: #fafafa; + padding: 0; +} + +footer p { + padding: 1em; +} + +p.votes { + border: 1px solid gray; + border-radius: 4px; + -moz-border-radius: 4px; + padding: 5px; + float: left; + font-size: smaller; + text-align: center; + background: #f0f0f0; + clear: both; +} + +div.vote { + float: left; + text-align: center; + clear: both; + padding: 5px; +} + +form.cast_vote { + display: inline; +} + +p.ingress, label { + color: gray; +} + +div.entry_content { + margin-left: 60px; +} + +/*div#articles div.body { + height: 2.2em; + overflow: hidden; +}*/ + +#follow { vertical-align: bottom; } + +/*h1 { margin-top: .25em; }*/ + +h1 span, span.hint { + font-size: small; + color: gray; +} + +.caption { color: gray; margin-left: 230px; margin-top: -10px; font-size: smaller; } + +article { + margin-top: 2em; +} + +article p { text-align: justify; } +article h1 { font-size: small; } + +p.error { color: red; } + +input[type=text], input[type=email], input[type=search] { + padding: 4px; + font-size: 14px; + border: 1px solid #aaa; +} + +input.feedback, input#title { + padding: 6px; + font-size: 16px; + font-family: Optima, Palatino, Arial, Helvetica; + width: 95%; +} + +input.searching { background: url(/web/20160323201104im_/http://vicoapp.com/img/spinner.gif) no-repeat right center; } + +form.new { display: inline; } + +textarea { + width: 50em; + height: 12em; +} +textarea.markdown { + width: 632px; + height: 20em; + font-family: menlo, monaco, arial; + font-size: 12px; +} + +h1, h2, h3 { color: #164766; margin-top: 1em; } + +h1 a, h2 a { +/* color: black;*/ + text-decoration: none; +} + +h2 { font-size: 20px; } +h3 { font-size: 18px; } + +h2.title { + margin-bottom: 0; + border-bottom: 1px solid #ddd; + padding-left: 20px; +} +.title.bugs { background: url(/web/20160323201104im_/http://vicoapp.com/img/bug.png) no-repeat left center; } +.title.questions { background: url(/web/20160323201104im_/http://vicoapp.com/img/help.png) no-repeat left center; } +.title.ideas { background: url(/web/20160323201104im_/http://vicoapp.com/img/lightbulb.png) no-repeat left center; } +.title.tips { background: url(/web/20160323201104im_/http://vicoapp.com/img/information.png) no-repeat left center; } + +p.nav { background-color: #f0f0f0; padding: 10px; border-radius: 10px; -moz-border-radius: 10px; } +a.nav { padding-left: 20px; } +a.nav.top { background: url(/web/20160323201104im_/http://vicoapp.com/img/star.png) no-repeat left center; } +a.nav.recent { background: url(/web/20160323201104im_/http://vicoapp.com/img/time.png) no-repeat left center; } +a.nav.bugs { background: url(/web/20160323201104im_/http://vicoapp.com/img/bug.png) no-repeat left center; } +a.nav.questions { background: url(/web/20160323201104im_/http://vicoapp.com/img/help.png) no-repeat left center; } +a.nav.ideas { background: url(/web/20160323201104im_/http://vicoapp.com/img/lightbulb.png) no-repeat left center; } +a.nav.tips { background: url(/web/20160323201104im_/http://vicoapp.com/img/information.png) no-repeat left center; } +a.nav.rss { background: url(/web/20160323201104im_/http://vicoapp.com/img/rss.png) no-repeat left center; } +a.nav.comments { background: url(/web/20160323201104im_/http://vicoapp.com/img/comment.png) no-repeat left center; } +a.nav.api { background: url(/web/20160323201104im_/http://vicoapp.com/img/brick.png) no-repeat left center; } +a.nav.sitemap { background: url(/web/20160323201104im_/http://vicoapp.com/img/sitemap_color.png) no-repeat left center; } +a.nav.thread { background: url(/web/20160323201104im_/http://vicoapp.com/img/comments.png) no-repeat left center; } +a.nav.index { background: url(/web/20160323201104im_/http://vicoapp.com/img/calendar_view_week.png) no-repeat left center; } +a.nav.next { background: url(/web/20160323201104im_/http://vicoapp.com/img/arrow_right.png) no-repeat left center; } +a.nav.prev { background: url(/web/20160323201104im_/http://vicoapp.com/img/arrow_left.png) no-repeat left center; } + +span.state { background-color: #d0d0d0; color: black; padding: 0 3px; border-radius: 3px 0px; } +span.state.new { background-color: #b66; color: white; } +span.state.fixed, span.state.answered, span.state.implemented { background-color: #0b0; color: white; } + +footer a { color: gray; } +a:link { color: #164766; } +a:visited { color: #164766; } +a:hover[href], a:active[href] { color: #F78915; } + + + +div#articles h2 { margin-top: 1.5em; } +div#articles h2:first-child { margin-top: 0; } +div#articles { margin-bottom: 2em; margin-top: 2em; } + +.spamtrap { display: none; } + +h3.byline { + margin: 0; + padding: 0; + color: gray; + font-size: smaller; + font-weight: normal; +} + +h4 { margin: 0; } + +div.comment { + clear: both; + margin-bottom: .5em; + padding-left: 60px; + padding-bottom: .5em; + border-bottom: 1px solid #ddd; +} +div.comment img { + margin-left: -60px; + float: left; +} + +div#add-comment { margin-top: 2em; font-size: small; } + +table { + width: 100%; + border: 1px solid #ddd; +} +table th { text-align: left; } +table thead { background-color: #ddd; } + +/* div.even { background-color: #edf3fe; } */ + +#message_block { + clear: both; + margin-top: 0.2em; + margin-bottom: 0.3em; + color: black; +} + +#message_block ul { + margin-bottom: 0; + list-style: none; + padding: 4px; +} +#message_block ul li { + margin-left: 3em; +} + +#message_block ul.error, #message_block ul.alert { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/web/20160323201104im_/http://vicoapp.com/message_block/error_m.gif) 1em 50% no-repeat; +} + +#message_block ul.info, #message_block ul.notice { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/web/20160323201104im_/http://vicoapp.com/message_block/info_m.gif) 1em 50% no-repeat; +} + +#message_block ul.confirm { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/web/20160323201104im_/http://vicoapp.com/message_block/confirmation_m.gif) 1em 50% no-repeat; +} + +#message_block ul.warn { + border-top: 1px solid #ecd757; + border-bottom: 1px solid #ecd757; + background: #fcf6d0 url(/web/20160323201104im_/http://vicoapp.com/message_block/warn_m.gif) 1em 50% no-repeat; +} + + + + + + + +/* mailing list archives */ +ul.msgheader, #followups, #references { + background-color: #f0f0f0; + border: 1px solid #DEDEDE; + padding: 0.5em; + margin-top: 0.3em; +} + +#mailinglists pre { + margin: 1em 0; + font-family: monaco, Consolas, monospace; + font-size: smaller; + padding: 0.5em; +} + +#mailinglists table { + border: none; +} + +#references caption, #followups caption { + text-align: left; + font-size: small; +} + +/* + FILE ARCHIVED ON 20:11:04 Mar 23, 2016 AND RETRIEVED FROM THE + INTERNET ARCHIVE ON 03:58:32 Nov 16, 2017. + JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. + + ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. + SECTION 108(a)(3)). +*/ \ No newline at end of file diff --git a/doc/fancybox/blank.gif b/doc/fancybox/blank.gif new file mode 100644 index 00000000..35d42e80 Binary files /dev/null and b/doc/fancybox/blank.gif differ diff --git a/doc/fancybox/fancy_title_over.png b/doc/fancybox/fancy_title_over.png new file mode 100644 index 00000000..d9f458f4 Binary files /dev/null and b/doc/fancybox/fancy_title_over.png differ diff --git a/doc/fancybox/fancybox-x.png b/doc/fancybox/fancybox-x.png new file mode 100644 index 00000000..c2130f86 Binary files /dev/null and b/doc/fancybox/fancybox-x.png differ diff --git a/doc/fancybox/fancybox-y.png b/doc/fancybox/fancybox-y.png new file mode 100644 index 00000000..7ef399b9 Binary files /dev/null and b/doc/fancybox/fancybox-y.png differ diff --git a/doc/fancybox/fancybox.png b/doc/fancybox/fancybox.png new file mode 100644 index 00000000..65e14f68 Binary files /dev/null and b/doc/fancybox/fancybox.png differ diff --git a/doc/fancybox/jquery.easing-1.3.pack.js b/doc/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 00000000..9028179e --- /dev/null +++ b/doc/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('

The requested content cannot be loaded.
Please try again later.

'); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('
').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='';P="";b.each(e.swf,function(x,H){C+='';P+=" "+x+'="'+H+'"'});C+='";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('
');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'
'+s+'
':'
'+s+"
":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;ko.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
'),t=b('
'),u=b('
'),f=b('
'));D=b('
').append('
').appendTo(f); +D.append(j=b('
'),E=b(''),n=b('
'),z=b(''),A=b(''));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/doc/favicon.ico b/doc/favicon.ico new file mode 100644 index 00000000..07a0ddc2 Binary files /dev/null and b/doc/favicon.ico differ diff --git a/doc/help/basics.html b/doc/help/basics.html new file mode 100644 index 00000000..f3785bc1 --- /dev/null +++ b/doc/help/basics.html @@ -0,0 +1,53 @@ + + + + + + Editing Basics + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Editing Basics

+ +

Vico is a modal editor. This means there are different modes +in which you interact with the editor. The most fundamental modes +are the insert mode and normal mode. Regular keys pressed while +in insert mode causes text to be inserted. In contrast, while in +normal mode, regular keys are attached to editing commands such as +delete, change or copy text.

+ +

If you have used the vi or vim text editors, +you should feel comfortable with Vico. If this is your first encounter +with a modal editor, you might feel a bit overwhelmed at first. But +if you give it some time and learn the basics, you'll be rewarded with +a highly efficient text editing tool.

+ + + +
+
+
+
+ + diff --git a/doc/help/basics.shtml b/doc/help/basics.shtml new file mode 100644 index 00000000..a7d393e9 --- /dev/null +++ b/doc/help/basics.shtml @@ -0,0 +1,70 @@ + + + + + + + Editing Basics + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Editing Basics

+ +

Vico is a modal editor. This means there are different modes +in which you interact with the editor. The most fundamental modes +are the insert mode and normal mode. Regular keys pressed while +in insert mode causes text to be inserted. In contrast, while in +normal mode, regular keys are attached to editing commands such as +delete, change or copy text.

+ +

If you have used the vi or vim text editors, +you should feel comfortable with Vico. If this is your first encounter +with a modal editor, you might feel a bit overwhelmed at first. But +if you give it some time and learn the basics, you'll be rewarded with +a highly efficient text editing tool.

+ + +
+
+ + + + + + diff --git a/doc/help/change.html b/doc/help/change.html new file mode 100644 index 00000000..9284133d --- /dev/null +++ b/doc/help/change.html @@ -0,0 +1,48 @@ + + + + + + Changing text + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Changing text

+ +

The c (change) operator deletes the affected text +and enters insert mode. The cw is one of the most used commands: it +changes one word. The change command is not considered complete until you exit +insert mode with (escape). Back in normal mode, you can +repeat the change with the dot command.

+ +

The (uppercase) C command deletes from the current location +to the end of the line, and then enters insert mode. It is the same as +c$.

+ +

Use the r (replace) command to change a single character. Vico waits +for you to type the new character. In visual mode, the +r command changes the whole selection to the same character.

+ +

The s (substitute) command replaces one, or, given a count, +that many characters and then enters insert mode. The uppercase variant +S is line-oriented and replaces one or more lines.

+ +
+
+
+
+ + diff --git a/doc/help/change.shtml b/doc/help/change.shtml new file mode 100644 index 00000000..a47f0004 --- /dev/null +++ b/doc/help/change.shtml @@ -0,0 +1,65 @@ + + + + + + + Changing text + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Changing text

+ +

The c (change) operator deletes the affected text +and enters insert mode. The cw is one of the most used commands: it +changes one word. The change command is not considered complete until you exit +insert mode with (escape). Back in normal mode, you can +repeat the change with the dot command.

+ +

The (uppercase) C command deletes from the current location +to the end of the line, and then enters insert mode. It is the same as +c$.

+ +

Use the r (replace) command to change a single character. Vico waits +for you to type the new character. In visual mode, the +r command changes the whole selection to the same character.

+ +

The s (substitute) command replaces one, or, given a count, +that many characters and then enters insert mode. The uppercase variant +S is line-oriented and replaces one or more lines.

+
+
+ + + + + + diff --git a/doc/help/change_indent.html b/doc/help/change_indent.html new file mode 100644 index 00000000..47b95186 --- /dev/null +++ b/doc/help/change_indent.html @@ -0,0 +1,47 @@ + + + + + + Changing indentation + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Changing indentation

+ +

While in insert mode, use the ctrl-t and ctrl-d commands +to increase and decrease the indentation level of the current line.

+ +

To manually shift a block of text left or right, use the < and +> operators. It's easy to use them in +visual mode by first selecting the text that should be indented.

+ +

The = command can be used to automatically indent text based on +the current language syntax.

+ +

The above commands uses the indentation settings for the current scope to +determine how to indent.

+ + + +
+
+
+
+ + diff --git a/doc/help/change_indent.shtml b/doc/help/change_indent.shtml new file mode 100644 index 00000000..3af91e8e --- /dev/null +++ b/doc/help/change_indent.shtml @@ -0,0 +1,64 @@ + + + + + + + Changing indentation + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Changing indentation

+ +

While in insert mode, use the ctrl-t and ctrl-d commands +to increase and decrease the indentation level of the current line.

+ +

To manually shift a block of text left or right, use the < and +> operators. It's easy to use them in +visual mode by first selecting the text that should be indented.

+ +

The = command can be used to automatically indent text based on +the current language syntax.

+ +

The above commands uses the indentation settings for the current scope to +determine how to indent.

+ + +
+
+ + + + + + diff --git a/doc/help/delete.html b/doc/help/delete.html new file mode 100644 index 00000000..987716af --- /dev/null +++ b/doc/help/delete.html @@ -0,0 +1,49 @@ + + + + + + Deleting text + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Deleting text

+ +

The simplest deletion command is x. It deletes the character under +the caret. A count before deletes that many characters, e.g. 10x +deletes 10 characters. Similarly, the X command deletes one character +to the left of the caret.

+ +

The D command deletes from the current location to the end of the +line.

+ +

The d command is an operator and thus must be +combined with a motion command. For example, dw deletes a word, +d3W deletes 3 big words, and dd deletes the current line.

+ +

The c (change) command is similar to the d command, but +also enters insert mode.

+ + + +
+
+
+
+ + diff --git a/doc/help/delete.shtml b/doc/help/delete.shtml new file mode 100644 index 00000000..05024c17 --- /dev/null +++ b/doc/help/delete.shtml @@ -0,0 +1,66 @@ + + + + + + + Deleting text + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Deleting text

+ +

The simplest deletion command is x. It deletes the character under +the caret. A count before deletes that many characters, e.g. 10x +deletes 10 characters. Similarly, the X command deletes one character +to the left of the caret.

+ +

The D command deletes from the current location to the end of the +line.

+ +

The d command is an operator and thus must be +combined with a motion command. For example, dw deletes a word, +d3W deletes 3 big words, and dd deletes the current line.

+ +

The c (change) command is similar to the d command, but +also enters insert mode.

+ + +
+
+ + + + + + diff --git a/doc/help/dot.html b/doc/help/dot.html new file mode 100644 index 00000000..4f676878 --- /dev/null +++ b/doc/help/dot.html @@ -0,0 +1,35 @@ + + + + + + Repeating the last change + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Repeating the last change

+ +

One of the most powerful vi commands is the dot command. The dot command +(.) simply repeats the last change.

+ +

You can move around without overwriting the dot command.

+ +
+
+
+
+ + diff --git a/doc/help/dot.shtml b/doc/help/dot.shtml new file mode 100644 index 00000000..8ed99930 --- /dev/null +++ b/doc/help/dot.shtml @@ -0,0 +1,52 @@ + + + + + + + Repeating the last change + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Repeating the last change

+ +

One of the most powerful vi commands is the dot command. The dot command +(.) simply repeats the last change.

+ +

You can move around without overwriting the dot command.

+
+
+ + + + + + diff --git a/doc/help/ex.html b/doc/help/ex.html new file mode 100644 index 00000000..8c8dcbaf --- /dev/null +++ b/doc/help/ex.html @@ -0,0 +1,43 @@ + + + + + + The ex command line + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

The ex command line

+ +

The ex command line is normally hidden under the status bar at the +bottom of the window. The command line is used to enter ex commands +(:), filter commands (!) and search patterns +(/ and ?).

+ +

Lines entered on the command line are remembered in a history. Use up and +down arrows to recall history.

+ + + +
+
+
+
+ + diff --git a/doc/help/ex.shtml b/doc/help/ex.shtml new file mode 100644 index 00000000..ad23a814 --- /dev/null +++ b/doc/help/ex.shtml @@ -0,0 +1,60 @@ + + + + + + + The ex command line + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

The ex command line

+ +

The ex command line is normally hidden under the status bar at the +bottom of the window. The command line is used to enter ex commands +(:), filter commands (!) and search patterns +(/ and ?).

+ +

Lines entered on the command line are remembered in a history. Use up and +down arrows to recall history.

+ + +
+
+ + + + + + diff --git a/doc/help/ex_cmds.html b/doc/help/ex_cmds.html new file mode 100644 index 00000000..388f5ada --- /dev/null +++ b/doc/help/ex_cmds.html @@ -0,0 +1,64 @@ + + + + + + Ex commands + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Ex commands

+ +

The following ex commands are available:

+ +
    +
  • :! — filter lines through shell command
  • +
  • :b[uffer] — switch current view to another document
  • +
  • :bd[elete] — close the current document, opens an untitled file if last document closed
  • +
  • :cd — change current working directory
  • +
  • :close — close the current view
  • +
  • :copy address — copy the affected line range to the target line address
  • +
  • :delete — delete affected line range, or current line by default
  • +
  • :edit — edit a new file
  • +
  • :eval — evaluate the affected lines (or the current line) as a Nu expression
  • +
  • :export var=[value] — export an environment variable
  • +
  • :move address — move the affected line range to the target line address
  • +
  • :new — edit a new file in a new horizontal split
  • +
  • :pwd — show the current working directory
  • +
  • :quit — close the current document, closes the window if last document closed
  • +
  • :s /RE/replacement/[g] — replace lines matching RE with replacement
  • +
  • :sbuffer — split view horizontally and edit another open document
  • +
  • :set option[=value] — set an option
  • +
  • :setfiletype — change the language syntax of the document
  • +
  • :split [filename] — split the current view horizontally, and optionally edit another file
  • +
  • :t address — alias for :copy
  • +
  • :tabedit — edit another file in a new tab
  • +
  • :tabnew — edit a new file in a new tab
  • +
  • :tbuffer — switch to a tab showing , or open a new tab
  • +
  • :vbuffer — split view vertically and edit another open document
  • +
  • :vnew — edit a new file in a new vertical split
  • +
  • :vsplit [filename] — split the current view vertically, and optionally edit another file
  • +
  • :w[rite] [new filename] — save the document, optionally with a new name
  • +
  • :wq — write the document and close it
  • +
  • :x[it] — write the document and close it
  • +
+ +
+
+
+
+ + diff --git a/doc/help/ex_cmds.shtml b/doc/help/ex_cmds.shtml new file mode 100644 index 00000000..2dafc651 --- /dev/null +++ b/doc/help/ex_cmds.shtml @@ -0,0 +1,81 @@ + + + + + + + Ex commands + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Ex commands

+ +

The following ex commands are available:

+ +
    +
  • :! — filter lines through shell command
  • +
  • :b[uffer] — switch current view to another document
  • +
  • :bd[elete] — close the current document, opens an untitled file if last document closed
  • +
  • :cd — change current working directory
  • +
  • :close — close the current view
  • +
  • :copy address — copy the affected line range to the target line address
  • +
  • :delete — delete affected line range, or current line by default
  • +
  • :edit — edit a new file
  • +
  • :eval — evaluate the affected lines (or the current line) as a Nu expression
  • +
  • :export var=[value] — export an environment variable
  • +
  • :move address — move the affected line range to the target line address
  • +
  • :new — edit a new file in a new horizontal split
  • +
  • :pwd — show the current working directory
  • +
  • :quit — close the current document, closes the window if last document closed
  • +
  • :s /RE/replacement/[g] — replace lines matching RE with replacement
  • +
  • :sbuffer — split view horizontally and edit another open document
  • +
  • :set option[=value] — set an option
  • +
  • :setfiletype — change the language syntax of the document
  • +
  • :split [filename] — split the current view horizontally, and optionally edit another file
  • +
  • :t address — alias for :copy
  • +
  • :tabedit — edit another file in a new tab
  • +
  • :tabnew — edit a new file in a new tab
  • +
  • :tbuffer — switch to a tab showing , or open a new tab
  • +
  • :vbuffer — split view vertically and edit another open document
  • +
  • :vnew — edit a new file in a new vertical split
  • +
  • :vsplit [filename] — split the current view vertically, and optionally edit another file
  • +
  • :w[rite] [new filename] — save the document, optionally with a new name
  • +
  • :wq — write the document and close it
  • +
  • :x[it] — write the document and close it
  • +
+
+
+ + + + + + diff --git a/doc/help/ex_ranges.html b/doc/help/ex_ranges.html new file mode 100644 index 00000000..21fc5dff --- /dev/null +++ b/doc/help/ex_ranges.html @@ -0,0 +1,50 @@ + + + + + + Ex command ranges + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Ex command ranges

+ +

Many ex commands accept a range of lines to operate +upon. The range precede the command name and consists of zero, one or +two line addresses separated with comma.

+ +

A line address can be written as:

+ +
    +
  • an absolute line number, ie 3
  • +
  • $ denotes the last line
  • +
  • . (a dot) referes to the current line
  • +
  • a mark (eg 'x)
  • +
  • % denotes all lines, same as 1,$
  • +
  • a forward search pattern, delimited by slashes, eg /foo/
  • +
  • a backward search pattern, delimited by question marks, eg ?foo?
  • +
+ +

Additionally, a line offset may be appended to a line address with ++ or -. For example, .+2 means two +lines after the current line.

+ +
+
+
+
+ + diff --git a/doc/help/ex_ranges.shtml b/doc/help/ex_ranges.shtml new file mode 100644 index 00000000..4348cef7 --- /dev/null +++ b/doc/help/ex_ranges.shtml @@ -0,0 +1,67 @@ + + + + + + + Ex command ranges + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Ex command ranges

+ +

Many ex commands accept a range of lines to operate +upon. The range precede the command name and consists of zero, one or +two line addresses separated with comma.

+ +

A line address can be written as:

+ +
    +
  • an absolute line number, ie 3
  • +
  • $ denotes the last line
  • +
  • . (a dot) referes to the current line
  • +
  • a mark (eg 'x)
  • +
  • % denotes all lines, same as 1,$
  • +
  • a forward search pattern, delimited by slashes, eg /foo/
  • +
  • a backward search pattern, delimited by question marks, eg ?foo?
  • +
+ +

Additionally, a line offset may be appended to a line address with ++ or -. For example, .+2 means two +lines after the current line.

+
+
+ + + + + + diff --git a/doc/help/explorer.html b/doc/help/explorer.html new file mode 100644 index 00000000..46d6ee4c --- /dev/null +++ b/doc/help/explorer.html @@ -0,0 +1,76 @@ + + + + + + Using the file explorer + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Using the file explorer

+ +

Activate the file explorer with the ⌘E key. When the explorer +has focus, you can navigate using many of the regular +vi motion keys.

+ +

To open a file, select the file and press t, s, +v or o to open it in a tab, a split view, a vertical +split, or replace the current document, respectively. Pressing +enter opens the selected file in a tab or in the current +split view, depending on the preferences.

+ +

Here is a list of all key mappings in the explorer:

+ +
    +
  • h — move up the tree hierarchy, closing subdirectories
  • +
  • l — move down the tree hierarchy, opening subdirectories
  • +
  • j — move down
  • +
  • k — move up
  • +
  • <ctrl-b> — scroll up one screen
  • +
  • <ctrl-f> — scroll down one screen
  • +
  • <ctrl-e> — scroll down one line
  • +
  • <ctrl-y> — scroll up one line
  • +
  • G — move to the last line (or a specific line with a count)
  • +
  • gg — move to the first line (or a specific line with a count)
  • +
  • H — move to top line ("High")
  • +
  • M — move to middle line
  • +
  • L — move to bottom line ("Low")
  • +
  • / — search
  • +
  • <esc> — cancel and go back
  • +
  • <ctrl-c> — cancel and go back, or reset the search filter
  • +
  • o — open the selected file in the current view
  • +
  • s — open the selected file in a split view
  • +
  • v — open the selected file in a vertical split view
  • +
  • t — open the selected file in a new tab
  • +
  • N — create a new directory
  • +
  • r — rename the selected file
  • +
  • dd — delete the selected files
  • +
  • <ctrl-o> — navigate back in the browse history
  • +
  • <ctrl-i> — navigate forward in the browse history
  • +
  • <ctrl-l> — rescan files in the selected directory
  • +
  • <ctrl-esc> or <cmd-esc> — show action menu
  • +
  • <cmd-up> — navigate to the parent directory
  • +
  • <cmd-down> or <enter> — navigate to the selected directory, or open the selected file
  • +
  • <cmd-H> — navigate to the local home directory
  • +
  • <cmd-D> — navigate to the local Desktop directory
  • +
+ +
+
+
+
+ + diff --git a/doc/help/explorer.shtml b/doc/help/explorer.shtml new file mode 100644 index 00000000..718afac7 --- /dev/null +++ b/doc/help/explorer.shtml @@ -0,0 +1,93 @@ + + + + + + + Using the file explorer + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Using the file explorer

+ +

Activate the file explorer with the ⌘E key. When the explorer +has focus, you can navigate using many of the regular +vi motion keys.

+ +

To open a file, select the file and press t, s, +v or o to open it in a tab, a split view, a vertical +split, or replace the current document, respectively. Pressing +enter opens the selected file in a tab or in the current +split view, depending on the preferences.

+ +

Here is a list of all key mappings in the explorer:

+ +
    +
  • h — move up the tree hierarchy, closing subdirectories
  • +
  • l — move down the tree hierarchy, opening subdirectories
  • +
  • j — move down
  • +
  • k — move up
  • +
  • <ctrl-b> — scroll up one screen
  • +
  • <ctrl-f> — scroll down one screen
  • +
  • <ctrl-e> — scroll down one line
  • +
  • <ctrl-y> — scroll up one line
  • +
  • G — move to the last line (or a specific line with a count)
  • +
  • gg — move to the first line (or a specific line with a count)
  • +
  • H — move to top line ("High")
  • +
  • M — move to middle line
  • +
  • L — move to bottom line ("Low")
  • +
  • / — search
  • +
  • <esc> — cancel and go back
  • +
  • <ctrl-c> — cancel and go back, or reset the search filter
  • +
  • o — open the selected file in the current view
  • +
  • s — open the selected file in a split view
  • +
  • v — open the selected file in a vertical split view
  • +
  • t — open the selected file in a new tab
  • +
  • N — create a new directory
  • +
  • r — rename the selected file
  • +
  • dd — delete the selected files
  • +
  • <ctrl-o> — navigate back in the browse history
  • +
  • <ctrl-i> — navigate forward in the browse history
  • +
  • <ctrl-l> — rescan files in the selected directory
  • +
  • <ctrl-esc> or <cmd-esc> — show action menu
  • +
  • <cmd-up> — navigate to the parent directory
  • +
  • <cmd-down> or <enter> — navigate to the selected directory, or open the selected file
  • +
  • <cmd-H> — navigate to the local home directory
  • +
  • <cmd-D> — navigate to the local Desktop directory
  • +
+
+
+ + + + + + diff --git a/doc/help/indent_settings.html b/doc/help/indent_settings.html new file mode 100644 index 00000000..f64eff85 --- /dev/null +++ b/doc/help/indent_settings.html @@ -0,0 +1,48 @@ + + + + + + Settings for indentation + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Settings for indentation

+ +

The shiftwidth setting controls how large an indentation is in terms +of spaces. This is different from the tabstop setting that specifies +how large an actual tab character is.

+ +

If shiftwidth is set to 4 and tabstop is left at the +default 8, one indentation will use 4 spaces, but two indentations will use one +tab.

+ +

Use the expandtab setting to always use spaces when indenting.

+ +

When the autoindent setting is enabled, a new line will use the same +amount of indentation as the previous line. The smartindent setting +adds syntax-aware rules for increasing and decreasing the automatic indentation.

+ + + +
+
+
+
+ + diff --git a/doc/help/indent_settings.shtml b/doc/help/indent_settings.shtml new file mode 100644 index 00000000..21b5a5dc --- /dev/null +++ b/doc/help/indent_settings.shtml @@ -0,0 +1,65 @@ + + + + + + + Settings for indentation + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Settings for indentation

+ +

The shiftwidth setting controls how large an indentation is in terms +of spaces. This is different from the tabstop setting that specifies +how large an actual tab character is.

+ +

If shiftwidth is set to 4 and tabstop is left at the +default 8, one indentation will use 4 spaces, but two indentations will use one +tab.

+ +

Use the expandtab setting to always use spaces when indenting.

+ +

When the autoindent setting is enabled, a new line will use the same +amount of indentation as the previous line. The smartindent setting +adds syntax-aware rules for increasing and decreasing the automatic indentation.

+ + +
+
+ + + + + + diff --git a/doc/help/index.html b/doc/help/index.html new file mode 100644 index 00000000..f7271680 --- /dev/null +++ b/doc/help/index.html @@ -0,0 +1,61 @@ + + + + + + Index + + + + +
+
+ + diff --git a/doc/help/insert.html b/doc/help/insert.html new file mode 100644 index 00000000..206753c8 --- /dev/null +++ b/doc/help/insert.html @@ -0,0 +1,52 @@ + + + + + + Inserting text + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Inserting text

+ +

To insert text you must first enter insert mode. The most basic way to +enter insert mode is with the i (insert) command. You will +notice you are in insert mode when the caret changes from a block caret +to a thin caret.

+ +

When you are done inserting text, press the +(escape) key to go back to normal mode.

+ +

The i command enters insert mode at the current location. +To enter insert mode after the current location, you use the a +(append) command.

+ +

If you want to append text to the end of the current line, no matter where +on the line you are, use the A command.

+ +

Similarly, the I command moves to the first non-blank character +on the current line and enters insert mode there.

+ + + +
+
+
+
+ + diff --git a/doc/help/insert.shtml b/doc/help/insert.shtml new file mode 100644 index 00000000..7ab44012 --- /dev/null +++ b/doc/help/insert.shtml @@ -0,0 +1,69 @@ + + + + + + + Inserting text + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Inserting text

+ +

To insert text you must first enter insert mode. The most basic way to +enter insert mode is with the i (insert) command. You will +notice you are in insert mode when the caret changes from a block caret +to a thin caret.

+ +

When you are done inserting text, press the +(escape) key to go back to normal mode.

+ +

The i command enters insert mode at the current location. +To enter insert mode after the current location, you use the a +(append) command.

+ +

If you want to append text to the end of the current line, no matter where +on the line you are, use the A command.

+ +

Similarly, the I command moves to the first non-blank character +on the current line and enters insert mode there.

+ + +
+
+ + + + + + diff --git a/doc/help/jumplist.html b/doc/help/jumplist.html new file mode 100644 index 00000000..a139a96c --- /dev/null +++ b/doc/help/jumplist.html @@ -0,0 +1,45 @@ + + + + + + The jumplist + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

The jumplist

+ +

Vico maintains a list of locations while you move around in files. Some movement +commands are considered "jumps", and those jumps are remembered in a list.

+ +

Generally, movement commands that generate jumps are those that +move more than a few lines. So the word, +character and line search +motion commands do not generate a jump, but the line +and search motions do.

+ +

You navigate the jumplist either by pressing the jumplist arrows in the toolbar, +or pressing ctrl-o to go back and ctrl-i +(or tab) to go forward.

+ +

Only the last 100 jumps are remembered, and duplicates are removed.

+ +
+
+
+
+ + diff --git a/doc/help/jumplist.shtml b/doc/help/jumplist.shtml new file mode 100644 index 00000000..ffa7dcbe --- /dev/null +++ b/doc/help/jumplist.shtml @@ -0,0 +1,62 @@ + + + + + + + The jumplist + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

The jumplist

+ +

Vico maintains a list of locations while you move around in files. Some movement +commands are considered "jumps", and those jumps are remembered in a list.

+ +

Generally, movement commands that generate jumps are those that +move more than a few lines. So the word, +character and line search +motion commands do not generate a jump, but the line +and search motions do.

+ +

You navigate the jumplist either by pressing the jumplist arrows in the toolbar, +or pressing ctrl-o to go back and ctrl-i +(or tab) to go forward.

+ +

Only the last 100 jumps are remembered, and duplicates are removed.

+
+
+ + + + + + diff --git a/doc/help/line_search.html b/doc/help/line_search.html new file mode 100644 index 00000000..fbb4f65e --- /dev/null +++ b/doc/help/line_search.html @@ -0,0 +1,51 @@ + + + + + + Searching within a line + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Searching within a line

+ +

To quickly search for the next or previous occurrance of a character on the +current line, you can use the f or F commands. The lowercase +f command moves forward, while the uppercase F command +moves backwards.

+ +

After you've pressed the f key, Vico waits for you to enter another +character. This is the character to search for. For example, the command +f: searches for the next occurrance of a colon on the current line.

+ +

The t and T commands works similarly, but instead of +moving exactly to the specified character, it stops just before.

+ +

The last character searched for with those commands is remembered, and the +search can be repeated with the ; (semicolon) and , +(comma) commands. They repeat the search in the same and opposite direction, +respectively.

+ + + +
+
+
+
+ + diff --git a/doc/help/line_search.shtml b/doc/help/line_search.shtml new file mode 100644 index 00000000..ea38b42f --- /dev/null +++ b/doc/help/line_search.shtml @@ -0,0 +1,68 @@ + + + + + + + Searching within a line + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Searching within a line

+ +

To quickly search for the next or previous occurrance of a character on the +current line, you can use the f or F commands. The lowercase +f command moves forward, while the uppercase F command +moves backwards.

+ +

After you've pressed the f key, Vico waits for you to enter another +character. This is the character to search for. For example, the command +f: searches for the next occurrance of a colon on the current line.

+ +

The t and T commands works similarly, but instead of +moving exactly to the specified character, it stops just before.

+ +

The last character searched for with those commands is remembered, and the +search can be repeated with the ; (semicolon) and , +(comma) commands. They repeat the search in the same and opposite direction, +respectively.

+ + +
+
+ + + + + + diff --git a/doc/help/move_chars.html b/doc/help/move_chars.html new file mode 100644 index 00000000..f4f255ad --- /dev/null +++ b/doc/help/move_chars.html @@ -0,0 +1,46 @@ + + + + + + Moving by characters + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Moving by characters

+ +

To move one character to the left, you either use the arrow key, or the +h command. The l command move to the right.

+ +

The j and k commands move one line down and up, +respectively.

+ +

To help you remember which key move in what direction, think of h +being the leftmost key among these, and l the rightmost. +The j key can be thought of a downward pointing arrow, and, with a +little imagination, the lowercase k is pointing upwards.

+ + + +
+
+
+
+ + diff --git a/doc/help/move_chars.shtml b/doc/help/move_chars.shtml new file mode 100644 index 00000000..79485f03 --- /dev/null +++ b/doc/help/move_chars.shtml @@ -0,0 +1,63 @@ + + + + + + + Moving by characters + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Moving by characters

+ +

To move one character to the left, you either use the arrow key, or the +h command. The l command move to the right.

+ +

The j and k commands move one line down and up, +respectively.

+ +

To help you remember which key move in what direction, think of h +being the leftmost key among these, and l the rightmost. +The j key can be thought of a downward pointing arrow, and, with a +little imagination, the lowercase k is pointing upwards.

+ + +
+
+ + + + + + diff --git a/doc/help/move_lines.html b/doc/help/move_lines.html new file mode 100644 index 00000000..c72a19b7 --- /dev/null +++ b/doc/help/move_lines.html @@ -0,0 +1,47 @@ + + + + + + Moving by lines + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Moving by lines

+ +

You can jump to the top, middle and bottom line of the screen with the +H, M and L commands. To remember them, +you can think of H as the High line, and L as +the Low line.

+ +

The } and { commands move by paragraphs. A +paragraph is considered delimited by an empty line.

+ +

The G command jumps to the last line. With a count, it jumps +to that line number. For example, 10G jumps to line number +10. The gg command is similar to G, but defaults +to the first line if no count is given.

+ + + +
+
+
+
+ + diff --git a/doc/help/move_lines.shtml b/doc/help/move_lines.shtml new file mode 100644 index 00000000..6fe76673 --- /dev/null +++ b/doc/help/move_lines.shtml @@ -0,0 +1,65 @@ + + + + + + + Moving by lines + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Moving by lines

+ +

You can jump to the top, middle and bottom line of the screen with the +H, M and L commands. To remember them, +you can think of H as the High line, and L as +the Low line.

+ +

The } and { commands move by paragraphs. A +paragraph is considered delimited by an empty line.

+ +

The G command jumps to the last line. With a count, it jumps +to that line number. For example, 10G jumps to line number +10. The gg command is similar to G, but defaults +to the first line if no count is given.

+ + +
+
+ + + + + + diff --git a/doc/help/move_symbols.html b/doc/help/move_symbols.html new file mode 100644 index 00000000..03e4b29c --- /dev/null +++ b/doc/help/move_symbols.html @@ -0,0 +1,48 @@ + + + + + + Moving by symbols + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Moving by symbols

+ +

The ctrl-] key (in normal mode), jumps to the symbol under the caret.

+ +

If you have a tags file, Vico will try to +lookup the current word as a tag. The tags file should be placed in +the windows current directory, ie the top-most directory displayed by +the explorer.

+ +

If no tag was found, Vico tries to match the current word with a +symbol. If more than one match is found, you are presented with +a menu.

+ +

If a tag or symbol is found, the current location is pushed on the +tag stack, and the caret is jumped to the new location. +Press ctrl-t to go back.

+ +

You can also use the ⇧⌘T key to search the +symbol list.

+ +
+
+
+
+ + diff --git a/doc/help/move_symbols.shtml b/doc/help/move_symbols.shtml new file mode 100644 index 00000000..eb924eb8 --- /dev/null +++ b/doc/help/move_symbols.shtml @@ -0,0 +1,66 @@ + + + + + + + Moving by symbols + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Moving by symbols

+ +

The ctrl-] key (in normal mode), jumps to the symbol under the caret.

+ +

If you have a tags file, Vico will try to +lookup the current word as a tag. The tags file should be placed in +the windows current directory, ie the top-most directory displayed by +the explorer.

+ +

If no tag was found, Vico tries to match the current word with a +symbol. If more than one match is found, you are presented with +a menu.

+ +

If a tag or symbol is found, the current location is pushed on the +tag stack, and the caret is jumped to the new location. +Press ctrl-t to go back.

+ +

You can also use the ⇧⌘T key to search the +symbol list.

+
+
+ + + + + + diff --git a/doc/help/move_words.html b/doc/help/move_words.html new file mode 100644 index 00000000..3ad0bab4 --- /dev/null +++ b/doc/help/move_words.html @@ -0,0 +1,49 @@ + + + + + + Moving by words + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Moving by words

+ +

To move to the next word, use the w command.

+ +

The w command considers separator characters when deciding where the +next word starts. To only consider whitespace as word separators, you can use +the (uppercase) W command.

+ +

To move in the opposite direction, use the b command to move over a +normal word, and the capital B command to move over "big words".

+ +

There is also the e and E commands that move to the end +of the next word or bigword.

+ +

If you prefix the above commands with a number, the command will move that many +words. For example, the command 3w will move three words to the right.

+ + + +
+
+
+
+ + diff --git a/doc/help/move_words.shtml b/doc/help/move_words.shtml new file mode 100644 index 00000000..d66a9924 --- /dev/null +++ b/doc/help/move_words.shtml @@ -0,0 +1,67 @@ + + + + + + + Moving by words + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Moving by words

+ +

To move to the next word, use the w command.

+ +

The w command considers separator characters when deciding where the +next word starts. To only consider whitespace as word separators, you can use +the (uppercase) W command.

+ +

To move in the opposite direction, use the b command to move over a +normal word, and the capital B command to move over "big words".

+ +

There is also the e and E commands that move to the end +of the next word or bigword.

+ +

If you prefix the above commands with a number, the command will move that many +words. For example, the command 3w will move three words to the right.

+ + +
+
+ + + + + + diff --git a/doc/help/movement.html b/doc/help/movement.html new file mode 100644 index 00000000..58258b56 --- /dev/null +++ b/doc/help/movement.html @@ -0,0 +1,50 @@ + + + + + + Movement commands + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Movement commands

+ +

You can use the normal arrow, page up and page down keys in Vico to move around. +But there are more movement commands available in vi than there are cursor keys. +And with the vi way of navigating, you don't have to reach all the way across +the keyboard.

+ +

Most vi tutorials begin with describing the hjkl keys for moving +left, down, up and right. If you're new to vi, you may want to wait with them. +They do feel a bit awkward at first, but once you've learned to use them, you +realize they aren't so bad at all.

+ + + +
+
+
+
+ + diff --git a/doc/help/movement.shtml b/doc/help/movement.shtml new file mode 100644 index 00000000..c8e66ce0 --- /dev/null +++ b/doc/help/movement.shtml @@ -0,0 +1,58 @@ + + + + + + + Movement commands + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Movement commands

+ +

You can use the normal arrow, page up and page down keys in Vico to move around. +But there are more movement commands available in vi than there are cursor keys. +And with the vi way of navigating, you don't have to reach all the way across +the keyboard.

+ +

Most vi tutorials begin with describing the hjkl keys for moving +left, down, up and right. If you're new to vi, you may want to wait with them. +They do feel a bit awkward at first, but once you've learned to use them, you +realize they aren't so bad at all.

+ + +
+
+ +
+
+ + + + diff --git a/doc/help/open_line.shtml b/doc/help/open_line.shtml new file mode 100644 index 00000000..f612592f --- /dev/null +++ b/doc/help/open_line.shtml @@ -0,0 +1,55 @@ + + + + + + + Opening lines + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Opening lines

+ +

To open a new line below the current line, use the o (lowercase +letter o) command. The new line is automatically indented (if autoindent +is enabled) and insert mode is entered.

+ +

Use the O (capital letter O) command to insert a new line +above the current line.

+
+
+ + + + + + diff --git a/doc/help/operators.html b/doc/help/operators.html new file mode 100644 index 00000000..d9a77e01 --- /dev/null +++ b/doc/help/operators.html @@ -0,0 +1,57 @@ + + + + + + Operator commands + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Operator commands

+ +

Some commands must be combined with a motion command to be complete. These +commands are called operators, as they operate on the text affected by the +motion command.

+ +

The standard operator commands are:

+ +
    +
  • d -- delete
  • +
  • c -- change
  • +
  • y -- yank, or copy
  • +
  • = -- indent
  • +
  • < -- shift left
  • +
  • > -- shift right
  • +
  • ! -- filter through external command
  • +
  • gu -- lowercase
  • +
  • gU -- uppercase
  • +
  • gq -- format text
  • +
+ +

You combine the operator with a motion just by entering the motion command +after the operator. For example, cw changes a word.

+ +

All operator commands can be doubled to imply the current line. This way, +dd deletes the current line, >> shift the current +line one shiftwidth to the right and yy +copies (yanks) the line.

+ +
+
+
+
+ + diff --git a/doc/help/operators.shtml b/doc/help/operators.shtml new file mode 100644 index 00000000..c861249a --- /dev/null +++ b/doc/help/operators.shtml @@ -0,0 +1,65 @@ + + + + + + + Operator commands + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Operator commands

+ +

Some commands must be combined with a motion command to be complete. These +commands are called operators, as they operate on the text affected by the +motion command.

+ +

The standard operator commands are:

+ +
    +
  • d -- delete
  • +
  • c -- change
  • +
  • y -- yank, or copy
  • +
  • = -- indent
  • +
  • < -- shift left
  • +
  • > -- shift right
  • +
  • ! -- filter through external command
  • +
  • gu -- lowercase
  • +
  • gU -- uppercase
  • +
  • gq -- format text
  • +
+ +

You combine the operator with a motion just by entering the motion command +after the operator. For example, cw changes a word.

+ +

All operator commands can be doubled to imply the current line. This way, +dd deletes the current line, >> shift the current +line one shiftwidth to the right and yy +copies (yanks) the line.

+
+
+ +
+
+ + + + diff --git a/doc/help/remote.html b/doc/help/remote.html new file mode 100644 index 00000000..6bb93949 --- /dev/null +++ b/doc/help/remote.html @@ -0,0 +1,51 @@ + + + + + + Working with remote files + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Working with remote files

+ +

Vico has built-in support for editing files over SFTP. To open a remote directory, +use the :cd command to change to a sftp:// URL. For +example, :cd sftp://www.example.com changes to the home directory on +the www.example.com server. Use the explorer +sidebar to open files, or directly with the :edit command.

+ +

A file relative to the home directory on the remote server can be referenced +by the following URL: sftp://www.example.com/~/directory/file.txt

+ +

For SFTP to work, you must use public key authentication. It is recommended +that you protect your private key with a passphrase.

+ +

Vico's SFTP support uses the ssh support built-in to Mac OS X, so any +configuration files you already have for ssh will be used.

+ + + +
+
+
+
+ + diff --git a/doc/help/remote.shtml b/doc/help/remote.shtml new file mode 100644 index 00000000..cf027d4a --- /dev/null +++ b/doc/help/remote.shtml @@ -0,0 +1,69 @@ + + + + + + + Working with remote files + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Working with remote files

+ +

Vico has built-in support for editing files over SFTP. To open a remote directory, +use the :cd command to change to a sftp:// URL. For +example, :cd sftp://www.example.com changes to the home directory on +the www.example.com server. Use the explorer +sidebar to open files, or directly with the :edit command.

+ +

A file relative to the home directory on the remote server can be referenced +by the following URL: sftp://www.example.com/~/directory/file.txt

+ +

For SFTP to work, you must use public key authentication. It is recommended +that you protect your private key with a passphrase.

+ +

Vico's SFTP support uses the ssh support built-in to Mac OS X, so any +configuration files you already have for ssh will be used.

+ + +
+
+ + + + + + diff --git a/doc/help/scrolling.html b/doc/help/scrolling.html new file mode 100644 index 00000000..6c4bb6f9 --- /dev/null +++ b/doc/help/scrolling.html @@ -0,0 +1,44 @@ + + + + + + Scrolling the screen + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Scrolling the screen

+ +

Ctrl-f and Ctrl-b (in normal mode) scroll the +screen one page forward and backward.

+ +

The Ctrl-d and Ctrl-u commands scroll the screen +one half screen page down and up, respectively.

+ +

To reposition the screen relative the current caret location, the +zz command centers the caret on the screen, zt +puts the caret at the top of the screen, and zb at the bottom.

+ + + +
+
+
+
+ + diff --git a/doc/help/scrolling.shtml b/doc/help/scrolling.shtml new file mode 100644 index 00000000..ab90495f --- /dev/null +++ b/doc/help/scrolling.shtml @@ -0,0 +1,62 @@ + + + + + + + Scrolling the screen + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Scrolling the screen

+ +

Ctrl-f and Ctrl-b (in normal mode) scroll the +screen one page forward and backward.

+ +

The Ctrl-d and Ctrl-u commands scroll the screen +one half screen page down and up, respectively.

+ +

To reposition the screen relative the current caret location, the +zz command centers the caret on the screen, zt +puts the caret at the top of the screen, and zb at the bottom.

+ + +
+
+ + + + + + diff --git a/doc/help/searching.html b/doc/help/searching.html new file mode 100644 index 00000000..3659f14e --- /dev/null +++ b/doc/help/searching.html @@ -0,0 +1,51 @@ + + + + + + Searching + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Searching

+ +

To search, use the / command and enter a regular expression +in the command line at the bottom of the window. This command is also +available by the standard ⌘F key.

+ +

If the ignorecase option is set, case is ignored. If the +smartcase option is also set, case is ignored only if the +search pattern does not include any uppercase characters.

+ +

To search backwards, use ?.

+ +

To quickly search for the word under the caret, use *. The +# command searches backwards instead.

+ +

You can repeat the last seach command in the same direction with the +n command. The upper case N command reverses the +direction.

+ + + +
+
+
+
+ + diff --git a/doc/help/searching.shtml b/doc/help/searching.shtml new file mode 100644 index 00000000..a0783fb1 --- /dev/null +++ b/doc/help/searching.shtml @@ -0,0 +1,69 @@ + + + + + + + Searching + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Searching

+ +

To search, use the / command and enter a regular expression +in the command line at the bottom of the window. This command is also +available by the standard ⌘F key.

+ +

If the ignorecase option is set, case is ignored. If the +smartcase option is also set, case is ignored only if the +search pattern does not include any uppercase characters.

+ +

To search backwards, use ?.

+ +

To quickly search for the word under the caret, use *. The +# command searches backwards instead.

+ +

You can repeat the last seach command in the same direction with the +n command. The upper case N command reverses the +direction.

+ + +
+
+ + + + + + diff --git a/doc/help/splits.html b/doc/help/splits.html new file mode 100644 index 00000000..5f36855d --- /dev/null +++ b/doc/help/splits.html @@ -0,0 +1,51 @@ + + + + + + Working with split views + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Working with split views

+ +

Vico can show the same or different documents side by side in split views. +Views can be split either horizontally or vertically. There is no limit on the +number of splits you can create, but more than a couple in the same tab tends to +be hard to manage.

+ +

Most keys that manages split views begin with <ctrl-w>. +To split the current view, use the <ctrl-w>s command, ie first +press <ctrl-w> and then press the s key. If you use +v instead, you get a vertical split.

+ +

If you want to move a split view to a new tab, use <ctrl-w>T.

+ +

To navigate between split views, use <ctrl-w> followed +by a vi motion key (hjkl) or one of the arrow keys. The +<ctrl-w>w command moves to the next split view. The +<ctrl-w>W moves to the previous split view. Use +<ctrl-w>p to toggle between the last focused split view.

+ +

The explorer and symbol list can also be used +to open files or symbols in split views.

+ +
+
+
+
+ + diff --git a/doc/help/splits.shtml b/doc/help/splits.shtml new file mode 100644 index 00000000..e754cb96 --- /dev/null +++ b/doc/help/splits.shtml @@ -0,0 +1,69 @@ + + + + + + + Working with split views + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Working with split views

+ +

Vico can show the same or different documents side by side in split views. +Views can be split either horizontally or vertically. There is no limit on the +number of splits you can create, but more than a couple in the same tab tends to +be hard to manage.

+ +

Most keys that manages split views begin with <ctrl-w>. +To split the current view, use the <ctrl-w>s command, ie first +press <ctrl-w> and then press the s key. If you use +v instead, you get a vertical split.

+ +

If you want to move a split view to a new tab, use <ctrl-w>T.

+ +

To navigate between split views, use <ctrl-w> followed +by a vi motion key (hjkl) or one of the arrow keys. The +<ctrl-w>w command moves to the next split view. The +<ctrl-w>W moves to the previous split view. Use +<ctrl-w>p to toggle between the last focused split view.

+ +

The explorer and symbol list can also be used +to open files or symbols in split views.

+
+
+ + + + + + diff --git a/doc/help/ssh_keygen.html b/doc/help/ssh_keygen.html new file mode 100644 index 00000000..9c5ccccc --- /dev/null +++ b/doc/help/ssh_keygen.html @@ -0,0 +1,88 @@ + + + + + + Creating a key for SFTP + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Creating a key for SFTP

+ +

To create a public/private key for SFTP (or ssh in general), you need to open +Terminal.app and run the ssh-keygen command:

+ +
ssh-keygen -t rsa
+
+ +

It should look something like this;

+ +
martinh@macbookpro:~$ ssh-keygen -t rsa
+Generating public/private rsa key pair.
+Enter file in which to save the key (/Users/martinh/.ssh/id_rsa):
+Enter passphrase (empty for no passphrase):
+Enter same passphrase again:
+Your identification has been saved in /Users/martinh/.ssh/id_rsa.
+Your public key has been saved in /Users/martinh/.ssh/id_rsa.pub.
+The key fingerprint is:
+77:15:d9:55:4f:b9:01:90:2c:48:ae:3b:39:22:52:fa martinh@macbookpro.local
+The key's randomart image is:
++--[ RSA 2048]----+
+|      ... ..o.ooB|
+|      .. . o  .=o|
+|       .  .   . +|
+|      .      . . |
+|  .  .  S . .    |
+| o    o  . .     |
+|o. . =           |
+|... . o          |
+|  E              |
++-----------------+
+martinh@macbookpro:~$
+
+ +

Make sure you use a good passphrase. If you leave the passphrase empty, anyone +with access to your key file have access to any remote server you authorize with +that key.

+ +

To authorize a remote server to log you in with this key, you copy the +public key to the ~/.ssh/authorized_keys file on the remote server:

+ +
cat ~/.ssh/id_rsa.pub | ssh hostname 'mkdir -m700 -p .ssh && cat >> .ssh/authorized_keys'
+
+ +

The above command makes sure the remote .ssh directory exists and has +the correct permissions, and appends your new public key to any existing +authorized keys.

+ +

If you have multiple keys, or use non-standard filenames, you may have to tell +ssh what key to use. You can do this by adding a host directive in the ssh +configuration file, ~/.ssh/config:

+ +
Host www.example.com
+    IdentityFile ~/.ssh/id_rsa.example.com
+
+ + + +
+
+
+
+ + diff --git a/doc/help/ssh_keygen.shtml b/doc/help/ssh_keygen.shtml new file mode 100644 index 00000000..40c17be0 --- /dev/null +++ b/doc/help/ssh_keygen.shtml @@ -0,0 +1,62 @@ + + +

Creating a key for SFTP

+ +

To create a public/private key for SFTP (or ssh in general), you need to open +Terminal.app and run the ssh-keygen command:

+ +
ssh-keygen -t rsa
+
+ +

It should look something like this;

+ +
martinh@macbookpro:~$ ssh-keygen -t rsa
+Generating public/private rsa key pair.
+Enter file in which to save the key (/Users/martinh/.ssh/id_rsa):
+Enter passphrase (empty for no passphrase):
+Enter same passphrase again:
+Your identification has been saved in /Users/martinh/.ssh/id_rsa.
+Your public key has been saved in /Users/martinh/.ssh/id_rsa.pub.
+The key fingerprint is:
+77:15:d9:55:4f:b9:01:90:2c:48:ae:3b:39:22:52:fa martinh@macbookpro.local
+The key's randomart image is:
++--[ RSA 2048]----+
+|      ... ..o.ooB|
+|      .. . o  .=o|
+|       .  .   . +|
+|      .      . . |
+|  .  .  S . .    |
+| o    o  . .     |
+|o. . =           |
+|... . o          |
+|  E              |
++-----------------+
+martinh@macbookpro:~$
+
+ +

Make sure you use a good passphrase. If you leave the passphrase empty, anyone +with access to your key file have access to any remote server you authorize with +that key.

+ +

To authorize a remote server to log you in with this key, you copy the +public key to the ~/.ssh/authorized_keys file on the remote server:

+ +
cat ~/.ssh/id_rsa.pub | ssh hostname 'mkdir -m700 -p .ssh && cat >> .ssh/authorized_keys'
+
+ +

The above command makes sure the remote .ssh directory exists and has +the correct permissions, and appends your new public key to any existing +authorized keys.

+ +

If you have multiple keys, or use non-standard filenames, you may have to tell +ssh what key to use. You can do this by adding a host directive in the ssh +configuration file, ~/.ssh/config:

+ +
Host www.example.com
+    IdentityFile ~/.ssh/id_rsa.example.com
+
+ + + diff --git a/doc/help/symbols.html b/doc/help/symbols.html new file mode 100644 index 00000000..a2ae1f41 --- /dev/null +++ b/doc/help/symbols.html @@ -0,0 +1,62 @@ + + + + + + The symbol list + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

The symbol list

+ +

The symbol list shows language-specific symbols extracted from the document. +You can navigate the symbol list by pressing the ⌘Y key.

+ +

To jump to a symbol, select the symbol and press enter, s, +v or o to open it in a tab, a split view, a vertical +split, or replace the current document, respectively.

+ +

Here is a list of all key mappings in the symbol list:

+ +
    +
  • h — move up the tree hierarchy, closing documents
  • +
  • l — move down the tree hierarchy, opening documents
  • +
  • j — move down
  • +
  • k — move up
  • +
  • <ctrl-b> — scroll up one screen
  • +
  • <ctrl-f> — scroll down one screen
  • +
  • <ctrl-e> — scroll down one line
  • +
  • <ctrl-y> — scroll up one line
  • +
  • G — move to the last line (or a specific line with a count)
  • +
  • gg — move to the first line (or a specific line with a count)
  • +
  • H — move to top line ("High")
  • +
  • M — move to middle line
  • +
  • L — move to bottom line ("Low")
  • +
  • / — search
  • +
  • <esc> — cancel and go back
  • +
  • <ctrl-c> — cancel and go back, or reset the search filter
  • +
  • o — open the selected symbol in the current view
  • +
  • s — open the selected symbol in a split view
  • +
  • v — open the selected symbol in a vertical split view
  • +
  • t — open the selected symbol in a tab
  • +
+ +
+
+
+
+ + diff --git a/doc/help/symbols.shtml b/doc/help/symbols.shtml new file mode 100644 index 00000000..0c8910eb --- /dev/null +++ b/doc/help/symbols.shtml @@ -0,0 +1,80 @@ + + + + + + + The symbol list + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

The symbol list

+ +

The symbol list shows language-specific symbols extracted from the document. +You can navigate the symbol list by pressing the ⌘Y key.

+ +

To jump to a symbol, select the symbol and press enter, s, +v or o to open it in a tab, a split view, a vertical +split, or replace the current document, respectively.

+ +

Here is a list of all key mappings in the symbol list:

+ +
    +
  • h — move up the tree hierarchy, closing documents
  • +
  • l — move down the tree hierarchy, opening documents
  • +
  • j — move down
  • +
  • k — move up
  • +
  • <ctrl-b> — scroll up one screen
  • +
  • <ctrl-f> — scroll down one screen
  • +
  • <ctrl-e> — scroll down one line
  • +
  • <ctrl-y> — scroll up one line
  • +
  • G — move to the last line (or a specific line with a count)
  • +
  • gg — move to the first line (or a specific line with a count)
  • +
  • H — move to top line ("High")
  • +
  • M — move to middle line
  • +
  • L — move to bottom line ("Low")
  • +
  • / — search
  • +
  • <esc> — cancel and go back
  • +
  • <ctrl-c> — cancel and go back, or reset the search filter
  • +
  • o — open the selected symbol in the current view
  • +
  • s — open the selected symbol in a split view
  • +
  • v — open the selected symbol in a vertical split view
  • +
  • t — open the selected symbol in a tab
  • +
+
+
+ + + + + + diff --git a/doc/help/terminal.html b/doc/help/terminal.html new file mode 100644 index 00000000..0ca107d2 --- /dev/null +++ b/doc/help/terminal.html @@ -0,0 +1,82 @@ + + + + + + Terminal usage + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Terminal usage

+ +

+ +

Vico includes a command line tool that can be used to launch vico from +the shell.

+ +

To use the tool from the command line, create a link from the +application bundle to a directory in your PATH. If you have a +bin directory in your home directory, create it as:

+ +
ln -s /Applications/Vico.app/Contents/MacOS/vicotool ~/bin/vico
+
+ +

If you want to install it for all users on the machine, create the link +in a global directory (this requires administrator privileges):

+ +
sudo ln -s /Applications/Vico.app/Contents/MacOS/vicotool /usr/local/bin/vico
+
+ +

If Vico is not stored in your /Applications folder, adjust the command +appropriately. Once the link is created, it will be kept up-to-date +when Vico is updated.

+ +

To open a file with Vico from the shell, simply type:

+ +
vico filename
+
+ +

You can open multiple files at once, also using globbing characters (eg, +vico *.py). If you specify a directory, Vico will display a +new window with the directory selected in the explorer sidebar.

+ +

If you want to use Vico in your $EDITOR variable to edit +commit messages, you need to use the -w switch. This makes +Vico wait until the document is closed to return. The return code from +vicotool is 0 if the document saved successfully before closing, and +non-zero if it wasn't saved.

+ +

To see a quick description of the command line usage, use the +-h option:

+ +
$ vico -h
+syntax: vicotool [-hrw] [-e string] [-f file] [-p params] [file ...]
+options:
+    -h            show this help
+    -e string     evaluate the string as a Nu script
+    -f file       read file and evaluate as a Nu script
+    -p params     read script parameters as a JSON string
+    -p -          read script parameters as JSON from standard input
+    -r            enter runloop (don't exit script immediately)
+    -w            wait for document to close
+
+ +
+
+
+
+ + diff --git a/doc/help/terminal.shtml b/doc/help/terminal.shtml new file mode 100644 index 00000000..5c1e4238 --- /dev/null +++ b/doc/help/terminal.shtml @@ -0,0 +1,100 @@ + + + + + + + Terminal usage + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Terminal usage

+ +

+ +

Vico includes a command line tool that can be used to launch vico from +the shell.

+ +

To use the tool from the command line, create a link from the +application bundle to a directory in your PATH. If you have a +bin directory in your home directory, create it as:

+ +
ln -s /Applications/Vico.app/Contents/MacOS/vicotool ~/bin/vico
+
+ +

If you want to install it for all users on the machine, create the link +in a global directory (this requires administrator privileges):

+ +
sudo ln -s /Applications/Vico.app/Contents/MacOS/vicotool /usr/local/bin/vico
+
+ +

If Vico is not stored in your /Applications folder, adjust the command +appropriately. Once the link is created, it will be kept up-to-date +when Vico is updated.

+ +

To open a file with Vico from the shell, simply type:

+ +
vico filename
+
+ +

You can open multiple files at once, also using globbing characters (eg, +vico *.py). If you specify a directory, Vico will display a +new window with the directory selected in the explorer sidebar.

+ +

If you want to use Vico in your $EDITOR variable to edit +commit messages, you need to use the -w switch. This makes +Vico wait until the document is closed to return. The return code from +vicotool is 0 if the document saved successfully before closing, and +non-zero if it wasn't saved.

+ +

To see a quick description of the command line usage, use the +-h option:

+ +
$ vico -h
+syntax: vicotool [-hrw] [-e string] [-f file] [-p params] [file ...]
+options:
+    -h            show this help
+    -e string     evaluate the string as a Nu script
+    -f file       read file and evaluate as a Nu script
+    -p params     read script parameters as a JSON string
+    -p -          read script parameters as JSON from standard input
+    -r            enter runloop (don't exit script immediately)
+    -w            wait for document to close
+
+
+
+ + + + + + diff --git a/doc/help/visual.html b/doc/help/visual.html new file mode 100644 index 00000000..3fd3a8d9 --- /dev/null +++ b/doc/help/visual.html @@ -0,0 +1,48 @@ + + + + + + Visual mode + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

Visual mode

+ +

When you select text in Vico, you enter visual mode. This is similar to normal +mode in that keys act as commands. They do not replace the selected text (you +must use the change command for that).

+ +

Commands that require a motion (operators) instead use the +selected text directly.

+ +

You can select text by dragging with the mouse, or with the v and +V commands. The latter enters visual line mode, where only +whole lines are selected. The selection is extended by moving around with the +regular movement commands.

+ +

You can toggle between visual line mode and character mode by pressing +v while in line mode, or V while in visual character mode.

+ +

Press (escape) to cancel the selection and go back to normal +mode.

+ +
+
+
+
+ + diff --git a/doc/help/visual.shtml b/doc/help/visual.shtml new file mode 100644 index 00000000..f8d9cfdf --- /dev/null +++ b/doc/help/visual.shtml @@ -0,0 +1,56 @@ + + + + + + + Visual mode + + + + +
+
+

+ Vico + home + blog + download + feedback + lists + help + api +

+ + +
+
+ +

Visual mode

+ +

When you select text in Vico, you enter visual mode. This is similar to normal +mode in that keys act as commands. They do not replace the selected text (you +must use the change command for that).

+ +

Commands that require a motion (operators) instead use the +selected text directly.

+ +

You can select text by dragging with the mouse, or with the v and +V commands. The latter enters visual line mode, where only +whole lines are selected. The selection is extended by moving around with the +regular movement commands.

+ +

You can toggle between visual line mode and character mode by pressing +v while in line mode, or V while in visual character mode.

+ +

Press (escape) to cancel the selection and go back to normal +mode.

+
+
+ +
+
+ + + + diff --git a/doc/img/arrow_left.png b/doc/img/arrow_left.png new file mode 100644 index 00000000..5dc69678 Binary files /dev/null and b/doc/img/arrow_left.png differ diff --git a/doc/img/arrow_right.png b/doc/img/arrow_right.png new file mode 100644 index 00000000..b1a18192 Binary files /dev/null and b/doc/img/arrow_right.png differ diff --git a/doc/img/as.png b/doc/img/as.png new file mode 100644 index 00000000..33f9f861 Binary files /dev/null and b/doc/img/as.png differ diff --git a/doc/img/brick.png b/doc/img/brick.png new file mode 100644 index 00000000..7851cf34 Binary files /dev/null and b/doc/img/brick.png differ diff --git a/doc/img/bug.png b/doc/img/bug.png new file mode 100644 index 00000000..2d5fb90e Binary files /dev/null and b/doc/img/bug.png differ diff --git a/doc/img/calendar_view_week.png b/doc/img/calendar_view_week.png new file mode 100644 index 00000000..8fe695f5 Binary files /dev/null and b/doc/img/calendar_view_week.png differ diff --git a/doc/img/comment.png b/doc/img/comment.png new file mode 100644 index 00000000..7bc9233e Binary files /dev/null and b/doc/img/comment.png differ diff --git a/doc/img/comments.png b/doc/img/comments.png new file mode 100644 index 00000000..39433cf7 Binary files /dev/null and b/doc/img/comments.png differ diff --git a/doc/img/help.png b/doc/img/help.png new file mode 100644 index 00000000..5c870176 Binary files /dev/null and b/doc/img/help.png differ diff --git a/doc/img/information.png b/doc/img/information.png new file mode 100644 index 00000000..12cd1aef Binary files /dev/null and b/doc/img/information.png differ diff --git a/doc/img/lightbulb.png b/doc/img/lightbulb.png new file mode 100644 index 00000000..d22fde8b Binary files /dev/null and b/doc/img/lightbulb.png differ diff --git a/doc/img/rss.png b/doc/img/rss.png new file mode 100644 index 00000000..1dc6ff30 Binary files /dev/null and b/doc/img/rss.png differ diff --git a/doc/img/sidebar.png b/doc/img/sidebar.png new file mode 100644 index 00000000..7c73b1c6 Binary files /dev/null and b/doc/img/sidebar.png differ diff --git a/doc/img/sidebar_small.jpg b/doc/img/sidebar_small.jpg new file mode 100644 index 00000000..24feb5ae Binary files /dev/null and b/doc/img/sidebar_small.jpg differ diff --git a/doc/img/sitemap_color.png b/doc/img/sitemap_color.png new file mode 100644 index 00000000..c64582bc Binary files /dev/null and b/doc/img/sitemap_color.png differ diff --git a/doc/img/spinner.gif b/doc/img/spinner.gif new file mode 100644 index 00000000..a77f25af Binary files /dev/null and b/doc/img/spinner.gif differ diff --git a/doc/img/split.png b/doc/img/split.png new file mode 100644 index 00000000..61ba864c Binary files /dev/null and b/doc/img/split.png differ diff --git a/doc/img/split_small.jpg b/doc/img/split_small.jpg new file mode 100644 index 00000000..21e8aac7 Binary files /dev/null and b/doc/img/split_small.jpg differ diff --git a/doc/img/star.png b/doc/img/star.png new file mode 100644 index 00000000..b88c8578 Binary files /dev/null and b/doc/img/star.png differ diff --git a/doc/img/symlist.png b/doc/img/symlist.png new file mode 100644 index 00000000..74981ae6 Binary files /dev/null and b/doc/img/symlist.png differ diff --git a/doc/img/symlist_small.jpg b/doc/img/symlist_small.jpg new file mode 100644 index 00000000..8ec81512 Binary files /dev/null and b/doc/img/symlist_small.jpg differ diff --git a/doc/img/time.png b/doc/img/time.png new file mode 100644 index 00000000..911da3f1 Binary files /dev/null and b/doc/img/time.png differ diff --git a/doc/img/vico-logo-250px.png b/doc/img/vico-logo-250px.png new file mode 100644 index 00000000..f243d6f4 Binary files /dev/null and b/doc/img/vico-logo-250px.png differ diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 00000000..eda5fdfc --- /dev/null +++ b/doc/index.html @@ -0,0 +1,83 @@ + + + + + + About Vico + + + + + + + + +
+
+

+ Vico + home + download + + help + api +

+
+
+ +

+ Vico is a programmers text editor with a strong focus on keyboard + control. Vico uses vi key bindings to let you keep your fingers on + the home row and work effectively with your text. +

+ +

+ Vico comes with support for the most common languages, such as html, + php, ruby and javascript. And since Vico can use existing TextMate + bundles, it's easy to add more. +

+ +

+ Vico also features integrated SFTP for working with remote files, split + views to let you edit files side-by-side and a file explorer for fast + project navigation. +

+ +

+ Quickly navigate between files using fuzzy find, or open files directly + from the ex command line with tab completion. Jumping to symbols is easy + with the symbol list, or use ctags to find the definition under the + cursor. Ctags even works remotely over SFTP. +

+ +

+ Vico is scriptable in the Nu language. +

+ +

+ + + +

+

+ Click images to see a larger version. +

+ +
+
+ + + + +