Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
5f954d10
Commit
5f954d10
authored
May 06, 2010
by
hjk
Browse files
fakevim: document the 'RangeMode' enum
parent
73e9f14a
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/fakevim/fakevimhandler.cpp
View file @
5f954d10
...
...
@@ -56,6 +56,7 @@
// m_tc.position() (== position()). The character below position() is not included
// if the last movement command was exclusive (MoveExclusive).
// The value of m_tc.anchor() is not used.
//
#include
"fakevimhandler.h"
#include
"fakevimsyntax.h"
...
...
@@ -129,6 +130,8 @@ const int ParagraphSeparator = 0x00002029;
using
namespace
Qt
;
/*! A \e Mode represents one of the basic modes of operation of FakeVim.
*/
enum
Mode
{
...
...
@@ -138,37 +141,41 @@ enum Mode
ExMode
,
};
/*! A \e SubMode is used for things that require one more data item
and are 'nested' behind a \l Mode.
*/
enum
SubMode
{
NoSubMode
,
ChangeSubMode
,
//
u
sed for c
DeleteSubMode
,
//
u
sed for d
FilterSubMode
,
//
u
sed for !
IndentSubMode
,
//
u
sed for =
RegisterSubMode
,
//
u
sed for "
ShiftLeftSubMode
,
//
u
sed for <
ShiftRightSubMode
,
//
u
sed for >
TransformSubMode
,
//
u
sed for ~/gu/gU
WindowSubMode
,
//
u
sed for Ctrl-w
YankSubMode
,
//
u
sed for y
ZSubMode
,
//
u
sed for z
CapitalZSubMode
//
u
sed for Z
ChangeSubMode
,
//
U
sed for c
DeleteSubMode
,
//
U
sed for d
FilterSubMode
,
//
U
sed for !
IndentSubMode
,
//
U
sed for =
RegisterSubMode
,
//
U
sed for "
ShiftLeftSubMode
,
//
U
sed for <
ShiftRightSubMode
,
//
U
sed for >
TransformSubMode
,
//
U
sed for ~/gu/gU
WindowSubMode
,
//
U
sed for Ctrl-w
YankSubMode
,
//
U
sed for y
ZSubMode
,
//
U
sed for z
CapitalZSubMode
//
U
sed for Z
};
/*! A \e SubSubMode is used for things that require one more data item
and are 'nested' behind a \l SubMode.
*/
enum
SubSubMode
{
// typically used for things that require one more data item
// and are 'nested' behind a mode
NoSubSubMode
,
FtSubSubMode
,
//
u
sed for f, F, t, T
MarkSubSubMode
,
//
u
sed for m
BackTickSubSubMode
,
//
u
sed for `
TickSubSubMode
,
//
u
sed for '
InvertCaseSubSubMode
,
//
u
sed for ~
DownCaseSubSubMode
,
//
u
sed for gu
UpCaseSubSubMode
,
//
u
sed for gU
ReplaceSubSubMode
,
//
u
sed for r after visual mode
TextObjectSubSubMode
,
//
u
sed for thing like iw, aW, as etc.
FtSubSubMode
,
//
U
sed for f, F, t, T
.
MarkSubSubMode
,
//
U
sed for m
.
BackTickSubSubMode
,
//
U
sed for `
.
TickSubSubMode
,
//
U
sed for '
.
InvertCaseSubSubMode
,
//
U
sed for ~
.
DownCaseSubSubMode
,
//
U
sed for gu
.
UpCaseSubSubMode
,
//
U
sed for gU
.
ReplaceSubSubMode
,
//
U
sed for r after visual mode
.
TextObjectSubSubMode
,
//
U
sed for thing like iw, aW, as etc.
SearchSubSubMode
,
};
...
...
@@ -187,12 +194,33 @@ enum MoveType
MoveLineWise
,
};
/*!
\enum RangeMode
The \e RangeMode serves as a means to define how the "Range" between
the \l cursor and the \l anchor position is to be interpreted.
\value RangeCharMode Entered by pressing \key v. The range includes
all characters between cursor and anchor.
\value RangeLineMode Entered by pressing \key V. The range includes
all lines between the line of the cursor and
the line of the anchor.
\value RangeLineModeExclusice Like \l RangeLineMode, but keeps one
newline when deleting.
\value RangeBlockMode Entered by pressing \key Ctrl-v. The range includes
all characters with line and column coordinates
between line and columns coordinates of cursor and
anchor.
\value RangeBlockAndTailMode Like \l RangeBlockMode, but also includes
all characters in the affected lines up to the end
of these lines.
*/
enum
RangeMode
{
RangeCharMode
,
// v
RangeLineMode
,
// V
RangeLineModeExclusive
,
// like above, but keep one newline when deleting
RangeBlockMode
,
// Ctrl-v
RangeCharMode
,
// v
RangeLineMode
,
// V
RangeLineModeExclusive
,
RangeBlockMode
,
// Ctrl-v
RangeBlockAndTailMode
,
// Ctrl-v for D and X
};
...
...
@@ -206,8 +234,8 @@ enum EventResult
struct
Column
{
Column
(
int
p
,
int
l
)
:
physical
(
p
),
logical
(
l
)
{}
int
physical
;
//
n
umber of characters in the data
int
logical
;
//
c
olumn on screen
int
physical
;
//
N
umber of characters in the data
.
int
logical
;
//
C
olumn on screen
.
};
struct
CursorPosition
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment