Blender
V3.3
|
#include "BLI_compiler_attrs.h"
Go to the source code of this file.
Enumerations | |
enum | { TXT_MOVE_LINE_UP = -1 , TXT_MOVE_LINE_DOWN = 1 } |
Functions | |
void | BKE_text_free_lines (struct Text *text) |
struct Text * | BKE_text_add (struct Main *bmain, const char *name) |
int | txt_extended_ascii_as_utf8 (char **str) |
bool | BKE_text_reload (struct Text *text) |
struct Text * | BKE_text_load_ex (struct Main *bmain, const char *filepath, const char *relbase, bool is_internal) ATTR_NONNULL(1 |
struct Text struct Text * | BKE_text_load (struct Main *bmain, const char *filepath, const char *relbase) ATTR_NONNULL(1 |
struct Text struct Text void | BKE_text_clear (struct Text *text) ATTR_NONNULL(1) |
void | BKE_text_write (struct Text *text, const char *str, int str_len) ATTR_NONNULL(1 |
void int | BKE_text_file_modified_check (struct Text *text) |
void | BKE_text_file_modified_ignore (struct Text *text) |
char * | txt_to_buf (struct Text *text, size_t *r_buf_strlen) ATTR_NONNULL(1 |
void | txt_clean_text (struct Text *text) |
void | txt_order_cursors (struct Text *text, bool reverse) |
int | txt_find_string (struct Text *text, const char *findstr, int wrap, int match_case) |
bool | txt_has_sel (const struct Text *text) |
int | txt_get_span (struct TextLine *from, struct TextLine *to) |
void | txt_move_up (struct Text *text, bool sel) |
void | txt_move_down (struct Text *text, bool sel) |
void | txt_move_left (struct Text *text, bool sel) |
void | txt_move_right (struct Text *text, bool sel) |
void | txt_jump_left (struct Text *text, bool sel, bool use_init_step) |
void | txt_jump_right (struct Text *text, bool sel, bool use_init_step) |
void | txt_move_bof (struct Text *text, bool sel) |
void | txt_move_eof (struct Text *text, bool sel) |
void | txt_move_bol (struct Text *text, bool sel) |
void | txt_move_eol (struct Text *text, bool sel) |
void | txt_move_toline (struct Text *text, unsigned int line, bool sel) |
void | txt_move_to (struct Text *text, unsigned int line, unsigned int ch, bool sel) |
void | txt_pop_sel (struct Text *text) |
void | txt_delete_char (struct Text *text) |
void | txt_delete_word (struct Text *text) |
void | txt_delete_selected (struct Text *text) |
void | txt_sel_all (struct Text *text) |
void | txt_sel_clear (struct Text *text) |
void | txt_sel_line (struct Text *text) |
void | txt_sel_set (struct Text *text, int startl, int startc, int endl, int endc) |
char * | txt_sel_to_buf (struct Text *text, size_t *r_buf_strlen) |
void | txt_insert_buf (struct Text *text, const char *in_buffer, int in_buffer_len) ATTR_NONNULL(1 |
void void | txt_split_curline (struct Text *text) |
void | txt_backspace_char (struct Text *text) |
void | txt_backspace_word (struct Text *text) |
bool | txt_add_char (struct Text *text, unsigned int add) |
bool | txt_add_raw_char (struct Text *text, unsigned int add) |
bool | txt_replace_char (struct Text *text, unsigned int add) |
bool | txt_unindent (struct Text *text) |
void | txt_comment (struct Text *text) |
void | txt_indent (struct Text *text) |
bool | txt_uncomment (struct Text *text) |
void | txt_move_lines (struct Text *text, int direction) |
void | txt_duplicate_line (struct Text *text) |
int | txt_setcurr_tab_spaces (struct Text *text, int space) |
bool | txt_cursor_is_line_start (const struct Text *text) |
bool | txt_cursor_is_line_end (const struct Text *text) |
int | txt_calc_tab_left (struct TextLine *tl, int ch) |
int | txt_calc_tab_right (struct TextLine *tl, int ch) |
int | text_check_bracket (char ch) |
bool | text_check_delim (char ch) |
bool | text_check_digit (char ch) |
bool | text_check_identifier (char ch) |
bool | text_check_identifier_nodigit (char ch) |
bool | text_check_whitespace (char ch) |
int | text_find_identifier_start (const char *str, int i) |
int | text_check_identifier_unicode (unsigned int ch) |
int | text_check_identifier_nodigit_unicode (unsigned int ch) |
char * | txt_to_buf_for_undo (struct Text *text, size_t *r_buf_len) ATTR_NONNULL(1 |
void | txt_from_buf_for_undo (struct Text *text, const char *buf, size_t buf_len) ATTR_NONNULL(1 |
Variables | |
char ATTR_WARN_UNUSED_RESULT | ATTR_RETURNS_NONNULL |
anonymous enum |
Enumerator | |
---|---|
TXT_MOVE_LINE_UP | |
TXT_MOVE_LINE_DOWN |
Definition at line 133 of file BKE_text.h.
Definition at line 282 of file text.c.
References BKE_id_new(), Text::id, id_fake_user_set(), ID_TXT, and id_us_min().
Referenced by text_new_exec().
Definition at line 516 of file text.c.
References txt_delete_sel(), txt_make_dirty(), and txt_sel_all().
Definition at line 530 of file text.c.
References BLI_exists(), BLI_path_abs(), BLI_stat(), BLI_strncpy(), FILE_MAX, Text::filepath, Text::id, ID_BLEND_PATH_FROM_GLOBAL, Text::mtime, result, and usdtokens::st().
Referenced by text_resolve_conflict_invoke().
Definition at line 564 of file text.c.
References BLI_exists(), BLI_path_abs(), BLI_stat(), BLI_strncpy(), FILE_MAX, Text::filepath, Text::id, ID_BLEND_PATH_FROM_GLOBAL, Text::mtime, result, and usdtokens::st().
Referenced by text_resolve_conflict_exec().
compiled
member. Definition at line 266 of file text.c.
References BLI_listbase_clear(), Text::curl, ListBase::first, Text::lines, MEM_freeN, NULL, and Text::sell.
Referenced by BKE_text_reload(), and text_free_data().
struct Text struct Text* BKE_text_load | ( | struct Main * | bmain, |
const char * | filepath, | ||
const char * | relbase | ||
) |
Load a text file.
Referenced by Freestyle::PythonInterpreter::interpretFile().
struct Text* BKE_text_load_ex | ( | struct Main * | bmain, |
const char * | filepath, | ||
const char * | relbase, | ||
bool | is_internal | ||
) |
Load a text file.
is_internal | If true, this text data-block only exists in memory, not as a file on disk. |
Referenced by text_open_exec().
Definition at line 420 of file text.c.
References BKE_text_free_lines(), BLI_file_read_text_as_mem(), BLI_path_abs(), BLI_stat(), BLI_strncpy(), buffer, FILE_MAX, Text::filepath, Text::id, ID_BLEND_PATH_FROM_GLOBAL, MEM_freeN, Text::mtime, NULL, usdtokens::st(), text_from_buf(), and txt_make_dirty().
Referenced by text_blend_read_data(), and text_reload_exec().
int text_check_bracket | ( | char | ch | ) |
Utility functions, could be moved somewhere more generic but are python/text related.
Definition at line 2276 of file text.c.
References Freestyle::a.
bool text_check_delim | ( | char | ch | ) |
Definition at line 2293 of file text.c.
References Freestyle::a.
Referenced by txtfmt_lua_format_line(), txtfmt_osl_format_line(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), and txtfmt_py_format_line().
bool text_check_digit | ( | char | ch | ) |
Definition at line 2309 of file text.c.
Referenced by txtfmt_lua_format_line(), txtfmt_osl_format_line(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), txtfmt_py_find_numeral_inner(), and txtfmt_py_literal_numeral().
bool text_check_identifier | ( | char | ch | ) |
Definition at line 2320 of file text.c.
Referenced by text_check_identifier_unicode(), text_find_identifier_start(), txtfmt_ini_find_bool(), txtfmt_ini_find_keyword(), txtfmt_ini_find_reserved(), txtfmt_lua_find_bool(), txtfmt_lua_find_keyword(), txtfmt_lua_find_specialvar(), txtfmt_osl_find_builtinfunc(), txtfmt_osl_find_preprocessor(), txtfmt_osl_find_reserved(), txtfmt_osl_find_specialvar(), txtfmt_pov_find_bool(), txtfmt_pov_find_keyword(), txtfmt_pov_find_reserved_builtins(), txtfmt_pov_find_reserved_keywords(), txtfmt_pov_find_specialvar(), txtfmt_py_find_bool(), txtfmt_py_find_builtinfunc(), txtfmt_py_find_decorator(), and txtfmt_py_find_specialvar().
bool text_check_identifier_nodigit | ( | char | ch | ) |
Definition at line 2343 of file text.c.
Referenced by text_check_identifier_nodigit_unicode().
int text_check_identifier_nodigit_unicode | ( | unsigned int | ch | ) |
Definition at line 2369 of file text.c.
References text_check_identifier_nodigit().
Referenced by text_autocomplete_build().
int text_check_identifier_unicode | ( | unsigned int | ch | ) |
Definition at line 2364 of file text.c.
References text_check_identifier().
Referenced by text_autocomplete_build().
bool text_check_whitespace | ( | char | ch | ) |
Definition at line 2375 of file text.c.
References ELEM.
Referenced by text_autocomplete_modal(), txtfmt_osl_find_preprocessor(), and txtfmt_py_find_decorator().
int text_find_identifier_start | ( | const char * | str, |
int | i | ||
) |
Definition at line 2383 of file text.c.
References str, text_check_identifier(), and UNLIKELY.
Referenced by confirm_suggestion(), get_suggest_prefix(), and text_autocomplete_build().
Definition at line 1919 of file text.c.
References blender::bke::attribute_accessor_functions::add(), Text::flags, txt_add_char_intern(), and TXT_TABSTOSPACES.
Referenced by text_indent_exec(), text_insert_exec(), text_insert_invoke(), text_line_break_exec(), and txt_replace_char().
Definition at line 1924 of file text.c.
References blender::bke::attribute_accessor_functions::add(), and txt_add_char_intern().
Referenced by txt_insert_buf().
Definition at line 1806 of file text.c.
References BLI_str_find_prev_char_utf8(), BLI_str_utf8_as_unicode_step(), Freestyle::c, Text::curc, Text::curl, TextLine::len, TextLine::line, TextLine::next, blender::meshintersect::prev(), TextLine::prev, txt_clean_text(), txt_combine_lines(), txt_delete_sel(), txt_has_sel(), txt_make_dirty(), txt_pop_sel(), and UNUSED_VARS.
Referenced by text_delete_exec().
Definition at line 1854 of file text.c.
References txt_delete_sel(), txt_jump_left(), and txt_make_dirty().
Referenced by text_delete_exec().
int txt_calc_tab_left | ( | struct TextLine * | tl, |
int | ch | ||
) |
Definition at line 824 of file text.c.
References TextLine::line, and TXT_TABSIZE.
Referenced by text_delete_exec(), and txt_move_left().
int txt_calc_tab_right | ( | struct TextLine * | tl, |
int | ch | ||
) |
Definition at line 844 of file text.c.
References TextLine::line, and TXT_TABSIZE.
Referenced by text_delete_exec(), and txt_move_right().
Definition at line 633 of file text.c.
References Text::curc, Text::curl, ListBase::first, ListBase::last, Text::lines, TextLine::next, Text::selc, Text::sell, top, and txt_new_line().
Referenced by txt_add_char_intern(), txt_backspace_char(), txt_combine_lines(), txt_delete_char(), txt_delete_line(), txt_duplicate_line(), txt_move_lines(), txt_replace_char(), txt_select_prefix(), txt_select_unprefix(), and txt_split_curline().
Definition at line 2137 of file text.c.
References Text::curl, ELEM, NULL, Text::sell, txt_has_sel(), and txt_select_prefix().
Referenced by text_comment_exec().
Referenced by text_delete_exec(), and text_move_cursor().
Referenced by text_delete_exec(), and text_move_cursor().
Definition at line 1758 of file text.c.
References BLI_str_utf8_as_unicode_step(), Freestyle::c, Text::curc, Text::curl, TextLine::len, TextLine::line, TextLine::next, txt_clean_text(), txt_combine_lines(), txt_delete_sel(), txt_has_sel(), txt_make_dirty(), txt_pop_sel(), and UNUSED_VARS.
Referenced by text_delete_exec().
Definition at line 1929 of file text.c.
References txt_delete_sel(), and txt_make_dirty().
Referenced by text_cut_exec().
Definition at line 1799 of file text.c.
References txt_delete_sel(), txt_jump_right(), and txt_make_dirty().
Referenced by text_delete_exec().
Definition at line 1741 of file text.c.
References BLI_insertlinkafter(), Text::curl, TextLine::line, Text::lines, Text::sell, txt_clean_text(), txt_make_dirty(), and txt_new_line().
Referenced by text_duplicate_line_exec().
int txt_extended_ascii_as_utf8 | ( | char ** | str | ) |
Use to a valid UTF-8 sequences. this function replaces extended ascii characters.
Definition at line 295 of file text.c.
References BLI_str_utf8_from_unicode(), BLI_str_utf8_invalid_byte(), blender::math::length(), MEM_freeN, MEM_mallocN, and str.
Referenced by blo_do_versions_260(), cleanup_textline(), and txt_insert_buf().
int txt_find_string | ( | struct Text * | text, |
const char * | findstr, | ||
int | wrap, | ||
int | match_case | ||
) |
Definition at line 1591 of file text.c.
References BLI_strcasestr(), Text::curl, ListBase::first, TextLine::line, Text::lines, TextLine::next, NULL, Text::selc, Text::sell, txt_get_span(), txt_move_to(), txt_order_cursors(), and blender::bke::image::partial_update::wrap().
Referenced by text_find_and_replace(), and text_replace_all().
Decode a buffer from txt_to_buf_for_undo.
Referenced by text_state_decode().
Definition at line 676 of file text.c.
References from, TextLine::next, TextLine::prev, and ret.
Referenced by text_cursor_set_to_pos(), text_jump_exec(), text_selection_set_invoke(), text_state_encode(), txt_find_string(), txt_order_cursors(), txt_pop_first(), txt_pop_last(), and txt_sel_to_buf().
Referenced by bpy_rna_region_as_string(), console_cursor_set_exit(), text_comment_exec(), text_cursor_set_exit(), text_delete_exec(), text_find_and_replace(), text_indent_exec(), text_indent_or_autocomplete_exec(), text_move_cursor(), text_replace_all(), text_state_encode(), and txt_copy_clipboard().
Definition at line 2160 of file text.c.
References Text::curl, ELEM, Text::flags, NULL, Text::sell, tab_to_spaces, txt_select_prefix(), and TXT_TABSTOSPACES.
Referenced by text_indent_exec().
Referenced by bpy_rna_region_from_string(), confirm_suggestion(), text_find_and_replace(), text_paste_exec(), and text_replace_all().
Definition at line 953 of file text.c.
References BLI_str_cursor_step_utf8(), STRCUR_DIR_PREV, STRCUR_JUMP_DELIM, txt_curs_cur(), txt_curs_sel(), txt_pop_first(), and txt_pop_sel().
Referenced by text_move_cursor(), text_select_word_exec(), and txt_backspace_word().
Definition at line 977 of file text.c.
References BLI_str_cursor_step_utf8(), STRCUR_DIR_NEXT, STRCUR_JUMP_DELIM, txt_curs_cur(), txt_curs_sel(), txt_pop_last(), and txt_pop_sel().
Referenced by text_move_cursor(), text_select_word_exec(), and txt_delete_word().
Definition at line 1045 of file text.c.
References ListBase::first, Text::lines, txt_curs_cur(), txt_curs_sel(), and txt_pop_sel().
Referenced by text_move_cursor().
Definition at line 1001 of file text.c.
References txt_curs_cur(), txt_curs_sel(), and txt_pop_sel().
Referenced by text_move_cursor(), and txt_move_up().
Definition at line 794 of file text.c.
References BLI_str_utf8_offset_from_column(), BLI_str_utf8_offset_to_column(), TextLine::next, txt_curs_cur(), txt_curs_sel(), txt_move_eol(), txt_pop_last(), and txt_pop_sel().
Referenced by text_move_cursor(), and txt_move_right().
Definition at line 1068 of file text.c.
References ListBase::last, Text::lines, txt_curs_cur(), txt_curs_sel(), and txt_pop_sel().
Referenced by BKE_text_write(), and text_move_cursor().
Definition at line 1023 of file text.c.
References txt_curs_cur(), txt_curs_sel(), and txt_pop_sel().
Referenced by text_move_cursor(), and txt_move_down().
Definition at line 865 of file text.c.
References BLI_str_find_prev_char_utf8(), Text::flags, blender::meshintersect::prev(), txt_calc_tab_left(), txt_curs_cur(), txt_curs_sel(), txt_move_up(), txt_pop_first(), txt_pop_sel(), and TXT_TABSTOSPACES.
Referenced by text_autocomplete_modal(), text_insert_invoke(), and text_move_cursor().
Definition at line 2182 of file text.c.
References BLI_assert, BLI_insertlinkafter(), BLI_insertlinkbefore(), BLI_remlink(), Text::curl, ELEM, if(), Text::lines, TextLine::next, TextLine::prev, Text::sell, txt_clean_text(), txt_make_dirty(), TXT_MOVE_LINE_DOWN, TXT_MOVE_LINE_UP, and txt_order_cursors().
Referenced by move_lines_exec().
Definition at line 909 of file text.c.
References BLI_str_utf8_size(), Text::flags, txt_calc_tab_right(), txt_curs_cur(), txt_curs_sel(), txt_move_down(), txt_pop_last(), txt_pop_sel(), and TXT_TABSTOSPACES.
Referenced by text_autocomplete_modal(), text_delete_exec(), and text_move_cursor().
Moves to a certain byte in a line, not a certain utf8-character.
Definition at line 1096 of file text.c.
References ListBase::first, Text::lines, TextLine::next, txt_curs_cur(), txt_curs_sel(), and txt_pop_sel().
Referenced by python_script_error_jump_text(), text_reload_exec(), text_replace_all(), text_state_decode(), txt_find_string(), and txt_move_toline().
Definition at line 1091 of file text.c.
References txt_move_to().
Referenced by text_find_and_replace(), text_jump_exec(), text_line_number_invoke(), and text_replace_all().
Definition at line 764 of file text.c.
References BLI_str_utf8_offset_from_column(), BLI_str_utf8_offset_to_column(), TextLine::prev, txt_curs_cur(), txt_curs_sel(), txt_move_bol(), txt_pop_first(), and txt_pop_sel().
Referenced by text_move_cursor(), and txt_move_left().
Definition at line 1177 of file text.c.
References Text::curc, Text::curl, Text::selc, Text::sell, txt_curs_swap(), and txt_get_span().
Referenced by text_comment_exec(), text_delete_exec(), text_indent_exec(), text_move_cursor(), text_unindent_exec(), txt_delete_sel(), txt_find_string(), and txt_move_lines().
Definition at line 1171 of file text.c.
References Text::curc, Text::curl, Text::selc, and Text::sell.
Referenced by cursor_skip(), text_cursor_set_to_pos(), text_move_cursor(), txt_add_char_intern(), txt_backspace_char(), txt_delete_char(), txt_jump_left(), txt_jump_right(), txt_move_bof(), txt_move_bol(), txt_move_down(), txt_move_eof(), txt_move_eol(), txt_move_left(), txt_move_right(), txt_move_to(), txt_move_up(), txt_pop_first(), txt_pop_last(), txt_replace_char(), txt_split_curline(), txt_wrap_move_bol(), txt_wrap_move_down(), txt_wrap_move_eol(), and txt_wrap_move_up().
Definition at line 1935 of file text.c.
References blender::bke::attribute_accessor_functions::add(), BLI_str_utf8_as_unicode_step(), BLI_str_utf8_from_unicode(), BLI_UTF8_MAX, Text::curc, Text::curl, TextLine::len, TextLine::line, MEM_freeN, MEM_mallocN, txt_add_char(), txt_clean_text(), txt_has_sel(), txt_make_dirty(), txt_pop_sel(), and UNUSED_VARS.
Referenced by text_insert_exec().
Definition at line 1246 of file text.c.
References Text::curc, Text::curl, ListBase::first, ListBase::last, TextLine::len, Text::lines, Text::selc, and Text::sell.
Referenced by BKE_text_clear(), and text_select_all_exec().
Reverse of txt_pop_sel Clears the selection and ensures the cursor is located at the selection (where the cursor is visually while editing).
Definition at line 1255 of file text.c.
References Text::curc, Text::curl, Text::selc, and Text::sell.
Referenced by text_move_cursor().
Definition at line 1263 of file text.c.
References Text::curc, Text::curl, TextLine::len, Text::selc, and Text::sell.
Referenced by text_select_line_exec().
Definition at line 1274 of file text.c.
References BLI_findlink(), BLI_listbase_count(), BLI_str_utf8_offset_from_index(), BLI_strlen_utf8(), CLAMP, CLAMP_MIN, Text::curc, Text::curl, ListBase::last, TextLine::line, Text::lines, NULL, Text::selc, and Text::sell.
Referenced by bpy_rna_region_as_string(), and bpy_rna_region_from_string().
char* txt_sel_to_buf | ( | struct Text * | text, |
size_t * | r_buf_strlen | ||
) |
Definition at line 1454 of file text.c.
References Text::curc, Text::curl, TextLine::len, blender::math::length(), TextLine::line, MEM_mallocN, TextLine::next, NULL, Text::selc, Text::sell, and txt_get_span().
Referenced by bpy_rna_region_as_string(), console_cursor_set_exit(), text_cursor_set_exit(), text_find_and_replace(), text_find_set_selected_exec(), text_replace_set_selected_exec(), and txt_copy_clipboard().
int txt_setcurr_tab_spaces | ( | struct Text * | text, |
int | space | ||
) |
Definition at line 2213 of file text.c.
References Freestyle::a, Text::curc, Text::curl, ELEM, Text::flags, TextLine::line, NULL, and TXT_TABSTOSPACES.
Referenced by text_line_break_exec().
Definition at line 1649 of file text.c.
References BLI_insertlinkbefore(), Text::curc, Text::curl, TextLine::format, left, TextLine::len, TextLine::line, Text::lines, MEM_freeN, MEM_mallocN, NULL, right, txt_clean_text(), txt_delete_sel(), txt_make_dirty(), and txt_pop_sel().
Referenced by text_line_break_exec(), txt_add_char_intern(), and txt_insert_buf().
char* txt_to_buf | ( | struct Text * | text, |
size_t * | r_buf_strlen | ||
) |
Referenced by python_script_exec().
char* txt_to_buf_for_undo | ( | struct Text * | text, |
size_t * | r_buf_len | ||
) |
Create a buffer, the only requirement is txt_from_buf_for_undo can decode it.
Referenced by text_state_encode().
Definition at line 2149 of file text.c.
References Text::curl, ELEM, NULL, Text::sell, and txt_select_unprefix().
Referenced by text_comment_exec().
Definition at line 2171 of file text.c.
References Text::curl, ELEM, Text::flags, NULL, Text::sell, tab_to_spaces, txt_select_unprefix(), and TXT_TABSTOSPACES.
Referenced by text_unindent_exec().
char ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL |
Definition at line 62 of file BKE_text.h.