Natural Tiny Shell (NT-Shell) library is a tiny shell library for a small embedded system. The interface is really simple. You should only know ntshell_execute in ntshell.h. So you can port it to any embedded system easily. Please enjoy your small embedded system with it. :)
Dependents: NaturalTinyShell_TestProgram
text_editor.h@0:7147d6024de8, 2011-05-22 (annotated)
- Committer:
- shintamainjp
- Date:
- Sun May 22 02:51:35 2011 +0000
- Revision:
- 0:7147d6024de8
Initial version.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shintamainjp | 0:7147d6024de8 | 1 | /** |
shintamainjp | 0:7147d6024de8 | 2 | * @file text_editor.h |
shintamainjp | 0:7147d6024de8 | 3 | * @author Shinichiro Nakamura |
shintamainjp | 0:7147d6024de8 | 4 | * @brief NT-Shell用テキストエディタモジュールの定義。 |
shintamainjp | 0:7147d6024de8 | 5 | * @details |
shintamainjp | 0:7147d6024de8 | 6 | * 文字列の編集を論理的に扱うためのモジュール。 |
shintamainjp | 0:7147d6024de8 | 7 | * このモジュールはビューに関して一切感知しない。 |
shintamainjp | 0:7147d6024de8 | 8 | */ |
shintamainjp | 0:7147d6024de8 | 9 | |
shintamainjp | 0:7147d6024de8 | 10 | /* |
shintamainjp | 0:7147d6024de8 | 11 | * =============================================================== |
shintamainjp | 0:7147d6024de8 | 12 | * Natural Tiny Shell (NT-Shell) |
shintamainjp | 0:7147d6024de8 | 13 | * Version 0.0.6 |
shintamainjp | 0:7147d6024de8 | 14 | * =============================================================== |
shintamainjp | 0:7147d6024de8 | 15 | * Copyright (c) 2010-2011 Shinichiro Nakamura |
shintamainjp | 0:7147d6024de8 | 16 | * |
shintamainjp | 0:7147d6024de8 | 17 | * Permission is hereby granted, free of charge, to any person |
shintamainjp | 0:7147d6024de8 | 18 | * obtaining a copy of this software and associated documentation |
shintamainjp | 0:7147d6024de8 | 19 | * files (the "Software"), to deal in the Software without |
shintamainjp | 0:7147d6024de8 | 20 | * restriction, including without limitation the rights to use, |
shintamainjp | 0:7147d6024de8 | 21 | * copy, modify, merge, publish, distribute, sublicense, and/or |
shintamainjp | 0:7147d6024de8 | 22 | * sell copies of the Software, and to permit persons to whom the |
shintamainjp | 0:7147d6024de8 | 23 | * Software is furnished to do so, subject to the following |
shintamainjp | 0:7147d6024de8 | 24 | * conditions: |
shintamainjp | 0:7147d6024de8 | 25 | * |
shintamainjp | 0:7147d6024de8 | 26 | * The above copyright notice and this permission notice shall be |
shintamainjp | 0:7147d6024de8 | 27 | * included in all copies or substantial portions of the Software. |
shintamainjp | 0:7147d6024de8 | 28 | * |
shintamainjp | 0:7147d6024de8 | 29 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
shintamainjp | 0:7147d6024de8 | 30 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
shintamainjp | 0:7147d6024de8 | 31 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
shintamainjp | 0:7147d6024de8 | 32 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
shintamainjp | 0:7147d6024de8 | 33 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
shintamainjp | 0:7147d6024de8 | 34 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
shintamainjp | 0:7147d6024de8 | 35 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
shintamainjp | 0:7147d6024de8 | 36 | * OTHER DEALINGS IN THE SOFTWARE. |
shintamainjp | 0:7147d6024de8 | 37 | * =============================================================== |
shintamainjp | 0:7147d6024de8 | 38 | */ |
shintamainjp | 0:7147d6024de8 | 39 | |
shintamainjp | 0:7147d6024de8 | 40 | #ifndef _TEXT_EDITOR_H_ |
shintamainjp | 0:7147d6024de8 | 41 | #define _TEXT_EDITOR_H_ |
shintamainjp | 0:7147d6024de8 | 42 | |
shintamainjp | 0:7147d6024de8 | 43 | #define TEXTEDITOR_MAXLEN 64 |
shintamainjp | 0:7147d6024de8 | 44 | |
shintamainjp | 0:7147d6024de8 | 45 | typedef struct { |
shintamainjp | 0:7147d6024de8 | 46 | char buffer[TEXTEDITOR_MAXLEN]; |
shintamainjp | 0:7147d6024de8 | 47 | int pos; |
shintamainjp | 0:7147d6024de8 | 48 | int len; |
shintamainjp | 0:7147d6024de8 | 49 | } text_editor_t; |
shintamainjp | 0:7147d6024de8 | 50 | |
shintamainjp | 0:7147d6024de8 | 51 | void text_editor_init(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 52 | int text_editor_insert(text_editor_t *p, char c); |
shintamainjp | 0:7147d6024de8 | 53 | int text_editor_backspace(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 54 | int text_editor_cursor_get_position(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 55 | int text_editor_cursor_head(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 56 | int text_editor_cursor_tail(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 57 | int text_editor_cursor_left(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 58 | int text_editor_cursor_right(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 59 | int text_editor_set_text(text_editor_t *p, char *buf); |
shintamainjp | 0:7147d6024de8 | 60 | int text_editor_get_text(text_editor_t *p, char *buf, int siz); |
shintamainjp | 0:7147d6024de8 | 61 | void text_editor_clear(text_editor_t *p); |
shintamainjp | 0:7147d6024de8 | 62 | |
shintamainjp | 0:7147d6024de8 | 63 | #endif |
shintamainjp | 0:7147d6024de8 | 64 |