[25] # Version number. Do not delete. [[workspace]] # These directories and files will be scanned when a workspace is opened so that search etc. works. # Example: # /Users/my_name/projects/my_project # <- the first directory in the list becomes the working directory # /Users/my_name/jai # src # <- this would be relative to the config file location [ignore] # Files and directories matching the following wildcards will not be loaded or descended into # Example: # *.js - will ignore all files with a '.js' extension # tmp* - will ignore any files or directories which start with 'tmp' # /Users/my_name/project/dirname/** - will ignore everything under `dirname` # /Users/my_name/project/dirname/* - will ignore all files under `dirname`, but not recursively .svn .git [allow] # Files and directories matching the wildcards in this section will be loaded, even if they are ignored in the previous section. # NOTE: known binary file extensions are ignored by default (*.so, *.pdb etc.). If this is not what you want, you can explicitly allow them here. [file associations] # Optional file associations in the format ` ... : ` # Example: # *.hpp *.hh *.h : cpp # todo.txt : todo [[settings]] maximize_on_start: false open_on_the_biggest_monitor: false cursor_as_block: true cursor_blink_time_in_seconds: 5 highlight_selection_occurrences: true highlight_line_with_cursor: false highlight_matching_brackets: true show_paste_effect: true strip_trailing_whitespace_on_save: except_lines_with_cursor # options: all, except_lines_with_cursor, disabled smooth_scrolling: true scroll_beyond_last_line: true double_shift_to_search_in_workspace: false can_cancel_go_to_line: true copy_whole_line_without_selection: true line_height_scale_percent: 100 max_editor_width: -1 line_wrap_is_on_by_default: false show_line_numbers: false show_ruler_at_column: 0 colored_titlebar: true dark_titlebar: false hide_mouse_when_typing: false draw_indent_guides: false auto_surround_with_brackets_and_quotes: false auto_close_brackets: false persist_local_search_results: false # if true, search results will stay highlighted and you have to dismiss them using the `escape` action load_most_recent_project_on_start: true projects_sorting_order: most_recent_first build_panel_stays_in_one_place: false # if true, the build panel will flip to the inactive pane in two pane layouts build_panel_line_wrap_always_on: true build_panel_width_percent: 100 build_panel_height_percent: 30 color_preview_popup: enabled # options: enabled, minimized, disabled search_is_case_sensitive_when_uppercase_present: true detect_indentation: true indent_using: spaces tab_size: 4 status_bar_position: bottom # options: top, bottom status_bar_show_cursors_off_screen: true status_bar_show_line_col: true status_bar_show_indentation: true status_bar_show_selected_text_length: false show_scrollbar_marks: true scrollbar_width_scale: 1.0 scrollbar_min_opacity: 0.0 # if you want the scrollbar to be always visible, set this to 1.0 scrollbar_max_opacity: 1.0 scrollbar_fade_in_sensitivity: 10.0 # controls when the scrollbar appears as the mouse pointer gets close scrollbar_fade_out_delay_seconds: 1.0 # how long the scrollbar stays visible after scrolling active_pane_border_width: 1.0 # set the width to 0.0 to disable inactive_pane_dim_overlay_opacity: 0.1 # controls how dim the inactive panes should be # Added after migration to version [22] comment_highlight_words1: @TODO, TODO, TODO:, NOTE, NOTE: # a comma-separated list of words to highlight within comments using the color `code_comment_highlight1` comment_highlight_words2: @FIXME # words to highlight using `code_comment_highlight2` comment_highlight_words3: @ROBUSTNESS # words to highlight using `code_comment_highlight3` comment_highlight_words4: @INCOMPLETE # words to highlight using `code_comment_highlight4` # Added after migration to version [25] enable_temporary_editors: true # when enabled, any editors are opened temporarily until an edit, a save, or a keep_editor command is used. Any newly opened editor will replace the existing temporary editor cursor_position_after_jump: 0.45 # controls where the cursor ends up relatively to the viewport after jumping to a search result or an error. 0.0 is top of the screen, 1.0 - bottom, 0.5 - center closing_last_editor_in_pane_should_close_pane: true closing_last_editor_should_exit_program: false show_pane_numbers: false show_tab_characters_in_selection: true line_endings: preserve # options: lf, crlf, preserve # NOTE: some settings can be specified for a subset of files, based on their language or a wildcard, # for example: # [file: , , ...] # [lang: golang, cpp, c, ...] [file: *.md, *.txt] line_wrap_is_on_by_default: false draw_indent_guides: false # Below is an example configuration for build commands # (uncomment and modify to use) # [[build commands]] # build_working_dir: # <- paths relative to the workspace working dir (the first one in the list) are allowed # open_panel_on_build: true # <- any settings specified here will apply to all commands unless overridden # close_panel_on_success: false # clear_build_output_before_running: false # error_regex: # see examples below # auto_jump_to_error: false # [Debug Build And Run] # <- command name. Can be arbitrary # build_command: jai main.jai # should be an executable or a script # build_working_dir: # timeout_in_seconds: 5 # if you don't want a timeout, don't specify it # run_command: test.exe # will be run if build succeeds # run_working_dir: /Users/user # working dir for the run command # key_binding: F5 # [Run] # <- You could have commands that don't build anything and just run something # run_command: test # run_working_dir: /Users/user/test # key_binding: Ctrl-F5 # [Release] # build_command: jai first.jai - release # key_binding: F9 # For jai: ^(?P.*):(?P\d+),(?P\d+): (?PError|Warning|Info|...):* (?P.*)|^(?P.*error LNK.*) # For golang: ^(?P.*):(?P\d+):(?P\d+): (?P.*)$ # ... let us know what regex works for you and we'll add it here # NOTE: # You can use the following variables in build commands: # %FILE% - full path to currenly active file # %FILE_DIR% - the directory of the currently active file # %FILE_NAME% - current file name, with extension # %FILE_NAME_NO_EXTENSION% - current file name, without extension # %BUILD_WORKING_DIR% - working dir of the build command # %RUN_WORKING_DIR% - working dir of the run command # %PROJECT_CONFIG_DIR% - the dir containing the active project config file [[keymap]] # - The first matching combination will be used, so order matters [editors] # <- this means that the following key combos will apply only when editing text # Key combination Action Cmd-E copy_current_line_info Cmd-D select_word_or_create_another_cursor Cmd-R revert_select_word_or_create_another_cursor Cmd-Y move_selection_to_next_word Cmd-Shift-A select_all_occurrences Cmd-Shift-D duplicate_lines # These shortcuts can be annoying to accidentally use, so they are commented out by default # Shift-Backspace delete_line_and_go_up # Shift-Delete delete_line Opt-ArrowUp move_selected_lines_up Opt-ArrowDown move_selected_lines_down Cmd-J join_lines Cmd-Shift-J join_lines_no_spaces_in_between Cmd-U change_case_cycle Tab indent_or_go_to_next_tabstop Shift-Tab unindent Cmd-] indent Cmd-[ unindent Cmd-S save Cmd-Shift-S save_as Cmd-Opt-Minus cursor_go_back Cmd-Opt-Plus cursor_go_forward Cmd-Shift-Minus go_to_previous_buffer Cmd-Shift-Plus go_to_next_buffer Cmd-/ toggle_comment Cmd-L select_line Ctrl-Cmd-ArrowUp scroll_viewport_up Ctrl-Cmd-ArrowDown scroll_viewport_down Ctrl-Cmd-ArrowLeft scroll_viewport_left Ctrl-Cmd-ArrowRight scroll_viewport_right Cmd-Shift-C move_cursor_to_viewport_center {Shift}-Ctrl-Opt-Cmd-ArrowUp move_up_to_empty_line {Shift}-Ctrl-Opt-Cmd-ArrowDown move_down_to_empty_line Opt-Shift-I add_cursors_to_line_ends Opt-Shift-Ctrl-I add_cursors_to_line_starts Enter break_line Cmd-Enter new_line_below_without_breaking Cmd-Shift-Enter new_line_above_without_breaking NumpadEnter break_line Cmd-NumpadEnter new_line_below_without_breaking Cmd-Shift-NumpadEnter new_line_above_without_breaking Cmd-Opt-S ArrowLeft move_editor_left Cmd-Opt-S ArrowRight move_editor_right Cmd-Opt-S ArrowUp move_editor_top Cmd-Opt-S ArrowDown move_editor_bottom Cmd-\ split_right Cmd-Shift-| split_bottom Cmd-Opt-X ArrowLeft split_left Cmd-Opt-X ArrowRight split_right Cmd-Opt-X ArrowUp split_top Cmd-Opt-X ArrowDown split_bottom Cmd-Opt-D ArrowLeft duplicate_editor_left Cmd-Opt-D ArrowRight duplicate_editor_right Cmd-Opt-D ArrowUp duplicate_editor_top Cmd-Opt-D ArrowDown duplicate_editor_bottom Cmd-Shift-, duplicate_editor Cmd-Shift-T reopen_closed_editor Cmd-N create_new_file Cmd-Shift-N create_new_file_in_side_pane Opt-Shift-ArrowUp create_cursor_above Opt-Shift-ArrowDown create_cursor_below Opt-Cmd-A align_cursors Opt-Cmd-Z toggle_line_wrap Opt-Cmd-L toggle_line_numbers Opt-Cmd-Shift-N open_another_editor_instance # Added after migration to version [25] Cmd-Opt-S Enter keep_editor [open file dialog] Shift-Enter open_entry_in_explorer Tab open_directory Backspace pop_directory [search dialog] Shift-Enter move_up # an alternative way to move Cmd-Opt-C toggle_case_sensitive Cmd-Opt-W toggle_whole_word Cmd-Opt-R toggle_regex_search [common] # Common key combos may be used as a fallback if they are not defined in more specific sections. # For example, if "move_up" is not defined in [editors], the one in the [common] section will be matched. Cmd-Shift-P show_commands Cmd-F search_in_buffer_dropdown_mode Cmd-Opt-F search_in_buffer Cmd-Shift-F search_in_project F12 switch_to_project Cmd-P open_file_by_name Cmd-O navigate_to_file Cmd-Shift-O navigate_to_file_from_root Ctrl-Tab switch_between_open_files Cmd-G go_to_line Cmd-C copy Cmd-X cut Cmd-V paste Cmd-Z undo Cmd-Shift-Z redo Cmd-D select_word Cmd-A select_all Cmd-K cut_to_end_of_line Cmd-Delete delete_to_end_of_line Cmd-Backspace delete_to_start_of_line Cmd-W close_editor Cmd-Shift-W close_pane Cmd-Opt-W ArrowLeft close_left_pane Cmd-Opt-W ArrowRight close_right_pane Cmd-Opt-W ArrowUp close_top_pane Cmd-Opt-W ArrowDown close_bottom_pane Cmd-Shift-Opt-W close_other_panes Escape escape # combines close_dialog and remove_additional_cursors Cmd-Shift-L toggle_expand Cmd-B toggle_build_panel Enter open_entry Cmd-Enter open_entry_in_side_pane Ctrl-Cmd-Shift-ArrowLeft switch_to_left_pane Ctrl-Cmd-Shift-ArrowRight switch_to_right_pane Ctrl-Cmd-Shift-ArrowUp switch_to_top_pane Ctrl-Cmd-Shift-ArrowDown switch_to_bottom_pane Cmd-, switch_to_side_pane Cmd-1 switch_to_pane_1 Cmd-2 switch_to_pane_2 Cmd-3 switch_to_pane_3 Cmd-4 switch_to_pane_4 Cmd-5 switch_to_pane_5 Cmd-6 switch_to_pane_6 Cmd-7 switch_to_pane_7 Cmd-8 switch_to_pane_8 Cmd-9 switch_to_pane_9 Tab focus_next_ui_element Shift-Tab focus_previous_ui_element # Ctrl-Cmd-F will always toggle fullscreen on macOS (like most other apps), but you can uncomment this to use something else. # F11 toggle_fullscreen # {Shift}- means shift is optional, the key combination will still be matched. # NOTE: in this editor the Shift key is hard-coded to extend selection when held {Shift}-ArrowUp move_up {Shift}-Opt-Cmd-ArrowUp move_up_fast {Shift}-PageUp move_up_one_page {Shift}-ArrowDown move_down {Shift}-Opt-Cmd-ArrowDown move_down_fast {Shift}-PageDown move_down_one_page {Shift}-ArrowLeft move_left {Shift}-Opt-ArrowLeft move_left_by_character_type {Shift}-Opt-Cmd-ArrowLeft move_left_through_word_throttled {Shift}-Ctrl-ArrowLeft move_left_through_word {Shift}-Cmd-ArrowLeft jump_to_line_start {Shift}-ArrowRight move_right {Shift}-Opt-ArrowRight move_right_by_character_type {Shift}-Opt-Cmd-ArrowRight move_right_through_word_throttled {Shift}-Ctrl-ArrowRight move_right_through_word {Shift}-Cmd-ArrowRight jump_to_line_end {Shift}-Cmd-ArrowUp jump_to_file_start {Shift}-Cmd-ArrowDown jump_to_file_end {Shift}-Home jump_to_line_start {Shift}-End jump_to_line_end {Shift}-Cmd-Home jump_to_file_start {Shift}-Cmd-End jump_to_file_end {Shift}-Cmd-M jump_to_matching_bracket {Shift}-Backspace delete_left_char {Shift}-Delete delete_right_char {Shift}-Opt-Backspace delete_left_by_character_type {Shift}-Opt-Delete delete_right_by_character_type {Shift}-Opt-Cmd-Backspace delete_left_by_character_type_fast {Shift}-Opt-Cmd-Delete delete_right_by_character_type_fast {Shift}-Ctrl-Backspace delete_left_through_word {Shift}-Ctrl-Delete delete_right_through_word Cmd-= increase_font_size Cmd-Minus decrease_font_size Cmd-0 reset_font_size_to_default Cmd-MouseMiddle reset_font_size_to_default F8 go_to_next_build_error Cmd-F8 go_to_next_build_error_in_side_pane Shift-F8 go_to_previous_build_error Shift-Cmd-F8 go_to_previous_build_error_in_side_pane [[style]] theme: basic-light [fonts] font: default font_ui: default font_ui_bold: default font_size: 15 font_ui_size: 12 anti_aliasing: lcd # options: lcd, normal hinting: true [colors] background0: 15212AFF background1: 10191FFF background2: 18262FFF background3: 1A2831FF background4: 21333FFF # NOTE: region_scope colors only work for Jai at the moment region_scope_export: 15212AFF region_scope_file: 131C22FF region_scope_module: 1A2831FF region_header: 1A5152FF region_success: 226022FF region_warning: 986032FF region_error: 772222FF region_heredoc: 090e12FF selection_active: 1C4449FF selection_inactive: 1C44497F selection_highlight: FCEDFC26 search_result_active: 8E772EFF search_result_inactive: FCEDFC26 scrollbar: 33CCCC19 scrollbar_hover: 33CCCC4C scrollbar_background: 10191F4C cursor: 26B2B2FF cursor_inactive: 196666FF paste_animation: 1C4449FF splitter: 10191FFF splitter_hover: 1C4449FF ruler: FCEDFC26 indent_guide: FCEDFC26 letter_highlight: 599999FF list_cursor_lite: 33CCCC19 list_cursor: 33CCCC4C shadow_dark: 0E161C7F shadow_transparent: 0E161C00 text_input_label: 3B4450FF char_under_cursor: FFFFFFFF bracket_highlight: E8FCFE30 active_pane_border: 19666688 inactive_pane_dim_overlay: 10191FFF ui_default: BFC9DBFF ui_dim: 87919DFF ui_neutral: 4C4C4CFF ui_warning: F8AD34FF ui_warning_dim: 986032FF ui_error: 772222FF ui_error_bright: FF0000FF ui_success: 227722FF build_panel_background: 1A2831FF build_panel_scrollbar: 33CCCC19 build_panel_scrollbar_hover: 33CCCC4C build_panel_scrollbar_background: 10191F4C build_panel_title_bar: 1C303AFF code_default: BFC9DBFF code_invalid: FF0000FF code_string_literal: D4BC7DFF code_multiline_string: D4BC7DFF code_raw_string: D4BC7DFF code_char_literal: D4BC7DFF code_identifier: BFC9DBFF code_note: E0AD82FF code_number: D699B5FF code_error: FF0000FF code_warning: E4D97DFF code_highlight: E4D97DFF code_comment: 87919DFF code_multiline_comment: 87919DFF code_operation: E0AD82FF code_punctuation: BFC9DBFF code_keyword: E67D74FF code_type: 82AAA3FF code_value: D699B5FF code_modifier: E67D74FF code_attribute: E67D74FF code_enum_variant: BFC9DBFF code_macro: E0AD82FF code_function: D0C5A9FF code_builtin_variable: D699B5FF code_builtin_function: E0AD82FF code_builtin_exception: E0AD82FF code_directive: E67D74FF code_directive_modifier: E67D74FF code_header1: E67D74FF code_header2: E0AD82FF code_header3: E0AD82FF code_header4: E0AD82FF code_header5: E0AD82FF code_header6: E0AD82FF # Added after migration to version [22] code_comment_highlight1: E0AD82FF code_comment_highlight2: FF0000FF code_comment_highlight3: E67D74FF code_comment_highlight4: D699B5FF cursor_line_highlight: 21333FFF color_preview_title_bar: 21333FFF code_addition: 33B333FF code_deletion: E64D4DFF region_addition: 2260224C region_deletion: 7722224C