Rafael Arce Nazario 5 years ago
commit
d10f56f954
8 changed files with 1368 additions and 0 deletions
  1. 1
    0
      .gitignore
  2. 24
    0
      LICENSE
  3. 7
    0
      Makefile
  4. 30
    0
      README.md
  5. 10
    0
      TODO
  6. 6
    0
      caca
  7. 6
    0
      caca.c
  8. 1284
    0
      kilo.c

+ 1
- 0
.gitignore View File

@@ -0,0 +1 @@
1
+kilo

+ 24
- 0
LICENSE View File

@@ -0,0 +1,24 @@
1
+Copyright (c) 2016, Salvatore Sanfilippo <antirez at gmail dot com>
2
+
3
+All rights reserved.
4
+
5
+Redistribution and use in source and binary forms, with or without
6
+modification, are permitted provided that the following conditions are met:
7
+
8
+* Redistributions of source code must retain the above copyright notice,
9
+  this list of conditions and the following disclaimer.
10
+
11
+* Redistributions in binary form must reproduce the above copyright notice,
12
+  this list of conditions and the following disclaimer in the documentation
13
+  and/or other materials provided with the distribution.
14
+
15
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
19
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
22
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 7
- 0
Makefile View File

@@ -0,0 +1,7 @@
1
+all: kilo
2
+
3
+kilo: kilo.c
4
+	$(CC) -o kilo kilo.c -Wall -W -pedantic -std=c99
5
+
6
+clean:
7
+	rm kilo

+ 30
- 0
README.md View File

@@ -0,0 +1,30 @@
1
+Kilo
2
+===
3
+
4
+Posible proyecto para CCOM 3034, inspirado por [https://web.eecs.utk.edu/~azh/blog/challengingprojects.html](https://web.eecs.utk.edu/~azh/blog/challengingprojects.html)
5
+
6
+To watch the data structure in the stderr: `./kilo file 2> tmp`
7
+
8
+Kilo is a small text editor in less than 1K lines of code (counted with cloc).
9
+
10
+A screencast is available here: https://asciinema.org/a/90r2i9bq8po03nazhqtsifksb
11
+
12
+Usage: kilo `<filename>`
13
+
14
+Keys:
15
+
16
+    CTRL-S: Save
17
+    CTRL-Q: Quit
18
+    CTRL-F: Find string in file (ESC to exit search, arrows to navigate)
19
+
20
+Kilo does not depend on any library (not even curses). It uses fairly standard
21
+VT100 (and similar terminals) escape sequences. The project is in alpha
22
+stage and was written in just a few hours taking code from my other two
23
+projects, load81 and linenoise.
24
+
25
+People are encouraged to use it as a starting point to write other editors
26
+or command line interfaces that are more advanced than the usual REPL
27
+style CLI.
28
+
29
+Kilo was written by Salvatore Sanfilippo aka antirez and is released
30
+under the BSD 2 clause license.

+ 10
- 0
TODO View File

@@ -0,0 +1,10 @@
1
+IMPORTANT
2
+===
3
+
4
+* Testing and stability to reach "usable" level.
5
+
6
+MAYBE
7
+===
8
+
9
+* Send alternate screen sequences if TERM=xterm: "\033[?1049h" and "\033[?1049l"
10
+* Improve internals to be more understandable.

+ 6
- 0
caca View File

@@ -0,0 +1,6 @@
1
+wow inserting wowo wow owi muchos cosas escribiendo hasta que se acabe la linea esto no se acaba es???
2
+this is kilo can I do cut past  
3
+inside
4
+outside
5
+dos
6
+tres

+ 6
- 0
caca.c View File

@@ -0,0 +1,6 @@
1
+int main() {
2
+  for(i = 0; i < 20; i++) {
3
+  |
4
+}
5
+coqui
6
+sapo

+ 1284
- 0
kilo.c
File diff suppressed because it is too large
View File