mirror of
https://github.com/amix/vimrc
synced 2025-02-28 14:12:51 +08:00
issue #60
This commit is contained in:
parent
b92f0f2eb1
commit
a7dc67b29b
@ -1,120 +1,120 @@
|
||||
*indent-object.txt* Text objects based on indent levels.
|
||||
|
||||
Copyright (c) 2010 Michael Smith
|
||||
|
||||
Indent Text Objects
|
||||
|
||||
INTRODUCTION |idntobj-introduction|
|
||||
TEXT OBJECTS |idntobj-objects|
|
||||
BLANK LINES |idntobj-blanklines|
|
||||
ABOUT |idntobj-about|
|
||||
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *idntobj-introduction*
|
||||
|
||||
Vim text objects provide a convenient way to select and operate on various
|
||||
types of objects. These objects include regions surrounded by various types of
|
||||
brackets and various parts of language (ie sentences, paragraphs, etc).
|
||||
|
||||
This plugin defines a new text object, based on indentation levels. This is
|
||||
very useful in languages such as Python, in which the syntax defines scope in
|
||||
terms of indentation. Using the objects defined in this plugin, an entire if
|
||||
structure can be quickly selected, for example.
|
||||
|
||||
|
||||
==============================================================================
|
||||
TEXT OBJECTS *ai* *ii* *aI* *iI* *idntobj-objects*
|
||||
|
||||
This plugin defines two new text objects. These are very similar - they differ
|
||||
only in whether they include the line below the block or not.
|
||||
|
||||
Key Mapping Description ~
|
||||
>
|
||||
<count>ai (A)n (I)ndentation level and line above.
|
||||
<count>ii (I)nner (I)ndentation level (no line above).
|
||||
<count>aI (A)n (I)ndentation level and lines above/below.
|
||||
<count>iI (I)nner (I)ndentation level (no lines above/below).
|
||||
<
|
||||
|
||||
Note that the iI mapping is mostly included simply for completeness, it is
|
||||
effectively a synonym for ii.
|
||||
|
||||
Just like regular text objects, these mappings can be used either with
|
||||
operators expecting a motion, such as 'd' or 'c', as well as in visual mode.
|
||||
In visual mode the mapping can be repeated, which has the effect of
|
||||
iteratively increasing the scope of indentation block selected. Specifying a
|
||||
count can be used to achieve the same effect.
|
||||
|
||||
The difference between |ai| and |aI| is that |ai| includes the line
|
||||
immediately above the indentation block, whereas aI includes not only that,
|
||||
but also the line below. Which of these is most useful largely depends on the
|
||||
structure of the language being edited.
|
||||
|
||||
For example, when editing the Python code, |ai| is generally more useful, as
|
||||
the line above the indentation block is usually related to it. For example, in
|
||||
the following code (* is used to indicate the cursor position):
|
||||
>
|
||||
if foo > 3:
|
||||
log("foo is big") *
|
||||
foo = 3
|
||||
do_something_else()
|
||||
<
|
||||
the if clause is logically related to the code block, whereas the function
|
||||
call below is not. It is unlikely we would want to select the line below when
|
||||
we are interested in the if block.
|
||||
|
||||
However, in other languages, such as Vim scripts, control structures are
|
||||
usually terminated with something like 'endif'. Therefore, in this example:
|
||||
>
|
||||
if foo > 3
|
||||
echo "foo is big" *
|
||||
let foo = 3
|
||||
endif
|
||||
call do_something_else()
|
||||
<
|
||||
we would more likely want to include the endif when we select the if
|
||||
structure.
|
||||
|
||||
|
||||
==============================================================================
|
||||
BLANK LINES *idntobj-blanklines*
|
||||
|
||||
When scanning code blocks, the plugin usually ignores blank lines. There is an
|
||||
exception to this, however, when the block being selected is not indented. In
|
||||
this case if blank lines are ignored, then the entire file would be selected.
|
||||
Instead when code at the top level is being indented blank lines are
|
||||
considered to delimit the block.
|
||||
|
||||
|
||||
==============================================================================
|
||||
ABOUT *idntobj-about*
|
||||
|
||||
vim-indent-object was written by Michael Smith <msmith@msmith.id.au>. The
|
||||
project repository is kept at:
|
||||
|
||||
http://github.com/michaeljsmith/vim-indent-object
|
||||
|
||||
Any feedback or criticism is welcome, and can be mailed to the author at the
|
||||
above email address. Alternatively issues can be raised on the project
|
||||
website.
|
||||
|
||||
Licence:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
*indent-object.txt* Text objects based on indent levels.
|
||||
|
||||
Copyright (c) 2010 Michael Smith
|
||||
|
||||
Indent Text Objects
|
||||
|
||||
INTRODUCTION |idntobj-introduction|
|
||||
TEXT OBJECTS |idntobj-objects|
|
||||
BLANK LINES |idntobj-blanklines|
|
||||
ABOUT |idntobj-about|
|
||||
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *idntobj-introduction*
|
||||
|
||||
Vim text objects provide a convenient way to select and operate on various
|
||||
types of objects. These objects include regions surrounded by various types of
|
||||
brackets and various parts of language (ie sentences, paragraphs, etc).
|
||||
|
||||
This plugin defines a new text object, based on indentation levels. This is
|
||||
very useful in languages such as Python, in which the syntax defines scope in
|
||||
terms of indentation. Using the objects defined in this plugin, an entire if
|
||||
structure can be quickly selected, for example.
|
||||
|
||||
|
||||
==============================================================================
|
||||
TEXT OBJECTS *ai* *ii* *aI* *iI* *idntobj-objects*
|
||||
|
||||
This plugin defines two new text objects. These are very similar - they differ
|
||||
only in whether they include the line below the block or not.
|
||||
|
||||
Key Mapping Description ~
|
||||
>
|
||||
<count>ai (A)n (I)ndentation level and line above.
|
||||
<count>ii (I)nner (I)ndentation level (no line above).
|
||||
<count>aI (A)n (I)ndentation level and lines above/below.
|
||||
<count>iI (I)nner (I)ndentation level (no lines above/below).
|
||||
<
|
||||
|
||||
Note that the iI mapping is mostly included simply for completeness, it is
|
||||
effectively a synonym for ii.
|
||||
|
||||
Just like regular text objects, these mappings can be used either with
|
||||
operators expecting a motion, such as 'd' or 'c', as well as in visual mode.
|
||||
In visual mode the mapping can be repeated, which has the effect of
|
||||
iteratively increasing the scope of indentation block selected. Specifying a
|
||||
count can be used to achieve the same effect.
|
||||
|
||||
The difference between |ai| and |aI| is that |ai| includes the line
|
||||
immediately above the indentation block, whereas aI includes not only that,
|
||||
but also the line below. Which of these is most useful largely depends on the
|
||||
structure of the language being edited.
|
||||
|
||||
For example, when editing the Python code, |ai| is generally more useful, as
|
||||
the line above the indentation block is usually related to it. For example, in
|
||||
the following code (* is used to indicate the cursor position):
|
||||
>
|
||||
if foo > 3:
|
||||
log("foo is big") *
|
||||
foo = 3
|
||||
do_something_else()
|
||||
<
|
||||
the if clause is logically related to the code block, whereas the function
|
||||
call below is not. It is unlikely we would want to select the line below when
|
||||
we are interested in the if block.
|
||||
|
||||
However, in other languages, such as Vim scripts, control structures are
|
||||
usually terminated with something like 'endif'. Therefore, in this example:
|
||||
>
|
||||
if foo > 3
|
||||
echo "foo is big" *
|
||||
let foo = 3
|
||||
endif
|
||||
call do_something_else()
|
||||
<
|
||||
we would more likely want to include the endif when we select the if
|
||||
structure.
|
||||
|
||||
|
||||
==============================================================================
|
||||
BLANK LINES *idntobj-blanklines*
|
||||
|
||||
When scanning code blocks, the plugin usually ignores blank lines. There is an
|
||||
exception to this, however, when the block being selected is not indented. In
|
||||
this case if blank lines are ignored, then the entire file would be selected.
|
||||
Instead when code at the top level is being indented blank lines are
|
||||
considered to delimit the block.
|
||||
|
||||
|
||||
==============================================================================
|
||||
ABOUT *idntobj-about*
|
||||
|
||||
vim-indent-object was written by Michael Smith <msmith@msmith.id.au>. The
|
||||
project repository is kept at:
|
||||
|
||||
http://github.com/michaeljsmith/vim-indent-object
|
||||
|
||||
Any feedback or criticism is welcome, and can be mailed to the author at the
|
||||
above email address. Alternatively issues can be raised on the project
|
||||
website.
|
||||
|
||||
Licence:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
|
@ -1,328 +1,328 @@
|
||||
#######################################################################
|
||||
# C# Snippets for UltiSnips #
|
||||
#######################################################################
|
||||
|
||||
priority -50
|
||||
|
||||
#########################
|
||||
# classes and structs #
|
||||
#########################
|
||||
|
||||
snippet namespace "namespace" b
|
||||
namespace ${1:MyNamespace}
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet class "class" w
|
||||
class ${1:MyClass}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet struct "struct" w
|
||||
struct ${1:MyStruct}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet interface "interface" w
|
||||
interface I${1:Interface}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet enum "enumeration" b
|
||||
enum ${1:MyEnum} { ${2:Item} };
|
||||
endsnippet
|
||||
|
||||
|
||||
############
|
||||
# Main() #
|
||||
############
|
||||
|
||||
snippet sim "static int main" b
|
||||
static int Main(string[] args)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet svm "static void main" b
|
||||
static void Main(string[] args)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
################
|
||||
# properties #
|
||||
################
|
||||
|
||||
snippet prop "Simple property declaration" b
|
||||
public ${1:int} ${2:MyProperty} { get; set; }
|
||||
endsnippet
|
||||
|
||||
snippet propfull "Full property declaration" b
|
||||
private ${1:int} ${2:_myProperty};
|
||||
|
||||
public $1 ${3:MyProperty}
|
||||
{
|
||||
get { return $2; }
|
||||
set { $2 = value; }
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet propg "Property with a private setter" b
|
||||
public ${1:int} ${2:MyProperty} { get; private set; }
|
||||
endsnippet
|
||||
|
||||
|
||||
############
|
||||
# blocks #
|
||||
############
|
||||
|
||||
snippet #if "#if #endif" b
|
||||
#if ${1:DEBUG}
|
||||
${VISUAL}$0
|
||||
#endif
|
||||
endsnippet
|
||||
|
||||
snippet #region "#region #endregion" b
|
||||
#region ${1:Region}
|
||||
${VISUAL}$0
|
||||
#endregion
|
||||
endsnippet
|
||||
|
||||
|
||||
###########
|
||||
# loops #
|
||||
###########
|
||||
|
||||
snippet for "for loop" b
|
||||
for (int ${1:i} = 0; $1 < ${2:10}; $1++)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet forr "for loop (reverse)" b
|
||||
for (int ${1:i} = ${2:10}; $1 >= 0; $1--)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet foreach "foreach loop" b
|
||||
foreach (${3:var} ${2:item} in ${1:items})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet while "while loop" b
|
||||
while (${1:true})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet do "do loop" b
|
||||
do
|
||||
{
|
||||
${VISUAL}$0
|
||||
} while (${1:true});
|
||||
endsnippet
|
||||
|
||||
|
||||
###############
|
||||
# branching #
|
||||
###############
|
||||
|
||||
snippet if "if statement" b
|
||||
if ($1)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet ife "if else statement" b
|
||||
if ($1)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet elif "else if" b
|
||||
else if ($1)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet elseif "else if" b
|
||||
else if ($1)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet ifnn "if not null" b
|
||||
if ($1 != null)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet switch "switch statement" b
|
||||
switch (${1:statement})
|
||||
{
|
||||
case ${2:value}:
|
||||
break;
|
||||
|
||||
default:
|
||||
$0break;
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet case "case" b
|
||||
case ${1:value}:
|
||||
$2
|
||||
break;
|
||||
endsnippet
|
||||
|
||||
|
||||
##############
|
||||
# wrappers #
|
||||
##############
|
||||
|
||||
snippet using "using statement" b
|
||||
using (${1:resource})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet unchecked "unchecked block" b
|
||||
unchecked
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet checked "checked block" b
|
||||
checked
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet unsafe "unsafe" b
|
||||
unsafe
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
########################
|
||||
# exception handling #
|
||||
########################
|
||||
|
||||
snippet try "try catch block" b
|
||||
try
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
catch (${1:Exception} ${2:e})
|
||||
{
|
||||
throw;
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet tryf "try finally block" b
|
||||
try
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet throw "throw"
|
||||
throw new ${1}Exception("${2}");
|
||||
endsnippet
|
||||
|
||||
|
||||
##########
|
||||
# LINQ #
|
||||
##########
|
||||
|
||||
snippet from "LINQ syntax" b
|
||||
var ${1:seq} =
|
||||
from ${2:item1} in ${3:items1}
|
||||
join ${4:item2} in ${5:items2} on $2.${6:prop1} equals $4.${7:prop2}
|
||||
select ${8:$2.prop3}
|
||||
where ${9:clause}
|
||||
endsnippet
|
||||
|
||||
|
||||
############################
|
||||
# feedback and debugging #
|
||||
############################
|
||||
|
||||
snippet da "Debug.Assert" b
|
||||
Debug.Assert(${1:true});
|
||||
endsnippet
|
||||
|
||||
snippet cw "Console.WriteLine" b
|
||||
Console.WriteLine("$1");
|
||||
endsnippet
|
||||
|
||||
# as you first type comma-separated parameters on the right, {n} values appear in the format string
|
||||
snippet cwp "Console.WriteLine with parameters" b
|
||||
Console.WriteLine("${2:`!p
|
||||
snip.rv = ' '.join(['{' + str(i) + '}' for i in range(t[1].count(','))])
|
||||
`}"${1:, something});
|
||||
endsnippet
|
||||
|
||||
snippet mbox "Message box" b
|
||||
MessageBox.Show("${1:message}");
|
||||
endsnippet
|
||||
|
||||
|
||||
##################
|
||||
# full methods #
|
||||
##################
|
||||
|
||||
snippet equals "Equals method" b
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj == null || GetType() != obj.GetType())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$0
|
||||
return base.Equals(obj);
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
##############
|
||||
# comments #
|
||||
##############
|
||||
|
||||
snippet /// "XML comment" b
|
||||
/// <summary>
|
||||
/// $1
|
||||
/// </summary>
|
||||
endsnippet
|
||||
#######################################################################
|
||||
# C# Snippets for UltiSnips #
|
||||
#######################################################################
|
||||
|
||||
priority -50
|
||||
|
||||
#########################
|
||||
# classes and structs #
|
||||
#########################
|
||||
|
||||
snippet namespace "namespace" b
|
||||
namespace ${1:MyNamespace}
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet class "class" w
|
||||
class ${1:MyClass}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet struct "struct" w
|
||||
struct ${1:MyStruct}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet interface "interface" w
|
||||
interface I${1:Interface}
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet enum "enumeration" b
|
||||
enum ${1:MyEnum} { ${2:Item} };
|
||||
endsnippet
|
||||
|
||||
|
||||
############
|
||||
# Main() #
|
||||
############
|
||||
|
||||
snippet sim "static int main" b
|
||||
static int Main(string[] args)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet svm "static void main" b
|
||||
static void Main(string[] args)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
################
|
||||
# properties #
|
||||
################
|
||||
|
||||
snippet prop "Simple property declaration" b
|
||||
public ${1:int} ${2:MyProperty} { get; set; }
|
||||
endsnippet
|
||||
|
||||
snippet propfull "Full property declaration" b
|
||||
private ${1:int} ${2:_myProperty};
|
||||
|
||||
public $1 ${3:MyProperty}
|
||||
{
|
||||
get { return $2; }
|
||||
set { $2 = value; }
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet propg "Property with a private setter" b
|
||||
public ${1:int} ${2:MyProperty} { get; private set; }
|
||||
endsnippet
|
||||
|
||||
|
||||
############
|
||||
# blocks #
|
||||
############
|
||||
|
||||
snippet #if "#if #endif" b
|
||||
#if ${1:DEBUG}
|
||||
${VISUAL}$0
|
||||
#endif
|
||||
endsnippet
|
||||
|
||||
snippet #region "#region #endregion" b
|
||||
#region ${1:Region}
|
||||
${VISUAL}$0
|
||||
#endregion
|
||||
endsnippet
|
||||
|
||||
|
||||
###########
|
||||
# loops #
|
||||
###########
|
||||
|
||||
snippet for "for loop" b
|
||||
for (int ${1:i} = 0; $1 < ${2:10}; $1++)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet forr "for loop (reverse)" b
|
||||
for (int ${1:i} = ${2:10}; $1 >= 0; $1--)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet foreach "foreach loop" b
|
||||
foreach (${3:var} ${2:item} in ${1:items})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet while "while loop" b
|
||||
while (${1:true})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet do "do loop" b
|
||||
do
|
||||
{
|
||||
${VISUAL}$0
|
||||
} while (${1:true});
|
||||
endsnippet
|
||||
|
||||
|
||||
###############
|
||||
# branching #
|
||||
###############
|
||||
|
||||
snippet if "if statement" b
|
||||
if ($1)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet ife "if else statement" b
|
||||
if ($1)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet elif "else if" b
|
||||
else if ($1)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet elseif "else if" b
|
||||
else if ($1)
|
||||
{
|
||||
$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet ifnn "if not null" b
|
||||
if ($1 != null)
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet switch "switch statement" b
|
||||
switch (${1:statement})
|
||||
{
|
||||
case ${2:value}:
|
||||
break;
|
||||
|
||||
default:
|
||||
$0break;
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet case "case" b
|
||||
case ${1:value}:
|
||||
$2
|
||||
break;
|
||||
endsnippet
|
||||
|
||||
|
||||
##############
|
||||
# wrappers #
|
||||
##############
|
||||
|
||||
snippet using "using statement" b
|
||||
using (${1:resource})
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet unchecked "unchecked block" b
|
||||
unchecked
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet checked "checked block" b
|
||||
checked
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet unsafe "unsafe" b
|
||||
unsafe
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
########################
|
||||
# exception handling #
|
||||
########################
|
||||
|
||||
snippet try "try catch block" b
|
||||
try
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
catch (${1:Exception} ${2:e})
|
||||
{
|
||||
throw;
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet tryf "try finally block" b
|
||||
try
|
||||
{
|
||||
${VISUAL}$0
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
endsnippet
|
||||
|
||||
snippet throw "throw"
|
||||
throw new ${1}Exception("${2}");
|
||||
endsnippet
|
||||
|
||||
|
||||
##########
|
||||
# LINQ #
|
||||
##########
|
||||
|
||||
snippet from "LINQ syntax" b
|
||||
var ${1:seq} =
|
||||
from ${2:item1} in ${3:items1}
|
||||
join ${4:item2} in ${5:items2} on $2.${6:prop1} equals $4.${7:prop2}
|
||||
select ${8:$2.prop3}
|
||||
where ${9:clause}
|
||||
endsnippet
|
||||
|
||||
|
||||
############################
|
||||
# feedback and debugging #
|
||||
############################
|
||||
|
||||
snippet da "Debug.Assert" b
|
||||
Debug.Assert(${1:true});
|
||||
endsnippet
|
||||
|
||||
snippet cw "Console.WriteLine" b
|
||||
Console.WriteLine("$1");
|
||||
endsnippet
|
||||
|
||||
# as you first type comma-separated parameters on the right, {n} values appear in the format string
|
||||
snippet cwp "Console.WriteLine with parameters" b
|
||||
Console.WriteLine("${2:`!p
|
||||
snip.rv = ' '.join(['{' + str(i) + '}' for i in range(t[1].count(','))])
|
||||
`}"${1:, something});
|
||||
endsnippet
|
||||
|
||||
snippet mbox "Message box" b
|
||||
MessageBox.Show("${1:message}");
|
||||
endsnippet
|
||||
|
||||
|
||||
##################
|
||||
# full methods #
|
||||
##################
|
||||
|
||||
snippet equals "Equals method" b
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj == null || GetType() != obj.GetType())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$0
|
||||
return base.Equals(obj);
|
||||
}
|
||||
endsnippet
|
||||
|
||||
|
||||
##############
|
||||
# comments #
|
||||
##############
|
||||
|
||||
snippet /// "XML comment" b
|
||||
/// <summary>
|
||||
/// $1
|
||||
/// </summary>
|
||||
endsnippet
|
||||
|
@ -62,7 +62,7 @@ function! s:markdown_room()
|
||||
exec( "hi StatusLineNC " . l:highlightfgbgcolor )
|
||||
endfunction
|
||||
|
||||
function! g:zenroom_goyo_before()
|
||||
function! g:Zenroom_goyo_before()
|
||||
if !has("gui_running")
|
||||
return
|
||||
endif
|
||||
@ -73,7 +73,7 @@ function! g:zenroom_goyo_before()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! g:zenroom_goyo_after()
|
||||
function! g:Zenroom_goyo_after()
|
||||
if !has("gui_running")
|
||||
return
|
||||
endif
|
||||
@ -87,4 +87,4 @@ function! g:zenroom_goyo_after()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let g:goyo_callbacks = [ function('g:zenroom_goyo_before'), function('g:zenroom_goyo_after') ]
|
||||
let g:goyo_callbacks = [ function('g:Zenroom_goyo_before'), function('g:Zenroom_goyo_after') ]
|
||||
|
Loading…
Reference in New Issue
Block a user