Go to file
Allen Webster bfb02009d6 fixed infinite loop in auto indent code 2016-06-06 12:41:22 -04:00
buffer combined font-info-load and font-load 2016-06-03 14:45:51 -04:00
power fixed bugs, updated 4coder_casey.cpp 2016-06-06 12:25:03 -04:00
test a little more work on the new lexer 2016-06-06 12:01:57 -04:00
.gitignore delay.cpp generator fixed 2016-05-16 12:19:17 -04:00
4coder_buffer_types.h eliminated do_view callback 2016-03-03 14:27:09 -05:00
4coder_config.h removed SET_CURSOR message 2016-05-27 10:51:12 -04:00
4coder_custom.h moved a lot of basics to the custom side 2016-06-03 12:20:45 -04:00
4coder_custom_api.h trimmed down custom api 2016-05-30 21:22:55 -04:00
4coder_default_bindings.cpp moved a lot of basics to the custom side 2016-06-03 12:20:45 -04:00
4coder_default_include.cpp new lexer is sort of in there ... relexing still needs work 2016-06-04 02:35:57 -04:00
4coder_gui.h remove overlapped sections, need floating sections instead 2016-05-31 13:07:31 -04:00
4coder_helper.h trimmed down custom api 2016-05-30 21:22:55 -04:00
4coder_keycodes.h metagenerating delayed action stuff 2016-02-27 12:34:13 -05:00
4coder_mem.h added a bunch of GUI, stuff, broke everything 2016-05-24 22:12:49 -04:00
4coder_rect.h added a bunch of GUI, stuff, broke everything 2016-05-24 22:12:49 -04:00
4coder_string.h trimmed down custom api 2016-05-30 21:22:55 -04:00
4coder_style.h meta generate styles 2016-03-04 18:10:00 -05:00
4coder_version.h switched to CRITICAL_SECTION, reorganized win32main 2016-05-29 13:07:24 -04:00
4cpp_clear_config.h initial 2015-09-28 19:34:55 -04:00
4cpp_lexer.h new lexer is sort of in there ... relexing still needs work 2016-06-04 02:35:57 -04:00
4cpp_lexer_types.h work on new lexer 2016-06-01 19:52:06 -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 combined font-info-load and font-load 2016-06-03 14:45:51 -04:00
4ed.h exchange is totally gone 2016-05-31 12:27:40 -04:00
4ed_app_models.h removed the delayed action system 2016-05-29 18:01:27 -04:00
4ed_app_target.cpp a little more work on the new lexer 2016-06-06 12:01:57 -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 trimmed down custom api 2016-05-30 21:22:55 -04:00
4ed_file_view.cpp fixed infinite loop in auto indent code 2016-06-06 12:41:22 -04:00
4ed_font_set.cpp combined font-info-load and font-load 2016-06-03 14:45:51 -04:00
4ed_gui.cpp moved a lot of basics to the custom side 2016-06-03 12:20:45 -04:00
4ed_keycodes.h replaced Key_Codes with generated enum 2016-02-25 18:52:11 -05:00
4ed_layout.cpp scrollbar may be toggled, file remeasure now tied to file region not panel region 2016-05-19 18:04:01 -04:00
4ed_math.cpp remove overlapped sections, need floating sections instead 2016-05-31 13:07:31 -04:00
4ed_mem.cpp Merge branch 'master' of https://bitbucket.org/4coder/4coder 2016-05-28 23:12:29 -04:00
4ed_meta.h simplified macro config stuff, just have FRED_INTERNAL now 2016-05-26 22:37:45 -04:00
4ed_metagen.cpp trimmed down custom api 2016-05-30 21:22:55 -04:00
4ed_rendering.cpp progress towards win32 fonts 2016-06-03 15:20:29 -04:00
4ed_rendering.h combined font-info-load and font-load 2016-06-03 14:45:51 -04:00
4ed_rendering_helper.cpp reorganizing a lot of redundant stuff 2016-05-27 13:11:38 -04:00
4ed_style.cpp index based styles 2016-05-06 11:34:08 -04:00
4ed_style.h theme API part 1, bug fixes 2016-03-04 23:10:55 -05:00
4ed_system.h another small indent rule improvement 2016-05-31 16:01:25 -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
4tech_table.cpp added dpi aware back in 2016-06-01 12:03:45 -04:00
Makefile linux update file stuff 2016-05-28 20:52:46 +01:00
README.txt exchange is totally gone 2016-05-31 12:27:40 -04:00
README_body.txt readme generator started 2016-05-12 12:40:26 -04:00
SUPERREADME.txt exchange is totally gone 2016-05-31 12:27:40 -04:00
SUPERREADME_body.txt readme generator started 2016-05-12 12:40:26 -04:00
TODO.txt work on new lexer 2016-06-01 19:52:06 -04:00
build.bat simplified macro config stuff, just have FRED_INTERNAL now 2016-05-26 22:37:45 -04:00
build_all.bat fixed bugs, updated 4coder_casey.cpp 2016-06-06 12:25:03 -04:00
build_exp.bat progress on experimental lexer 2016-05-18 19:22:58 -04:00
buildsuper.bat temporarily remove view routines 2016-05-29 13:49:38 -04:00
buildsuper.sh changes to customization file setup 2016-05-07 13:25:45 -04:00
custom_api_spec.txt trimmed down custom api 2016-05-30 21:22:55 -04: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
linux_4ed.cpp switch to new font system 2016-06-03 21:40:11 -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 simplified macro config stuff, just have FRED_INTERNAL now 2016-05-26 22:37:45 -04:00
package.sh linux build setup ~Makefile not correct yet~ 2016-03-08 18:17:51 -05:00
readme_generator.c readme generator started 2016-05-12 12:40:26 -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
win32_4ed.cpp new relexer starting to work 2016-06-06 00:02:20 -04:00
win32_font.cpp more work on win32 fonts 2016-06-06 11:24:06 -04:00

README.txt

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

****Changes in 4.0.3****
4coder now uses 0% CPU when you are not using it.

There is a scrollbar on files now.  (It is not the nicest scrollbar to use in the world,
but the real purpose it serves is to indicate where in a file you are.  I imagine most
scrolling will still happen with the wheel or cursor navigation.)

File lists are now arrow navigatable and scrollable... these two systems do no work
together very well yet.

Color adjusting is possible again, but the UI is heavily downgraded from the fancieness
of the old system.

While editing:
alt + Z: execute command line with the same output buffer and same command
   as in the previous use of "alt + z".

****Changes in 4.0.2****
The previous file limit of 128 has been raised to something over 8 million.

A *messages* buffer is now opened on launch to provide some information about
 new features and messages will be posted there to report events sometimes.

subst and link directories no longer confuse the system, it treats them as one file.

on the command line: -f <N> sets the font size, the default is 16

ctrl + e: centers the view on the cursor

****Changes in 4.0.0****
alt + x: changed to arbitrary command (NOW WORKS ANYWHERE!)
Opens a command prompt from which you can execute:
   "open menu" to open the menu (old behavior of alt+x)
   "open all code" loads all cpp and h files in current directory
   "close all code" closes all cpp and h files currently open
   "open in quotes" opens the file who's name under the cursor is surrounded by quotes
   "dos lines" dosify the file end of iles
   "nix lines" nixify the file end of iles

alt + z: execute arbitrary command-line command
Specify an output buffer and a command to execute
and the results will be dropped into the specified buffer.

****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

****Old Information****
Basic Navigation:
mouse click - move cursor
arrows - move cursor
home & end - move cursor to beginning/end of line
page up & page down - page up & page down respectively
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

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
control + m - swap cursor and mark

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

Undo and History:
control + z : undo
control + y : redo
control + Z: undo / history timelines
control + h: history back step
control + H: history forward step
alt + left: increase rewind speed (through undo)
alt + right: increase fastforward speed (through redo)
alt + down: stop redining / fastforwarding

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 + =: write increment
control + -: decrement increment
control + [: write {} pair with cursor in line between
control + {: as <control + [> with a semicolon after "}"
control + }: as <control + [> with a "break;" after "}"
control + 9: wrap the range specified by mark and cursor in parens
control + i: wrap the range specified by mark and cursor in #if 0 #endif

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
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 + L : toggle end of line mode
	mode 1: treat all \r\n and all \n as newline, show \r when not followed by \n
	mode 2: treat all \r and \n as newline
	mode 3: treat all \n as newline, show all \r
control + ? : toggle highlight whitespace mode

Tools:
alt + m : 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*

File Managing:
control + n : create a new file, begins interactive input mode
control + o : open file, begins interactive input mode
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, pressing enter confirms the input for the command, and
pressing escape (once) will end the input mode and abort the command.  If the file does
not exist either the nearest match will be opened, or no file will be opened if none is
considered a match.  Use backspace to go back through directories.

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