4coder
 
 
 
 
 
 
Go to file
Allen Webster 44756b2d5c get directory name from OS instead of storing 2016-08-27 10:42:47 -04:00
buffer rough multi-line system 2016-07-18 16:53:04 -04:00
filetrack get directory name from OS instead of storing 2016-08-27 10:42:47 -04:00
power set up the basic testing scheme. 2016-07-18 21:35:09 -04:00
test fixed crash bug in relexing 2016-08-26 20:42:16 -04:00
.gitignore delay.cpp generator fixed 2016-05-16 12:19:17 -04:00
4coder_API.html multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4coder_buffer_types.h new method of tracking previous file locations 2016-07-02 18:59:16 -04:00
4coder_config.h removed SET_CURSOR message 2016-05-27 10:51:12 -04:00
4coder_custom.h upgraded string library 2016-07-06 15:18:10 -04:00
4coder_custom_api.h multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4coder_default_bindings.cpp first version of file track system 2016-08-22 15:31:19 -04:00
4coder_default_building.cpp multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4coder_default_include.cpp 4ed_file_view.cpp now compiles 2016-08-24 10:36:29 -04:00
4coder_gui.h new method of tracking previous file locations 2016-07-02 18:59:16 -04:00
4coder_helper.h first version of file track system 2016-08-22 15:31:19 -04:00
4coder_jump_parsing.cpp rough multi-line system 2016-07-18 16:53:04 -04:00
4coder_keycodes.h switched over to new 4coder_types.h, wrote docs 2016-07-01 01:42:19 -04:00
4coder_mem.h re-enable memory speed up 2016-07-20 15:25:50 -04:00
4coder_rect.h font work 2016-06-16 23:31:15 -04:00
4coder_search.cpp expansion of search features 2016-07-18 14:36:53 -04:00
4coder_string.h multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4coder_style.h meta generate styles 2016-03-04 18:10:00 -05:00
4coder_table.cpp 4ed_file_view.cpp now compiles 2016-08-24 10:36:29 -04:00
4coder_types.h multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4coder_version.h finished moving clean all lines 2016-07-09 00:39:14 -04:00
4cpp_clear_config.h initial 2015-09-28 19:34:55 -04:00
4cpp_lexer.h upgrade to the new lexer complete 2016-07-16 22:24:13 -04:00
4cpp_lexer_types.h eliminate the Cpp_File that drove me crazy 2016-07-16 14:40:26 -04:00
4cpp_preprocessor.cpp started word complete 2016-02-11 12:17:52 -05:00
4cpp_types.h locales 2016-01-06 10:39:15 -05:00
4ed.cpp get directory name from OS instead of storing 2016-08-27 10:42:47 -04:00
4ed.h -h flag to enable hinting 2016-07-03 18:29:07 -04:00
4ed_api_implementation.cpp set up get changed files 2016-08-26 17:30:08 -04:00
4ed_app_models.h switched over to new 4coder_types.h, wrote docs 2016-07-01 01:42:19 -04:00
4ed_app_target.cpp upgrade to the new lexer complete 2016-07-16 22:24:13 -04:00
4ed_command.cpp command maps can now be reopened and extended 2016-05-19 09:29: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_file.cpp get directory name from OS instead of storing 2016-08-27 10:42:47 -04:00
4ed_file_view.cpp get directory name from OS instead of storing 2016-08-27 10:42:47 -04:00
4ed_font_set.cpp rounded out batch edit, tracked down some bugs 2016-07-13 19:19:42 -04:00
4ed_gui.cpp eliminated max_y 2016-07-06 18:04:31 -04:00
4ed_layout.cpp moved view manipulation to custom side 2016-07-04 21:36:30 -04:00
4ed_math.cpp 4.0.8 almost ready to go 2016-06-23 19:11:09 -04:00
4ed_meta.h unbounded job queue 2016-07-19 19:47:27 -04:00
4ed_metagen.cpp conversion of platform layer 2016-08-22 19:54:20 -04:00
4ed_rendering.cpp rounded out batch edit, tracked down some bugs 2016-07-13 19:19:42 -04:00
4ed_rendering.h font work 2016-06-16 23:31:15 -04:00
4ed_rendering_helper.cpp font work 2016-06-16 23:31:15 -04:00
4ed_style.cpp multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
4ed_style.h theme API part 1, bug fixes 2016-03-04 23:10:55 -05:00
4ed_system.h set up get changed files 2016-08-26 17:30:08 -04:00
4ed_template.cpp another small indent rule improvement 2016-05-31 16:01:25 -04:00
4ed_ttf.cpp locales 2016-01-06 10:39:15 -05:00
Makefile put the linux packaging logic in the makefile 2016-06-28 23:58:45 +01:00
README.txt simplified dirty state tracker 2016-07-20 11:19:54 -04:00
README_body.txt updated the readme 2016-07-12 15:16:48 -04:00
TODO.txt upgraded 4coder_casey.cpp, misc tweaks 2016-07-13 15:59:42 -04:00
build.bat upgrade to the new lexer complete 2016-07-16 22:24:13 -04:00
build_all.bat set up get changed files 2016-08-26 17:30:08 -04:00
build_exp.bat progress on experimental lexer 2016-05-18 19:22:58 -04:00
buildsuper.bat 4coder casey updated 2016-07-05 09:30:07 -04:00
buildsuper.sh make buildsuper.sh work as intended (i think) 2016-07-09 06:21:08 +01:00
dll_reader.cpp starting new parser 2015-11-30 21:51:53 -05:00
gen_linux_icon.c more sensible linux icon header format 2016-03-22 18:47:03 +00:00
internal_4coder_string.cpp multi-fonting, explicity monospace font for build panel 2016-07-14 12:41:23 -04:00
internal_4coder_tests.cpp set up get changed files 2016-08-26 17:30:08 -04:00
linux_4ed.cpp linux new job queue stuff 2016-07-28 19:09:08 +01:00
linux_font.cpp use hinting parameter on linux 2016-07-05 10:02:55 -04: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 temporarily remove view routines 2016-05-29 13:49:38 -04:00
package.bat html fix 2016-07-05 10:08:00 -04:00
readme_generator.c eliminate superreadme 2016-07-09 11:05:32 -04:00
system_shared.cpp linux update file stuff 2016-05-28 20:52:46 +01:00
system_shared.h make old file load/save shared 2016-05-27 20:46:22 -04:00
thing.txt first version of file track system 2016-08-22 15:31:19 -04:00
win32_4ed.cpp set up get changed files 2016-08-26 17:30:08 -04:00
win32_api_impl.cpp new word complete appears to work 2016-07-11 12:15:37 -04:00
win32_font.cpp font work 2016-06-16 23:31:15 -04:00
win32_ft_font.cpp -h flag to enable hinting 2016-07-03 18:29:07 -04:00

README.txt

Distribution Date: 20.7.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