Go to file
Allen Webster dc90ec0c83 setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4coder_API rejigged font system, and rewrote code dealing with fonts 2017-03-03 18:57:11 -05:00
4coder_helper working on upgrading the file location jumping system 2017-02-24 11:48:56 -05:00
4coder_lib setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4cpp got new organization system working on linux 2017-01-23 01:19:43 -05:00
file setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
filetrack new utf8 <-> utf16 code 2017-02-17 20:04:41 -05:00
font setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
meta final adjustment, 4coder 4.0.17 ready to go 2017-02-27 10:01:02 -05:00
power added new file hook; fixed up linux save-to-name bug; fixed up packaging bug 2017-02-26 15:13:06 -05:00
site updated website build a little 2017-02-24 01:05:24 -05:00
string got 32-bit windows build running 2017-02-24 20:53:40 -05:00
.gitignore delay.cpp generator fixed 2016-05-16 12:19:17 -04:00
4coder_auto_indent.cpp got new organization system working on linux 2017-01-23 01:19:43 -05:00
4coder_base_commands.cpp got 32-bit windows build running 2017-02-24 20:53:40 -05:00
4coder_build_commands.cpp changed overbinding rule, started windows bindings 2017-02-12 18:04:50 -05:00
4coder_clipboard.cpp 4.0.15 various bug fixes, feature polish, added experimental scope command 2017-01-28 19:03:23 -05:00
4coder_default_bindings.cpp changed overbinding rule, started windows bindings 2017-02-12 18:04:50 -05:00
4coder_default_framework.h began torching the font system 2017-03-10 15:44:42 -05:00
4coder_default_hooks.cpp package script architecture names cleaned up; added code extensions to config file 2017-02-26 16:44:40 -05:00
4coder_default_include.cpp rejigged font system, and rewrote code dealing with fonts 2017-03-03 18:57:11 -05:00
4coder_function_list.cpp 4.0.15 various bug fixes, feature polish, added experimental scope command 2017-01-28 19:03:23 -05:00
4coder_jump_parsing.cpp working on upgrading the file location jumping system 2017-02-24 11:48:56 -05:00
4coder_project_commands.cpp package script architecture names cleaned up; added code extensions to config file 2017-02-26 16:44:40 -05:00
4coder_search.cpp changed overbinding rule, started windows bindings 2017-02-12 18:04:50 -05:00
4coder_system_command.cpp 4.0.15 various bug fixes, feature polish, added experimental scope command 2017-01-28 19:03:23 -05:00
4coder_windows_bindings.cpp changed overbinding rule, started windows bindings 2017-02-12 18:04:50 -05:00
4ed.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed.h added font option 2017-01-30 13:41:08 -05:00
4ed_api_implementation.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_app_models.h fixed Font_ID 2017-03-11 13:53:48 -05:00
4ed_app_target.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_command.cpp new utf8 <-> utf16 code 2017-02-17 20:04:41 -05:00
4ed_debug_mem.h misc bug fixes and cleanups, added function lister, and scope navigator 2017-01-13 22:01:35 -05: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 new mark setting system setup, not finished testing new write_character 2017-02-23 21:30:29 -05:00
4ed_file_view.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_font_set.cpp began torching the font system 2017-03-10 15:44:42 -05:00
4ed_gui.cpp fixed Font_ID 2017-03-11 13:53:48 -05:00
4ed_gui.h got new organization system working on linux 2017-01-23 01:19:43 -05:00
4ed_layout.cpp 4.0.15 various bug fixes, feature polish, added experimental scope command 2017-01-28 19:03:23 -05:00
4ed_math.h began torching the font system 2017-03-10 15:44:42 -05:00
4ed_mem_ansi.c cleanup of the preprocessor handling 2016-08-30 17:23:34 -04:00
4ed_os_custom_api.h got new organization system working on linux 2017-01-23 01:19:43 -05:00
4ed_rendering.h setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_rendering_helper.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_site.ctm new mark setting system setup, not finished testing new write_character 2017-02-23 21:30:29 -05:00
4ed_style.cpp fixed Font_ID 2017-03-11 13:53:48 -05:00
4ed_style.h fixups from wednesday's stream 2016-10-14 17:21:17 -04:00
4ed_system.h setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_system_shared.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
4ed_system_shared.h got new organization system working on linux 2017-01-23 01:19:43 -05:00
4tech_defines.h began torching the font system 2017-03-10 15:44:42 -05:00
Makefile.inso fix building on linux 2016-11-06 02:31:45 +00: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 finished up the dangling todo items: fixed the click position bug, setup auto-indent-on-save, and finished the project fkey system 2016-12-26 17:49:01 -05:00
_4coder_string.ctm got new organization system working on linux 2017-01-23 01:19:43 -05:00
build.bat added new file hook; fixed up linux save-to-name bug; fixed up packaging bug 2017-02-26 15:13:06 -05:00
build.sh added new file hook; fixed up linux save-to-name bug; fixed up packaging bug 2017-02-26 15:13:06 -05:00
buildsite.bat fixed site building system 2016-11-13 23:29:00 -05:00
buildsuper.bat got 32-bit windows build running 2017-02-24 20:53:40 -05:00
buildsuper.sh utf8 encoded buffers fully working on windows 2017-02-20 16:05:42 -05:00
buildsuper_x86.bat got 32-bit windows build running 2017-02-24 20:53:40 -05:00
gen_linux_icon.c more sensible linux icon header format 2016-03-22 18:47:03 +00:00
internal_4coder_tests.cpp new utf8 <-> utf16 code 2017-02-17 20:04:41 -05:00
linux_4ed.cpp began torching the font system 2017-03-10 15:44:42 -05:00
linux_font.cpp began torching the font system 2017-03-10 15:44:42 -05: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
original.Makefile messing with the build system, generalizing pushd, cleaning up #if #endif hacks 2016-11-22 22:37:28 -05:00
package.bat post-stream, got miblo incrementors/decrementors started. added settings for code presentation. adding config file for code wrapping 2016-10-27 19:45:41 -04:00
package.sh lots of organization to files, figured out a good way to solve the build.cpp string problem and set it up 2017-01-06 21:59:55 -05:00
pens_arena.cpp misc bug fixes and cleanups, added function lister, and scope navigator 2017-01-13 22:01:35 -05:00
project.4coder added new file hook; fixed up linux save-to-name bug; fixed up packaging bug 2017-02-26 15:13:06 -05:00
win32_4ed.cpp setup the font interface, complete with an opaque Render_Font; started breaking down the translation interface 2017-03-11 20:20:24 -05:00
win32_ft_font.cpp began torching the font system 2017-03-10 15:44:42 -05:00
win32_gl.h got 32-bit windows build running 2017-02-24 20:53:40 -05: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