krixano / EdimCoder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
* 31d16be : Use end of range for insert after command
* 26d6840 : Small fix in help command's listing
* 8f1258e : Update help command listing and README
* 81f3a9f : Add bookmarks, including ability to create, list, update, and use in any command that accepts a line number or line range
* 7ef9f24 : Start parsing bookmarks (bookmarks can take place of line numbers and start with '#'), add bookmarks for pages of the file (Ex, '#p1' is page 1, '#p2' is page 2, etc.)
* c31009a : Allow hitting escape key (by itself) - it renders/prints as red '$'
* 5756d48 : Make b/bn/bp command work properly again (almost)
* 4435598 : Another bug fix
* 5edbe8b : Another fix
* 5ac059f : Fix replaceString function/command (R)
* ebbedef : Fix so that rest is everything after the line/line_range
* 903f8c8 : Make all of the commands work correctly with new line/line range parsing
* f138648 : Star adding better range support
* e370bb4 : Fix save command so it will use filename given directly after the command
* a645210 : Fix comparing for info and help commands, now 'i' command works correctly
* 5e7b6d8 : Update README.md
* c20b3ff : Free input for help (and info) commands, add info command (and # as shortcut)
* 16347d9 : Add release build file for linux, change resulting executable of linux builds to edimcoder
* d355408 : Small changes
* 33d65e4 : Remove debug stuff
* c724fe7 : Fix bn, bp, and n commands
* d60dd2f : Fix segmentation fault when typing in many commands
* 596d017 : Fix enter key
* b8c8e0a : Fix weirdness with C
* fed5f73 : Update build_linux file
* bc872e4 : Simplify includes
* de19069 : Fix typo in readme
* 2f3de67 : Add notice to readme
* 08b9adb : Take into account no arguments for current line with new parsing
* 8e14991 : Bug fixes, disable tab in command prompt, make parsing commands better
* d9399b2 : Bug fix, use getInput for command prompt, Experimenting with ASCII Control Characters
* a7c4f61 : Autoindentation after '{' (as long as it doesn't have a closing '}')
* 2a51b8f : Autoindentation for multiline text insertion commands (new file and insert before/after)
* 91d5ff8 : Change some file names
* 5da499b : Passing a file into the executable will open that file
* 962107a : Code cleanup
* 48b0293 : More code cleanup, add 'n' command for creating new file
* 86152ee : '-Scratch-' buffer opens up at startup (no more main menu!), preview command has a way to show previous lines, fixes for potential bugs
* 7d101c8 : Important bug fix for release build
* fc1a823 : Code cleanup
* 3a639fe : Simple fix of showing 1st line twice when creating new file
* ff289c1 : Merge branch 'master' of https://github.com/krixano/Edim
|\
| * 013c568 : Fix Windows
* | 8ca660f : Enable new input system for Linux on all commands
|/
* 3842cab : Small fixes
* 30f7d3c : New Input System works on Linux
* edbd86c : Merge branch 'master' of https://github.com/krixano/Edim
|\
| * fa355b3 : Add build to gitignore
| * ad52ee9 : Fix build script for linux, alloca fix for linux
* | 209befe : Add file that shows KeyCodes for use in new input system
|/
* 30defa3 : Delete Line command sets current line to the line that was deleted (instead of the line before). If it's beyond the new length of the buffer, then set to last line in buffer
* f3bba35 : Fix
* a14db4c : Make previewing command a bit better looking by writing over the prompt after hitting enter to go to next set of lines
* 485d8ae : Only use getch in preview command when on Windows (because getch hasn't been tested on Mac and Linux yet)
* 9213137 : Use getch() for previewing (*may* not work on Linux/Mac, depending on if my getch function alternative works or not - hasn't been tested yet)
* 41132dc : Change current line to proper line when finding string in file
* b99c257 : Fix crash when opening non-existant file (which should instead be creating a new file, and now does)
* 90a61ba : Update readme
* a6e5f25 : When a command accepts a line number as first argument and one wasn't passed in, use the current line instead of prompting for a line number. Two new commands for setting current line number, 'j (line#)' and 'j$' (jump to last line)
* 5fd4184 : Ctrl-L + Enter to clear screen (it's a bit hacky right now, especially for windows)
* b04591a : Code Documentation
* 25c3c55 : Also allow inline keyword before function declarations
* e94cfd2 : Small fix
* c478ccc : Allow const in front of function declarations, #define bool as char (so it's one byte integer)
* 5a7fa9f : Add programmers documentation to help people explore the code better
* d3c018b : Switch all commands that take input to new input system (only for Windows)
* 65aa533 : Add new input system for Windows only (becuase haven't tested on other systems yet) - the main benefit of this new input is that tabs are shown correctly upon input now (using 4 spaces currently). This new input is one function in parsing.c called getInput().
* 152b3e2 : Small fix
* ac8bc63 : Update readme again
* 71e3ade : Update readme commands section
* 770fea6 : Fix exiting buffers when more than 2 buffers open
* f0d7495 : Free the outline when a buffer is closed, switch to next/previous buffer using 'bn' and 'bp' commands (with no spaces)
* 55311aa : Ability to switch current buffer by passing a number into the 'b' command (e.g. 'b 0' switches to buffer 0)
* 4f3cdbe : Fix force exiting a buffer, show when a buffer has been modified in 'b' show buffers command
* 07c54fd : Print tab characters as 4 spaces, ability to open another buffer with 'o' command and show all open buffers with 'b' command, fix for append command printing new line when it shouldn't
* 4f08069 : Add buffers dynamic array which will be used in the future to open multiple buffers, switch between them, and close them.
* bc75812 : Change 'q' and 'e' commands to not automatically save. They will not work if there are unsaved changes. Use 'Q' and 'E' to force close without saving
* c0379ec : New command for finding first occurance of a string in a specific line ('F')
* 3697bdd : Use buffer_findStringInLine for replaceStringInLine function
* df36c03 : Finish buffer_findStringInFile and buffer_findStringInLine functions
* 86e3521 : Modify gitignore
* 429a403 : Hack in a way to change current buffer's filetype to C so that it's outline can be used for C-like languages (eventually this won't be needed because my filetype extension detection will not suck in the future, hopefully)
* f965f50 : Change title
* d2d8d70 : Fix bug with replacing a string with a string that was smaller than it
* 3e13cc5 : Finish new replace in line (buffer_replaceInLine), fix problem with replacing only one character
* 890b311 : Show current line and whether buffer has been modified in prompt, when opening non-existant file go straight into the editor to create it (doesn't create the file until you save)
* f563f88 : New insert before line function (buffer_insertBeforeLine), uses memmove and memcpy
* b92ae1f : New insert after function (buffer_insertAfterLine), uses memmove and memcpy
* bd956c2 : Fix Commands section of readme
* c895ace : Update readme
* 2c023da : Update build file and readme. Provide option to build in release mode.
* d501799 : Use strncpy for prepending/appending to line and memmove for deleting a line
* 6c138b7 : Fix move line up and move line down commands
* 7a75baa : Move current line to the line before the line that was deleted for the delete command (unless deleting line 1, then put current line on the line number that was deleted)
* 8d415ec : Finish buffer functions for appending/prepending to line, deleting line, moving line up/down, and replacing a line
* 6c33a61 : Add modified boolean to buffers (will be used in future when switching buffers)
* 8c1df4b : Update readme
* 430ca3e : Switch to using new buffer_saveFile function
* 4e659b4 : finish buffer_openFile and buffer_saveFile
* 0d570a0 : Also allow optional 'static' in front of function declarations when creating Outline for C files
* edb1d4a : Start reorganizing code, create more general functions to manipulate the buffer (implementations for these haven't been written yet), make many of the functions in editor.c static (meaning they are only visible within their translation unit - the file)
* 7a38f1b : Update readme
* 3717ac5 : Add Ouline for C files (will show function implementations in the file)
* ad0f58f : Ability to start previewing whole file from given line
* 5c82344 : Filetypes and outline for markdown files (and later on, other file types)
* 36388fc : Update readme and help command
* cdaf084 : Add command for finding first occurance of string in file
* c47d6be : Add colored output!
* e34f28f : Add commands to move a line up or down one
* d365ce4 : Also show the line before the line that was deleted
* 5100c7c : Finish preview line command ('P') - add ability to preview a range of lines
* 47c3dd5 : Show the first line that was moved down due to appending before/after a line
* c4644f1 : Show the first line that was moved up due to deleting a line
* 887d1c3 : Show file info instead of going into preview file mode after opening file
* c7e48bf : Change way preview whole file works (to be more like less/more), Command to preview one line, Command to show file information ('#')
* efa3039 : Add new Buffer struct, currentBuffer for the currentBuffer, initialize currentBuffer when opening a file or creating a new one, remove linenumber from Line struct
* 26eb3b5 : Fix deleting of last line (before, I was freeing the chars of the element given back from buf_pop; perhaps buf_pop isn't giving back the correct address?).
* 0799e09 : Add more to readme
* 9671ffd : Show the text of the line being deleted, Add Operation and OperationKind (will be used for undo functionality)
* 61126cb : Add current features to readme
* 74bfeb8 : Add TODO section to readme (written using my line editor!)
* 160d9de : Ability to cancel operations (i, I, a, A, r, and R) by typing Ctrl-X and Enter
* 65de71f : Add ability to type string to replace with the command rather than waiting for a prompt ('R 2 replace this' instead of 'R 2' and then 'replace this' when prompted)
* d1779bb : Add ability to replace a string within a line (and cancel the replace operation using Ctrl-X
* 4dc66d9 : Add ability to append to, prepend to, and replace a line
* 589fac9 : Ability to insert before a line. Inserting after line 0 will insert before line 1. Inserting before the line above the amount of lines in the file will insert after the last line.
* c3e6281 : Fix stack overflow, generate pdb file
* eef5424 : Add ability to delete a line (using 'x' command)
* c64c00c : Add ability to insert lines after a line #
* d97e107 : Show previous line at start when appending to give some context.
* cac478e : Delete unnedded text files.
* ab7a7aa : Switch currently opened filename to streatchy buffer of chars, correctly clear it out when exiting from a file
* 4788ad2 : Small changes
* 084f103 : Finish making save work with new data structure for storing the text.
* 2bf7bc5 : Fix printing blank files, fix initialSet when exiting from editor (fixes allowing you to open another file after exiting from one correctly).
* f514b45 : Use correct line number when appending to end of file (using 'c' continue command).
* 035859e : Add streatchy buffer to store lines and chars. Print text correctly, enter text correctly (appending not tested yet), open file correctly. If filename provided with new file command, set the currently opened filename to it so that it will use that when saving.
* b044a10 : Add prompt for filename on save of new file. Will use this same filename on successive saves (unless using 'save as', which will be implemented later)
* 934d5d7 : Fix build_linux file
* afcd612 : Small readme change
* 0d04b59 : Create README.md
* e00aaa2 : Fix build.bat script: correctly makes build\debug folder, correctly put's built program in this directory, correctly runs the program from this directory
* 2128d01 : Reorganization, fix build.bat (a little), opening files and editing and saving opened file, rename NEW_FILE state to EDITOR state
* 20ecdd6 : fixes
* 6101d9d : Fix for windows, LinkedList 2 (from scratch)
* e97db7a : refactoring some stuff, linkedListPractice
* 2567b62 : Saving, Continuing, Quitting and Exiting, States and Substates
* c9d6b81 : Add gitignore
* 78a5aef : Fixes
* 3488a0a : rest of line
* b8e4f3e : Initial