4coder
 
 
 
 
 
 
Go to file
Allen Webster 6eacad6221 part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
buffer switched buffer_boundary_seek over to custom code 2016-09-08 18:03:43 -04:00
filetrack fixed wicked crazy bug in optimized build, warrants more investigation 2016-08-30 21:44:02 -04:00
power exit hook ready 2016-09-09 09:04:51 -04:00
test removed all occurances of int 2016-08-28 21:03:26 -04:00
.gitignore delay.cpp generator fixed 2016-05-16 12:19:17 -04:00
4coder_API.html part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4coder_auto_indent.cpp some clean up on the indent rule code 2016-09-08 21:02:51 -04:00
4coder_custom.h exit hook ready 2016-09-09 09:04:51 -04:00
4coder_custom_api.h fixed panel closing bug 2016-09-08 18:57:37 -04:00
4coder_default_bindings.cpp exit hook ready 2016-09-09 09:04:51 -04:00
4coder_default_include.cpp some clean up on the indent rule code 2016-09-08 21:02:51 -04:00
4coder_gui.h removed all occurances of int 2016-08-28 21:03:26 -04:00
4coder_helper.h implemented windows fullscreen (hacking alt tab), improved the next error part of the jump parsing 2016-08-31 20:26:52 -04:00
4coder_jump_parsing.cpp fixed issue with windows full screen (may want to revist in the future though) 2016-09-02 11:58:04 -04:00
4coder_keycodes.h changed function_set in metagen so that it is not structure of arrays any more; introduced item type 2016-09-02 15:39:38 -04:00
4coder_mem.h reorganizing includes a little more 2016-08-30 21:05:24 -04:00
4coder_rect.h removed all occurances of int 2016-08-28 21:03:26 -04:00
4coder_search.cpp removed all occurances of int 2016-08-28 21:03:26 -04:00
4coder_seek_types.h got rid of dead file 2016-09-01 15:40:25 -04:00
4coder_string.h switched buffer_boundary_seek over to custom code 2016-09-08 18:03:43 -04:00
4coder_style.h meta generate styles 2016-03-04 18:10:00 -05:00
4coder_table.cpp C version of string library, C++ version preserved 2016-08-28 00:31:06 -04:00
4coder_types.h exit hook ready 2016-09-09 09:04:51 -04:00
4coder_version.h fixed indent bug with end of line comment, removed token merging 2016-08-31 11:10:22 -04:00
4cpp_lexer.h fixed subtle relex bug 2016-09-07 15:07:10 -04:00
4cpp_lexer_tables.c changed function_set in metagen so that it is not structure of arrays any more; introduced item type 2016-09-02 15:39:38 -04:00
4cpp_lexer_types.h got 4cpp ready to ship 2016-09-06 23:39:19 -04:00
4ed.cpp part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed.h part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed_api_implementation.cpp exit hook ready 2016-09-09 09:04:51 -04:00
4ed_app_models.h exit hook ready 2016-09-09 09:04:51 -04:00
4ed_app_target.cpp got 4cpp ready to ship 2016-09-06 23:39:19 -04:00
4ed_command.cpp command maps can now be reopened and extended 2016-05-19 09:29:38 -04:00
4ed_defines.h part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed_dll_reader.cpp removed SET_CURSOR message 2016-05-27 10:51:12 -04:00
4ed_dll_reader.h starting new parser 2015-11-30 21:51:53 -05:00
4ed_doubly_linked_list.cpp removed all occurances of int 2016-08-28 21:03:26 -04:00
4ed_file.cpp part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed_file_view.cpp part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed_font_set.cpp C version of string library, C++ version preserved 2016-08-28 00:31:06 -04:00
4ed_gui.cpp removed all occurances of int 2016-08-28 21:03:26 -04:00
4ed_layout.cpp part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
4ed_math.h fixed wicked crazy bug in optimized build, warrants more investigation 2016-08-30 21:44:02 -04:00
4ed_mem_ansi.c cleanup of the preprocessor handling 2016-08-30 17:23:34 -04:00
4ed_metagen.cpp fixed subtle relex bug 2016-09-07 15:07:10 -04:00
4ed_os_custom_api.h compressed file reading and parsing into meta_parse 2016-09-02 19:14:25 -04:00
4ed_rendering.h simplification of sysshared requirements 2016-08-28 22:14:02 -04:00
4ed_rendering_helper.cpp font work 2016-06-16 23:31:15 -04:00
4ed_style.cpp C version of string library, C++ version preserved 2016-08-28 00:31:06 -04:00
4ed_style.h changed function_set in metagen so that it is not structure of arrays any more; introduced item type 2016-09-02 15:39:38 -04:00
4ed_system.h exit command 2016-09-01 16:29:07 -04:00
Makefile build.c packaging working on linux; discovered some issue with running optimized builds -O1 and up all seem to have the issue 2016-09-04 19:58:49 -04:00
README.txt collapsed everything into Item_Node; made the item parsing functions more similar 2016-09-02 17:41:56 -04:00
README_body.txt updated the readme 2016-07-12 15:16:48 -04:00
TODO.txt part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
build.bat packaging with build.c works on windows 2016-09-04 22:59:02 -04:00
build.c part of the way to making panel positions fixed 2016-09-09 11:04:38 -04:00
build_all.bat C version of string library, C++ version preserved 2016-08-28 00:31:06 -04:00
build_exp.bat progress on experimental lexer 2016-05-18 19:22:58 -04:00
buildsuper.bat improvements to custom build time 2016-08-28 11:42:12 -04:00
buildsuper.sh make buildsuper.sh work as intended (i think) 2016-07-09 06:21:08 +01:00
fsm_table_generator.cpp wrote lexer function docs, expanded doc generator 2016-09-06 17:22:35 -04:00
gen_linux_icon.c more sensible linux icon header format 2016-03-22 18:47:03 +00:00
internal_4coder_string.cpp switched buffer_boundary_seek over to custom code 2016-09-08 18:03:43 -04:00
internal_4coder_tests.cpp switched buffer_boundary_seek over to custom code 2016-09-08 18:03:43 -04:00
linux_4ed.cpp fix dumb linux bug that broke -O3 2016-09-05 03:44:50 +01:00
linux_font.cpp linux error popup for missing fonts 2016-09-04 22:24:48 +01:00
linux_icon.h more sensible linux icon header format 2016-03-22 18:47:03 +00:00
linux_release_compat.c add a memcpy wrapper for use when packaging the linux version so it can run on older distros 2016-02-24 19:10:42 +00:00
not_shipping_4coder_default_view.cpp removed all occurances of int 2016-08-28 21:03:26 -04:00
original.Makefile moved linux over to build.c system 2016-09-04 16:41:48 -04:00
package.bat packaging with build.c works on windows 2016-09-04 22:59:02 -04:00
readme_generator.c removed all occurances of int 2016-08-28 21:03:26 -04:00
system_shared.cpp pulled out shared implementation of file interface on platform layer 2016-08-29 09:57:05 -04:00
system_shared.h simplification of sysshared requirements 2016-08-28 22:14:02 -04:00
thing.txt first version of file track system 2016-08-22 15:31:19 -04:00
win32_4ed.cpp switched buffer_boundary_seek over to custom code 2016-09-08 18:03:43 -04:00
win32_api_impl.cpp wrote lexer function docs, expanded doc generator 2016-09-06 17:22:35 -04:00
win32_ft_font.cpp C version of string library, C++ version preserved 2016-08-28 00:31:06 -04:00
zip.bat oops didn't mean to commit binaries 2016-09-04 21:27:37 -04:00

README.txt

Distribution Date: 2.9.2016 (dd.mm.yyyy)

Thank you for contributing to the 4coder project!

To submit bug reports or to request particular features email editor@4coder.net.

Watch 4coder.net blog and @AllenWebster4th twitter for news about 4coder progress.

---------------------------------
FAIR WARNING
---------------------------------

THINGS WILL GET CRASHY FAST IF ANY .ttf FILES ARE MISSING.
THIS EFFECT WILL ALSO OCCUR IF YOU LAUNCH FROM A DIRECTORY
THAT DOESN'T CONTAIN THE .ttf FILES. (This problem will be
fixed eventually).

This build is extremely "janky" for lack of a better term. From what limitted testing
I have been able to do I think it should run on a Windows 7 machine. It has not been
launched at all on any other version of Windows. I have done what I can to get rid of
the bugs and crashes that would make it unusable, but there are certainly more in there
if you start digging and pressing hard enough.

**Please USE SOURCE CONTROL WITH 4CODER for now**

-----------------------------------------------------
INSTRUCTIONS FOR USE
-----------------------------------------------------

****Command line options****
4ed [<files-to-open>] [options]

-d/-D <filename> -- use a dll other than 4coder_custom.dll for your customizations
 -d -- if the file isn't found look for 4coder_custom.dll
 -D -- only look for the specified

-i <line-number> -- line number to jump to in first file to open specified on command line

-w <w, h> -- width and height of the 4coder window
-p <x, y> -- position of the 4coder window

-W -- open in full screen, overrides -w and -p, although the size will still be the default size of the window

-T -- invoke special tool isntead of launching 4coder normally
   -T version : prints the 4coder version string

****Command Bindings****
Basic Navigation:
mouse left click - move cursor
mouse right click - set mark
arrows - move cursor
home & end - move cursor to beginning/end of line
page up & page down - move up/down by close to the height of the entire screen
control + left/right - move cursor left/right to first whitespace
control + up/down - move cursor up or down to first blank line

Fancy Navigation:
control + f : begin find mode, uses interaction bar
control + r : begin reverse-find mode, uses interaction bar

control + F : list all locations of a word in all open buffers, uses interaction bar
    > This command creates a *search* buffer that displays the locations and the line of each
    > occurence of the requested word.  By positioning the cursor and pressing return the user
    > jump to the word's occurence.

While in find mode or reverse-find mode, pressing enter ends the mode
leaving the cursor wherever the find highlighter is, and pressing escape
ends the mode leaving the cursor wherever it was before the find mode began.

control + g - goto line number, uses interaction bar
control + m - swap cursor and mark

control + e - center the view vertically on the cursor
control + E - in a view with unwrapped lines move the view to a position just left of the cursor

Basic Editing:
characters keys, delete, and backspace
control + c : copy between cursor and mark
control + x : cut between cursor and mark
control + v : paste at cursor
control + V : use after normal paste to cycle through older copied text
control + d : delete between cursor and mark
control + SPACE : set mark to cursor
control + backspace : backspace one word
control + delete : delete one word
alt + backspace : snipe one word

Undo and History:
control + z : undo
control + y : redo
control + h: history back step
control + H: history forward step

Fancy Editing:
control + u : to uppercase between cursor and mark
control + j : to lowercase between cursor and mark
control + q : query replace
control + a : replace in range
control + ~ : clean the trailing whitespace off of all lines

Fancy Editing in Code Files:
control + [ : write "{}" pair with cursor in line between
control + { : as control + [ with a semicolon after "}"
control + } : as control + [ with a "break;" after "}"
control + 0 : write "= {0};" at the cursor
control + i : wrap the range specified by mark and cursor in #if 0 #endif

alt + 1 : if cursor is inside a string, treat the string as a filename and
    > try to open the file with that name in the other panel

Whitespace Boringness:
Typing characters: },],),; and inserting newlines cause the line to autotab
TAB: word complete
control + TAB : auto indent lines between cursor and mark
shift + TAB: auto indent cursor line
control + 1 : set the file to dos mode for writing to disk
control + ! : set the flie to nix mode for writing to disk

Viewing Options:
alt + c - open theme selection UI
alt + d - open debug view

control + p : vertically split the current panel (max 16)
control + _ : horizontally split the current panel (max 16)
control + P : close the currently selected panel
control + , : switch to another panel

control + l : toggle line wrapping
control + ? : toggle highlight whitespace mode

f2 : toggle mouse suppresion mode

alt + s : show the scrollbar in this view
alt + w : hide the scrollbar in this view

Build Tools:
alt + m :
[On Windows] search in the current hot directory and up through all parent
    > directories for a build.bat, and execute that bat if it discovered, sending
    > output to the buffer *compilation*
[On Linux] The behavior is similar but the search looks for build.sh and if that
    > fails it looks for a Makefile

alt + . : change to the build panel
alt + , : close the build panel
alt + n : goto the next error listed in the build panel
alt + N : goto the previous error listed in the build panel
alt + M : goto the first error listed in the build panel

alt + z : execute any command line command you specify and send the output to the buffer you specify
alt + Z : repeat the command previously executed by the alt + z command

File Managing:
control + n : create a new file, begins interactive input mode
control + o : open file, begins interactive input mode
alt + o : open file in other panel, same as control + o but runs first changes the active view
control + O : reopen the current file
	(discarding any differences the live version has from the file system's version)
control + s : save
control + w : save as, begins interative input mode
control + i : switch active file in this panel, begins interactive input mode
control + k : kill (close) a file, begins interactive input mode
control + K : kill (close) the file being viewed in the currently active panel

While in interactive input mode, there are several ways to select an option.
The options can be clicked.  One option is always highlighted and pressing
return or tab will select the highlighted option.  Arrow keys navigate the
highlighted option.  Typing in characters narrows down the list of options.

Menu UI
Keyboard options:
    > left control + left alt act as AltGr

Theme selection UI
esc - close UI view return to major view if one was open previously