4coder
 
 
 
 
 
 
Go to file
Allen Webster 216c597df3 a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
buffer case insensitive search 2016-03-21 14:23:23 -04:00
power lexer table generator started 2016-03-23 21:05:28 -04:00
test more lexer table generation 2016-03-24 10:01:53 -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.cpp lexer table generator started 2016-03-23 21:05:28 -04:00
4coder_custom.h a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
4coder_default.cpp a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
4coder_default_bindings.cpp lexer table generator started 2016-03-23 21:05:28 -04:00
4coder_helper.h bug fixes a4.0.1 2016-03-07 11:51:49 -05:00
4coder_keycodes.h metagenerating delayed action stuff 2016-02-27 12:34:13 -05:00
4coder_string.h file equality finally set up correctly 2016-03-23 22:14:44 -04:00
4coder_style.h meta generate styles 2016-03-04 18:10:00 -05:00
4coder_version.h expanding file table, misc improvements 2016-03-15 10:12:06 -04:00
4cpp_clear_config.h
4cpp_lexer.h lexer table generator started 2016-03-23 21:05:28 -04:00
4cpp_lexer_types.h bug fixes and new lexer started 2016-03-09 21:59:58 -05: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 lexer table generator started 2016-03-23 21:05:28 -04:00
4ed.h print_message 2016-03-20 23:58:34 -04:00
4ed_app_settings.h a4.0.2 features ready (still testing) 2016-03-21 18:27:27 -04:00
4ed_app_target.cpp unique file hash system progress 2016-03-10 22:33:19 -05:00
4ed_command.cpp search/rsearch finished, new API system up and running 2016-02-27 15:23:52 -05:00
4ed_config.h
4ed_delay.cpp changes for dpi 2016-03-19 23:09:00 -04:00
4ed_dll_reader.cpp
4ed_dll_reader.h
4ed_exchange.cpp a3.4.4 2016-02-28 15:30:51 -05:00
4ed_file.cpp file equality finally set up correctly 2016-03-23 22:14:44 -04:00
4ed_file_view.cpp a4.0.2 features ready (still testing) 2016-03-21 18:27:27 -04:00
4ed_font_set.cpp 4coder_handmade_hero.cpp ready to go 2016-03-05 03:10:43 -05:00
4ed_gui.cpp unique file hash system progress 2016-03-10 22:33:19 -05:00
4ed_internal.h
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 Fixed linux side keyboard stuff 2016-02-25 20:28:31 -05:00
4ed_math.cpp unifying use of working_set's table 2016-02-07 16:15:58 -05: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 changes for dpi 2016-03-19 23:09:00 -04:00
4ed_rendering.h changes for dpi 2016-03-19 23:09:00 -04:00
4ed_rendering_helper.cpp bug fixing 2016-02-20 16:36:16 -05:00
4ed_style.cpp 4coder_handmade_hero.cpp ready to go 2016-03-05 03:10:43 -05:00
4ed_style.h theme API part 1, bug fixes 2016-03-04 23:10:55 -05:00
4ed_system.h intended interface for stdout capture 2016-03-20 18:43:28 -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 expanding file table, misc improvements 2016-03-15 10:12:06 -04:00
Makefile slightly cleaner version of linux time_stamp stuff 2016-03-12 04:36:55 +00:00
README.txt a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
SUPERREADME.txt a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
TODO.txt a4.0.2 ready to go 2016-03-24 11:00:13 -04:00
build.bat more lexer table generation 2016-03-24 10:01:53 -04:00
buildsuper.bat various bug fixes 2016-03-07 00:13:20 -05:00
buildsuper.sh linux packaging almost ready 2016-03-07 14:37:48 -05:00
dll_reader.cpp
gen_linux_icon.c more sensible linux icon header format 2016-03-22 18:47:03 +00:00
linux_4ed.cpp actually acquire the frame lock that i should have been doing all this time... *facepalm* 2016-03-24 03:22:04 +00: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 a4.0.1 ready to go 2016-03-07 17:13:59 -05:00
package.sh linux build setup ~Makefile not correct yet~ 2016-03-08 18:17:51 -05:00
system_shared.cpp word complete v1 again 2016-02-20 13:23:46 -05:00
system_shared.h bug fixing 2016-02-20 16:36:16 -05:00
win32_4ed.cpp lexer table generator started 2016-03-23 21:05:28 -04:00

README.txt

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

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

Themes are saved in p4c files, I encourage either of the following pronciations:
"pack"
"pee-fork"