Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
nuttx-apps
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
f4grx
nuttx-apps
Commits
c873c4b3
Commit
c873c4b3
authored
11 years ago
by
Gregory Nutt
Browse files
Options
Downloads
Patches
Plain Diff
VI: Turn off cursor when updating screen; eliminate some warnings
parent
f4343e59
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
system/vi/vi.c
+70
-9
70 additions, 9 deletions
system/vi/vi.c
with
70 additions
and
9 deletions
system/vi/vi.c
+
70
−
9
View file @
c873c4b3
...
...
@@ -240,19 +240,27 @@ static void vi_write(FAR struct vi_s *vi, FAR const char *buffer,
size_t
buflen
);
static
void
vi_putch
(
FAR
struct
vi_s
*
vi
,
char
ch
);
static
char
vi_getch
(
FAR
struct
vi_s
*
vi
);
#if 0 /* Not used */
static void vi_blinkon(FAR struct vi_s *vi);
#endif
static
void
vi_attriboff
(
FAR
struct
vi_s
*
vi
);
static
void
vi_boldon
(
FAR
struct
vi_s
*
vi
);
static
void
vi_attriboff
(
FAR
struct
vi_s
*
vi
);
static
void
vi_reverseon
(
FAR
struct
vi_s
*
vi
);
static
void
vi_attriboff
(
FAR
struct
vi_s
*
vi
);
static
void
vi_cursoron
(
FAR
struct
vi_s
*
vi
);
static
void
vi_cursoroff
(
FAR
struct
vi_s
*
vi
);
#if 0 /* Not used */
static void vi_cursorhome(FAR struct vi_s *vi);
#endif
static
void
vi_setcursor
(
FAR
struct
vi_s
*
vi
,
uint16_t
row
,
uint16_t
column
);
static
void
vi_clrtoeol
(
FAR
struct
vi_s
*
vi
);
#if 0 /* Not used */
static void vi_clrscreen(FAR struct vi_s *vi);
#endif
/* Error disp
a
ly */
/* Error displ
a
y */
static
void
vi_error
(
FAR
struct
vi_s
*
vi
,
FAR
const
char
*
fmt
,
...);
...
...
@@ -340,15 +348,27 @@ static void vi_showusage(FAR struct vi_s *vi, FAR const char *progname,
/* VT100 escape sequences */
static
const
char
g_cursoron
[]
=
VT100_CURSORON
;
static
const
char
g_cursoroff
[]
=
VT100_CURSOROFF
;
#if 0 /* Not used */
static const char g_cursorhome[] = VT100_CURSORHOME;
#endif
static
const
char
g_erasetoeol
[]
=
VT100_CLEAREOL
;
#if 0 /* Not used */
static const char g_clrscreen[] = VT100_CLEARSCREEN;
#endif
static
const
char
g_index
[]
=
VT100_INDEX
;
static
const
char
g_revindex
[]
=
VT100_REVINDEX
;
static
const
char
g_attriboff
[]
=
VT100_MODESOFF
;
static
const
char
g_boldon
[]
=
VT100_BOLD
;
static
const
char
g_reverseon
[]
=
VT100_REVERSE
;
#if 0 /* Not used */
static const char g_blinkon[] = VT100_BLINK;
static const char g_boldoff[] = VT100_BOLDOFF;
static const char g_reverseoff[] = VT100_REVERSEOFF;
static const char g_blinkoff[] = VT100_BLINKOFF;
#endif
static
const
char
g_fmtcursorpos
[]
=
VT100_FMT_CURSORPOS
;
/* Error format strings */
...
...
@@ -492,12 +512,14 @@ static char vi_getch(FAR struct vi_s *vi)
*
****************************************************************************/
#if 0 /* Not used */
static void vi_blinkon(FAR struct vi_s *vi)
{
/* Send the VT100 BLINKON command */
vi_write(vi, g_blinkon, sizeof(g_blinkon));
}
#endif
/****************************************************************************
* Name: vi_boldon
...
...
@@ -544,6 +566,36 @@ static void vi_attriboff(FAR struct vi_s *vi)
vi_write
(
vi
,
g_attriboff
,
sizeof
(
g_attriboff
));
}
/****************************************************************************
* Name: vi_cursoron
*
* Description:
* Turn on the cursor
*
****************************************************************************/
static
void
vi_cursoron
(
FAR
struct
vi_s
*
vi
)
{
/* Send the VT100 CURSORON command */
vi_write
(
vi
,
g_cursoron
,
sizeof
(
g_cursoron
));
}
/****************************************************************************
* Name: vi_cursoroff
*
* Description:
* Turn off the cursor
*
****************************************************************************/
static
void
vi_cursoroff
(
FAR
struct
vi_s
*
vi
)
{
/* Send the VT100 CURSOROFF command */
vi_write
(
vi
,
g_cursoroff
,
sizeof
(
g_cursoroff
));
}
/****************************************************************************
* Name: vi_cursorhome
*
...
...
@@ -552,12 +604,14 @@ static void vi_attriboff(FAR struct vi_s *vi)
*
****************************************************************************/
#if 0 /* Not used */
static void vi_cursorhome(FAR struct vi_s *vi)
{
/* Send the VT100 CURSORHOME command */
vi_write(vi, g_cursorhome, sizeof(g_cursorhome));
}
#endif
/****************************************************************************
* Name: vi_setcursor
...
...
@@ -607,12 +661,14 @@ static void vi_clrtoeol(FAR struct vi_s *vi)
*
****************************************************************************/
#if 0 /* Not used */
static void vi_clrscreen(FAR struct vi_s *vi)
{
/* Send the VT100 CLRSCREEN command */
vi_write(vi, g_clrscreen, sizeof(g_clrscreen));
}
#endif
/****************************************************************************
* Name: vi_scrollup
...
...
@@ -1472,9 +1528,12 @@ static void vi_showtext(FAR struct vi_s *vi)
endrow
--
;
}
/* Make sure that all character attributes are disabled. */
/* Make sure that all character attributes are disabled; Turn off the
* cursor during the update.
*/
vi_attriboff
(
vi
);
vi_cursoroff
(
vi
);
/* Write each line to the display, handling horizontal scrolling and
* tab expansion.
...
...
@@ -1572,6 +1631,10 @@ static void vi_showtext(FAR struct vi_s *vi)
vi_setcursor
(
vi
,
row
,
0
);
vi_clrtoeol
(
vi
);
}
/* Turn the cursor back on */
vi_cursoron
(
vi
);
}
/****************************************************************************
...
...
@@ -2035,10 +2098,6 @@ static void vi_cmd_mode(FAR struct vi_s *vi)
}
break
;
case
KEY_CMDMODE_REDRAW
:
/* Redraws the screen */
case
KEY_CMDMODE_REDRAW2
:
/* Redraws the screen, removing deleted lines */
break
;
/* Not implemented */
case
KEY_CMDMODE_DEL
:
/* Delete N characters at the cursor */
case
ASCII_DEL
:
{
...
...
@@ -2085,9 +2144,6 @@ static void vi_cmd_mode(FAR struct vi_s *vi)
}
break
;
case
KEY_CMDMODE_MARK
:
/* Place a mark beginning at the current cursor position */
break
;
/* Not implemented */
case
KEY_CMDMODE_REPLACECH
:
/* Replace character(s) under cursor */
{
vi_setmode
(
vi
,
SUBMODE_REPLACECH
,
vi
->
value
);
...
...
@@ -2173,6 +2229,11 @@ static void vi_cmd_mode(FAR struct vi_s *vi)
}
break
;
/* Uimplemented and invalid commands */
case
KEY_CMDMODE_REDRAW
:
/* Redraws the screen */
case
KEY_CMDMODE_REDRAW2
:
/* Redraws the screen, removing deleted lines */
case
KEY_CMDMODE_MARK
:
/* Place a mark beginning at the current cursor position */
default:
{
VI_BEL
(
vi
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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!
Save comment
Cancel
Please
register
or
sign in
to comment