a4.0.2 ready to go
This commit is contained in:
parent
fb57a515c9
commit
216c597df3
|
@ -385,7 +385,7 @@ struct Application_Links;
|
|||
#define GET_USER_INPUT_SIG(n) User_Input n(Application_Links *app, unsigned int get_type, unsigned int abort_type)
|
||||
#define GET_COMMAND_INPUT_SIG(n) User_Input n(Application_Links *app)
|
||||
|
||||
// Queries
|
||||
// Queries and information display
|
||||
#define START_QUERY_BAR_SIG(n) int n(Application_Links *app, Query_Bar *bar, unsigned int flags)
|
||||
#define END_QUERY_BAR_SIG(n) void n(Application_Links *app, Query_Bar *bar, unsigned int flags)
|
||||
#define PRINT_MESSAGE_SIG(n) void n(Application_Links *app, char *string, int len)
|
||||
|
|
|
@ -241,15 +241,17 @@ isearch(Application_Links *app, int start_reversed){
|
|||
User_Input in;
|
||||
Query_Bar bar;
|
||||
|
||||
view = app->get_active_view(app);
|
||||
buffer = app->get_buffer(app, view.locked_buffer_id);
|
||||
|
||||
if (!buffer.exists) return;
|
||||
|
||||
if (app->start_query_bar(app, &bar, 0) == 0) return;
|
||||
|
||||
Range match;
|
||||
int reverse = start_reversed;
|
||||
int pos;
|
||||
|
||||
view = app->get_active_view(app);
|
||||
buffer = app->get_buffer(app, view.buffer_id);
|
||||
|
||||
|
||||
pos = view.cursor.pos;
|
||||
match = make_range(pos, pos);
|
||||
|
||||
|
|
14
README.txt
14
README.txt
|
@ -1,4 +1,4 @@
|
|||
Distribution Date: 07.03.2016 (dd.mm.yyyy)
|
||||
Distribution Date: 24.03.2016 (dd.mm.yyyy)
|
||||
|
||||
Thank you for contributing to the 4coder project!
|
||||
|
||||
|
@ -27,6 +27,18 @@ if you start digging and pressing hard enough.
|
|||
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:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Distribution Date: 07.03.2016 (dd.mm.yyyy)
|
||||
Distribution Date: 24.03.2016 (dd.mm.yyyy)
|
||||
|
||||
Thank you for contributing to the 4coder project!
|
||||
|
||||
|
@ -22,56 +22,24 @@ updates may deeply break your code.
|
|||
SOME DOCUMENTATION
|
||||
-------------------------------------
|
||||
|
||||
See comments in 4coder_custom.cpp for more detailed information.
|
||||
See comments in 4coder_default_bindings.cpp for more detailed information.
|
||||
|
||||
Functions to implement (optional in the dll, but required if you are using buildsuper.bat):
|
||||
get_bindings
|
||||
|
||||
NEW IN 4.0.0:
|
||||
NEW IN 4.0.2:
|
||||
================
|
||||
File_View_Summary becomes View_Summary:
|
||||
There use to be a lot of different view types and only "file views" were exposed in the API.
|
||||
As of alpha 4 there are only views and you can always get a view.
|
||||
#include "4coder_default.cpp" at the top of your own file to get a lot of the default functions
|
||||
such as incremental search, various word boundry seeks, and so on.
|
||||
|
||||
Besides renaming the struct, there is also a change in the meaning of the "buffer_id" field.
|
||||
A view can have a buffer attached, but not currently be looking at that file.
|
||||
app->buffer_seek_string_insensitive(app, &buffer, start, str, len, seek_forward, &out);
|
||||
Exactly the same as app->buffer_seek_string, but the matching rule is case insensitive
|
||||
|
||||
All of the following indicate the buffer associated with the view:
|
||||
buffer_id
|
||||
locked_buffer_id
|
||||
hidden_buffer_id
|
||||
app->get_command_input(app);
|
||||
Returns a User_Input that represents the input event that triggered the current command.
|
||||
|
||||
These ids are nulled out to indicate that access at a particular level is not available.
|
||||
buffer_id -
|
||||
This is null if the file is not visible in the view OR if the view is locked.
|
||||
A view is only locked right now for read only buffers (compilation output).
|
||||
|
||||
locked_buffer_id -
|
||||
This is null only if the file is not visible.
|
||||
|
||||
hidden_buffer_id -
|
||||
This is never null.
|
||||
|
||||
In normal circumstances you can just use buffer_id and your code will automatically do
|
||||
nothing when you try to edit a buffer you should not.
|
||||
|
||||
If what you are writing is unusual and it SHOULD edit a buffer even if it is locked or
|
||||
hidden, then you can use the other ids to get deeper access.
|
||||
|
||||
================
|
||||
Theme changing API
|
||||
|
||||
app->change_theme(app, name, len)
|
||||
Set the theme to one of the prebuilt themes by name.
|
||||
|
||||
app->change_font(app, name, len)
|
||||
Set the font to one of the fonts by name (not by ttf file name, by the name in the list).
|
||||
|
||||
app->set_theme_colors(app, colors, count)
|
||||
Set colors of the current theme by tag color pairs.
|
||||
|
||||
================
|
||||
The scrolling interpolation rule is now exposed in the API, and there is an example
|
||||
app->print_message(app, str, len);
|
||||
Put a string into the *message* buffer.
|
||||
|
||||
OLD API DOC:
|
||||
================================================================
|
||||
|
@ -204,6 +172,36 @@ the change in the buffer caused by this edit.
|
|||
|
||||
The function returns 1 on success and 0 on failure.
|
||||
|
||||
================
|
||||
View_Summary:
|
||||
There use to be a lot of different view types and only "file views" were exposed in the API.
|
||||
As of alpha 4 there are only views and you can always get a view.
|
||||
|
||||
Besides renaming the struct, there is also a change in the meaning of the "buffer_id" field.
|
||||
A view can have a buffer attached, but not currently be looking at that file.
|
||||
|
||||
All of the following indicate the buffer associated with the view:
|
||||
buffer_id
|
||||
locked_buffer_id
|
||||
hidden_buffer_id
|
||||
|
||||
These ids are nulled out to indicate that access at a particular level is not available.
|
||||
buffer_id -
|
||||
This is null if the file is not visible in the view OR if the view is locked.
|
||||
A view is only locked right now for read only buffers (compilation output).
|
||||
|
||||
locked_buffer_id -
|
||||
This is null only if the file is not visible.
|
||||
|
||||
hidden_buffer_id -
|
||||
This is never null.
|
||||
|
||||
In normal circumstances you can just use buffer_id and your code will automatically do
|
||||
nothing when you try to edit a buffer you should not.
|
||||
|
||||
If what you are writing is unusual and it SHOULD edit a buffer even if it is locked or
|
||||
hidden, then you can use the other ids to get deeper access.
|
||||
|
||||
================
|
||||
app->get_view_first(app);
|
||||
app->get_view_next(app, &view);
|
||||
|
@ -364,6 +362,20 @@ Returns 1 if it successfully started a query bar.
|
|||
app->end_query_bar(app, &bar);
|
||||
See start_query_bar for details.
|
||||
|
||||
================
|
||||
Theme changing API
|
||||
|
||||
app->change_theme(app, name, len)
|
||||
Set the theme to one of the prebuilt themes by name.
|
||||
|
||||
app->change_font(app, name, len)
|
||||
Set the font to one of the fonts by name (not by ttf file name, by the name in the list).
|
||||
|
||||
app->set_theme_colors(app, colors, count)
|
||||
Set colors of the current theme by tag color pairs.
|
||||
|
||||
|
||||
|
||||
Changes from 3.3 to 3.4:
|
||||
-exposed command word complete
|
||||
|
||||
|
|
28
TODO.txt
28
TODO.txt
|
@ -65,15 +65,13 @@
|
|||
; [X] allen's segfaults on linux launch
|
||||
; [X] open empty file bug
|
||||
; [X] chronal's map setting issue
|
||||
; [X] linux save jankieness
|
||||
; [] indication on failure to save
|
||||
; [] clean whitespace doesn't appear to be cleaning trailing whitespace anymore???
|
||||
; [] sometimes the main cursor is not the same width as the mark cursor in the same spot
|
||||
; [] tab character wrong width
|
||||
; [] bouncing when scrolling down
|
||||
; [] miblo's off screen cursor thing
|
||||
;
|
||||
; [] linux save jankieness
|
||||
;
|
||||
;
|
||||
;
|
||||
|
||||
|
@ -103,16 +101,16 @@
|
|||
;
|
||||
; [] file status in custom API
|
||||
; [] user file bar string
|
||||
; [] simple multi-line
|
||||
;
|
||||
; [] command meta data
|
||||
; [] simple multi-line editing
|
||||
; [] allow for arbitrary wrap positions independent of view width
|
||||
; [] word level wrapping ~ temporary measure really want to have totally formatted code
|
||||
; [] manipulate scroll starget API
|
||||
; [] error parsing and jump to error
|
||||
; [] additional hooks
|
||||
; [X] new file
|
||||
; [] file out of sync
|
||||
; [] double binding warnings
|
||||
; [] kill rect
|
||||
;
|
||||
; [] manipulate scroll starget API
|
||||
;
|
||||
; search related tech
|
||||
; [X] replace word (incremental and/or in range)
|
||||
|
@ -133,16 +131,20 @@
|
|||
; [] theme switch per panel?
|
||||
; [] allow multiple font faces with effects
|
||||
;
|
||||
; [] control schemes
|
||||
; control schemes
|
||||
; [] emacs style sub-maps
|
||||
; [] vim style modes
|
||||
; [] "tap typing"
|
||||
; [] "thin cursor"
|
||||
; [] command meta data
|
||||
; [] macros
|
||||
;
|
||||
; [] switch over to gap buffer
|
||||
; code engine
|
||||
; [] lexer with multiple chunk input
|
||||
;
|
||||
; [] macros
|
||||
; [] switch over to gap buffer
|
||||
; [] more correct auto-indentation
|
||||
; [] preprocessor
|
||||
; [] AST generator
|
||||
;
|
||||
; [] cuber's return to previous buffer idea
|
||||
; [] miblo's various number editors
|
||||
|
@ -156,7 +158,7 @@
|
|||
; [] polish for hot directories
|
||||
; [] undo groups
|
||||
;
|
||||
; [] "virtual text"
|
||||
; "virtual text"
|
||||
; [] line numbers
|
||||
; [] macro expansion
|
||||
; [] error text at line
|
||||
|
|
Loading…
Reference in New Issue