4coder
 
 
 
 
 
 
Go to file
Allen Webster a690547aa2 working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
buffer new gui stuff 10 2016-03-26 04:06:41 -04:00
power working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
test removed DPI 2016-04-21 20:50:16 -04:00
.gitignore a3.4.4 2016-02-28 15:30:51 -05:00
4coder_buffer_types.h eliminated do_view callback 2016-03-03 14:27:09 -05:00
4coder_config.h chunks 20/20 2016-03-17 20:27:34 -04:00
4coder_custom.h working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
4coder_default_bindings.cpp fixed extra scrolling when switching files 2016-05-11 22:15:54 -04:00
4coder_default_include.cpp fixed extra scrolling when switching files 2016-05-11 22:15:54 -04:00
4coder_helper.h fixed extra scrolling when switching files 2016-05-11 22:15:54 -04:00
4coder_keycodes.h metagenerating delayed action stuff 2016-02-27 12:34:13 -05:00
4coder_string.h fixed extra scrolling when switching files 2016-05-11 22:15:54 -04:00
4coder_style.h meta generate styles 2016-03-04 18:10:00 -05:00
4coder_version.h updated version number 2016-05-12 09:42:32 -04:00
4cpp_clear_config.h initial 2015-09-28 19:34:55 -04:00
4cpp_lexer.h lexer table generator started 2016-03-23 21:05:28 -04:00
4cpp_lexer_types.h scroll bar 99 ready 2016-03-31 00:05:47 -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 another scroll bug fixed 2016-05-12 11:53:44 -04:00
4ed.h animation and event completion event handling 2016-05-03 15:33:22 -04:00
4ed_app_models.h working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
4ed_app_target.cpp index based styles 2016-05-06 11:34:08 -04:00
4ed_command.cpp search/rsearch finished, new API system up and running 2016-02-27 15:23:52 -05:00
4ed_config.h starting new parser 2015-11-30 21:51:53 -05:00
4ed_data.ctm working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
4ed_delay.cpp changes for dpi 2016-03-19 23:09:00 -04:00
4ed_dll_reader.cpp starting new parser 2015-11-30 21:51:53 -05:00
4ed_dll_reader.h starting new parser 2015-11-30 21:51:53 -05:00
4ed_exchange.cpp fixed open empty file bug 2016-05-11 16:40:53 -04:00
4ed_file.cpp boiled out the redraw nonsense, close to event drive now 2016-05-03 12:15:08 -04:00
4ed_file_view.cpp working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
4ed_font_set.cpp 4coder_handmade_hero.cpp ready to go 2016-03-05 03:10:43 -05:00
4ed_gui.cpp ready for distribution 2016-05-10 13:36:53 -04:00
4ed_gui_old.cpp theme library gui working, not theme editing gui though 2016-04-28 14:19:11 -04:00
4ed_internal.h boiled out the redraw nonsense, close to event drive now 2016-05-03 12:15:08 -04:00
4ed_keyboard.cpp replaced Key_Codes with generated enum 2016-02-25 18:52:11 -05:00
4ed_keycodes.h replaced Key_Codes with generated enum 2016-02-25 18:52:11 -05:00
4ed_layout.cpp merged View and File_View 2016-03-02 23:10:45 -05:00
4ed_linux_keyboard.cpp linux updates + fixes: 2016-04-08 01:17:26 +01:00
4ed_math.cpp scroll bar 99 ready 2016-03-31 00:05:47 -04:00
4ed_mem.cpp windows unique file hash 2016-03-08 18:06:27 -05:00
4ed_meta.h command line ready, more linux shit done 2016-02-07 10:19:18 -05:00
4ed_metagen.cpp changes for dpi 2016-03-19 23:09:00 -04:00
4ed_rendering.cpp fixed open empty file bug 2016-05-11 16:40:53 -04:00
4ed_rendering.h removed DPI 2016-04-21 20:50:16 -04:00
4ed_rendering_helper.cpp color editor field up and running 2016-04-29 22:46:13 -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 boiled out the redraw nonsense, close to event drive now 2016-05-03 12:15:08 -04:00
4ed_template.cpp various bug fixes 2016-03-07 00:13:20 -05:00
4ed_ttf.cpp locales 2016-01-06 10:39:15 -05:00
4ed_win32_keyboard.cpp replaced Key_Codes with generated enum 2016-02-25 18:52:11 -05:00
4tech_table.cpp boiled out the redraw nonsense, close to event drive now 2016-05-03 12:15:08 -04:00
Makefile linux: change key handling code 2016-05-09 18:49:54 +01:00
README.txt working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
README_body.txt readme generator started 2016-05-12 12:40:26 -04:00
SUPERREADME.txt working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
SUPERREADME_body.txt readme generator started 2016-05-12 12:40:26 -04:00
TODO.txt updated TODO 2016-05-10 14:39:15 -04:00
build.bat debugging scroll bar crap 2016-04-21 23:28:00 -04:00
build_all.bat working on removing open_hook from view_set_file 2016-05-13 15:15:38 -04:00
build_exp.bat unifying build shell and code 2016-04-21 22:23:32 -04:00
buildsuper.bat changes to custom file organization 2016-05-06 12:45:50 -04:00
buildsuper.sh changes to customization file setup 2016-05-07 13:25:45 -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 linux: clean up the GL & XIM init code a bit 2016-05-09 18:49:54 +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
package.bat readme generator started 2016-05-12 12:40:26 -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 fixed some bugs arising from french-belgium keyboard layout 2016-05-05 19:32:46 -04:00
system_shared.h fixed open empty file bug 2016-05-11 16:40:53 -04:00
win32_4ed.cpp fixed open empty file bug 2016-05-11 16:40:53 -04:00

README.txt

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