Fix scope commands
This commit is contained in:
parent
1d1ae13d82
commit
6d2a12dd9d
|
@ -39,7 +39,7 @@ find_scope_top(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 flag
|
||||||
b32 success = false;
|
b32 success = false;
|
||||||
Token_Array array = get_token_array_from_buffer(app, buffer);
|
Token_Array array = get_token_array_from_buffer(app, buffer);
|
||||||
if (array.tokens != 0){
|
if (array.tokens != 0){
|
||||||
i64 position = 0;
|
i64 position = start_pos;
|
||||||
i64 token_index = token_index_from_pos(&array, start_pos);
|
i64 token_index = token_index_from_pos(&array, start_pos);
|
||||||
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
||||||
b32 good_status = true;
|
b32 good_status = true;
|
||||||
|
@ -73,7 +73,7 @@ find_scope_top(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 flag
|
||||||
good_status = token_it_dec(&it);
|
good_status = token_it_dec(&it);
|
||||||
}
|
}
|
||||||
finished:;
|
finished:;
|
||||||
*end_pos_out = start_pos;
|
*end_pos_out = position;
|
||||||
}
|
}
|
||||||
return(success);
|
return(success);
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ find_scope_bottom(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 f
|
||||||
b32 success = false;
|
b32 success = false;
|
||||||
Token_Array array = get_token_array_from_buffer(app, buffer);
|
Token_Array array = get_token_array_from_buffer(app, buffer);
|
||||||
if (array.tokens != 0){
|
if (array.tokens != 0){
|
||||||
i64 position = 0;
|
i64 position = start_pos;
|
||||||
i64 token_index = token_index_from_pos(&array, start_pos);
|
i64 token_index = token_index_from_pos(&array, start_pos);
|
||||||
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
||||||
token_it_inc(&it);
|
token_it_inc(&it);
|
||||||
|
@ -118,7 +118,7 @@ find_scope_bottom(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 f
|
||||||
good_status = token_it_inc(&it);
|
good_status = token_it_inc(&it);
|
||||||
}
|
}
|
||||||
finished:;
|
finished:;
|
||||||
*end_pos_out = start_pos;
|
*end_pos_out = position;
|
||||||
}
|
}
|
||||||
return(success);
|
return(success);
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ find_next_scope(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 fla
|
||||||
b32 success = false;
|
b32 success = false;
|
||||||
Token_Array array = get_token_array_from_buffer(app, buffer);
|
Token_Array array = get_token_array_from_buffer(app, buffer);
|
||||||
if (array.tokens != 0){
|
if (array.tokens != 0){
|
||||||
i64 position = 0;
|
i64 position = start_pos;
|
||||||
i64 token_index = token_index_from_pos(&array, start_pos);
|
i64 token_index = token_index_from_pos(&array, start_pos);
|
||||||
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
||||||
token_it_inc(&it);
|
token_it_inc(&it);
|
||||||
|
@ -182,7 +182,7 @@ find_next_scope(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 fla
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finished:;
|
finished:;
|
||||||
*end_pos_out = start_pos;
|
*end_pos_out = position;
|
||||||
}
|
}
|
||||||
return(success);
|
return(success);
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ find_prev_scope(Application_Links *app, Buffer_ID buffer, i64 start_pos, u32 fla
|
||||||
b32 success = false;
|
b32 success = false;
|
||||||
Token_Array array = get_token_array_from_buffer(app, buffer);
|
Token_Array array = get_token_array_from_buffer(app, buffer);
|
||||||
if (array.tokens != 0){
|
if (array.tokens != 0){
|
||||||
i64 position = 0;
|
i64 position = start_pos;
|
||||||
i64 token_index = token_index_from_pos(&array, start_pos);
|
i64 token_index = token_index_from_pos(&array, start_pos);
|
||||||
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
Token_Iterator_Array it = token_iterator_index(buffer, &array, token_index);
|
||||||
if (HasFlag(flags, FindScope_NextSibling)){
|
if (HasFlag(flags, FindScope_NextSibling)){
|
||||||
|
|
|
@ -552,10 +552,11 @@ buffer_cursor_from_line_col(Gap_Buffer *buffer, i64 line, i64 col){
|
||||||
i64 size = buffer_size(buffer);
|
i64 size = buffer_size(buffer);
|
||||||
i64 line_index = line - 1;
|
i64 line_index = line - 1;
|
||||||
i64 line_count = buffer_line_count(buffer);
|
i64 line_count = buffer_line_count(buffer);
|
||||||
line_index = clamp(0, line_index, line_count);
|
line_index = clamp(0, line_index, line_count - 1);
|
||||||
|
|
||||||
i64 this_start = buffer->line_starts[line_index];
|
i64 this_start = buffer->line_starts[line_index];
|
||||||
i64 max_col = (buffer->line_starts[line_index + 1] - this_start);
|
i64 max_col = (buffer->line_starts[line_index + 1] - this_start);
|
||||||
|
max_col = clamp_bot(1, max_col);
|
||||||
|
|
||||||
if (col < 0){
|
if (col < 0){
|
||||||
if (-col > max_col){
|
if (-col > max_col){
|
||||||
|
|
Loading…
Reference in New Issue