Skip to content

Commit

Permalink
Merge pull request #161 from stephenfin/python3-update
Browse files Browse the repository at this point in the history
Python3 Update & General Refactoring of Codebase
  • Loading branch information
stephenfin committed Nov 29, 2013
2 parents a879f96 + c973327 commit 458b4f8
Show file tree
Hide file tree
Showing 24 changed files with 1,899 additions and 3,817 deletions.
77 changes: 77 additions & 0 deletions CTAGS_README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
TAG FILE FORMAT
===============

When not running in etags mode, each entry in the tag file consists of a
separate line, each looking like this in the most general case::

tag_name<TAB>file_name<TAB>ex_cmd;"<TAB>extension_fields

The fields and separators of these lines are specified as follows:

#. Tag name
#. Single tab character
#. Name of the file in which the object associated with the tag is located
#. Single tab character
#. EX command used to locate the tag within the file; generally a search
pattern (either ``/pattern/`` or ``?pattern?``) or line number (see
``−−excmd``).
Tag file format 2 (see ``−−format``) extends this EX command under certain
circumstances to include a set of extension fields (described below)
embedded in an EX comment immediately appended to the EX command, which
leaves it backward-compatible with original ``vi(1)`` implementations.

A few special tags are written into the tag file for internal purposes. These
tags are composed in such a way that they always sort to the top of the file.
Therefore, the first two characters of these tags are used a magic number to
detect a tag file for purposes of determining whether a valid tag file is
being overwritten rather than a source file. Note that the name of each source
file will be recorded in the tag file exactly as it appears on the command
line.

Therefore, if the path you specified on the command line was relative to the
current directory, then it will be recorded in that same manner in the tag
file. See, however, the ``−−tag−relative`` option for how this behavior can be
modified.

Extension fields are tab-separated key-value pairs appended to the end of the
EX command as a comment, as described above. These key value pairs appear in
the general form ``key:value``. Their presence in the lines of the tag file
are controlled by the ``−−fields`` option. The possible keys and the meaning
of their values are as follows:

access
Indicates the visibility of this class member, where value is specific to
the language.

file
Indicates that the tag has file-limited visibility. This key has no
corresponding value.

kind
Indicates the type, or kind, of tag. Its value is either one of the
corresponding one-letter flags described under the various
``−−<LANG>−kinds`` options above, or a full name. It is permitted (and is,
in fact, the default) for the key portion of this field to be omitted. The
optional behaviors are controlled with the ``−−fields`` option.

implementation
When present, this indicates a limited implementation (abstract vs. concrete)
of a routine or class, where value is specific to the language ("virtual" or
"pure virtual" for C++; "abstract" for Java).

inherits
When present, value is a comma-separated list of classes from which this
class is derived (i.e. inherits from).

signature
When present, value is a language-dependent representation of the
signature of a routine. A routine signature in its complete form specifies
the return type of a routine and its formal argument list. This extension
field is presently supported only for C-based languages and does not
include the return type.

In addition, information on the scope of the tag definition may be available,
with the key portion equal to some language-dependent construct name and its
value the name declared for that construct in the program. This scope entry
indicates the scope in which the tag was found. For example, a tag generated
for a C structure member would have a scope looking like ``struct:myStruct``.
46 changes: 31 additions & 15 deletions CTags.sublime-settings
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
// Place your settings in the file "User/CTags.sublime-settings", which
// overrides the settings in here.
{
// All options in here can also be specified in your project settings
// with a prepended "ctags_" for example if you have
//
// "settings":
// {
// "ctags_command": ""echo \":ctags .tags\" | ghci -v0 /path/to/Main.hs"
// }
//
// in your project settings, this will override the settings specified
// in this file and in your user settings.
// Enable debugging
"debug": false,

"debug" : false,
// Enable autocomplete
"autocomplete": false,
"command" : "ctags -R -f .tags",
"filters" : {

// Alter this value if your ctags command is not in the PATH, or if using
// a different version of ctags to that in the path (i.e. for OSX)
"command": "",

// Set to false to disable recursive search for ctag generation
"recursive" : true,

// Default read/write location of the tags file
"tag_file" : ".tags",

//
"filters": {
"source.python": {"type":"^i$"}
},

//
"definition_filters": {
"source.php": {"type":"^v$"}
},

//
"definition_current_first": true,

// Show the ctags menu in the context menus
"show_context_menus": true,
"extra_tag_paths" : [ [["source.python", "windows"], "C:\\Python27\\Lib\\tags"]],
"extra_tag_files" : [".gemtags", "tags"]

// Paths to additional tag files to include in tag search. This is a list
// of items in the form [["language", "platform"], "path"]
"extra_tag_paths": [[["source.python", "windows"], "C:\\Python27\\Lib\\tags"]],

// Additional tag files to search
"extra_tag_files": [".gemtags", "tags"]
}
17 changes: 5 additions & 12 deletions Context.sublime-menu
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,13 @@
"caption": "-"
},
{
"command": "navigate_to_definition",
"args": {},
"command": "navigate_to_definition",
"args": {},
"caption": "Navigate to Definition"
},
},
{
"command": "jump_back",
"args": {},
"command": "jump_prev",
"args": {},
"caption": "Jump Back"
},
{
"command": "jump_back",
"args": {
"to": "last_modification"
},
"caption": "Jump to Last Modification"
}
]
9 changes: 2 additions & 7 deletions Default.sublime-keymap
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,13 @@
"keys": ["ctrl+t", "ctrl+y"]
},
{
"command": "jump_back",
"command": "jump_prev",
"keys": ["ctrl+t", "ctrl+b"]
},
{
"command": "jump_back",
"command": "jump_prev",
"keys": ["ctrl+shift+comma"]
},
{
"command": "jump_back",
"args": {"to": "last_modification"},
"keys": ["ctrl+t", "ctrl+m"]
},
{
"command": "rebuild_tags",
"keys": ["ctrl+t", "ctrl+r"]
Expand Down
2 changes: 1 addition & 1 deletion Default.sublime-mousemap
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
"button": "button2",
"count": 1,
"modifiers": ["ctrl","shift"],
"command": "jump_back"
"command": "jump_prev"
}
]
4 changes: 2 additions & 2 deletions Main.sublime-menu
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"command": "navigate_to_definition"
},
{
"command": "jump_back"
"command": "jump_prev"
},
{
"command": "rebuild_tags"
Expand All @@ -33,7 +33,7 @@
]
},
{
//"argr_comment": "TODO",
//"arg_comment": "TODO",
"args": {
"type": "multi"
},
Expand Down
141 changes: 0 additions & 141 deletions README.creole

This file was deleted.

Loading

0 comments on commit 458b4f8

Please sign in to comment.