# chezmoi:template:left-delimiter=#{{
#{{- /* vim: set filetype=nu: */ -}}

use completions *
use inspect

#{{- if eq .role "work" }}
overlay use work
#{{- end }}

$env.config = {
    buffer_editor: null
    color_config: (use themes.nu; $themes.dark)
    edit_mode: emacs
    error_style: fancy
    float_precision: 2
    footer_mode: 25
    recursion_limit: 50
    bracketed_paste: true
    highlight_resolved_externals: true
    use_ansi_coloring: true
    show_banner: false
    render_right_prompt_on_last_line: false
    use_kitty_protocol: false

    plugins: {
        #{{- if eq .role "work" }}
        nupsql: (dbs nuql config)
        #{{- end }}
    }

    display_errors: {
        exit_code: true
        termination_signal: true
    }

    ls: {
        use_ls_colors: true
        clickable_links: true
    }

    rm: {
        always_trash: false
    }

    table: {
        mode: light
        index_mode: always
        show_empty: true
        header_on_separator: false
        footer_inheritance: false
        padding: { left: 1, right: 1 }
        trim: {
            methodology: wrapping
            wrapping_try_keep_words: true
            truncating_suffix: …
        }
    }

    datetime_format: {
        # normal: '%a, %d %b %Y %H:%M:%S %z'
        # table: '%m/%d/%y %I:%M:%S%p'
    }

    explore: {
        status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" }
        command_bar_text: { fg: "#C4C9C6" }
        highlight: { fg: black, bg: yellow }
        selected_cell: { bg: light_blue }
        status: {
            error: { fg: white, bg: red }
            warn: {}
            info: {}
        }
    }

    history: {
        max_size: 100_000
        sync_on_enter: true
        file_format: sqlite
        isolation: true
    }

    completions: {
        case_sensitive: false
        quick: true
        partial: true
        algorithm: prefix
        sort: smart
        use_ls_colors: true
        external: {
            enable: true
            max_results: 100
            completer: null
        }
    }

    filesize: {
        unit: binary
    }

    cursor_shape: {
        emacs: block
        vi_insert: block
        vi_normal: underscore
    }

    shell_integration: {
        osc2: true
        osc7: true
        osc8: true
        osc9_9: false
        osc133: true
        osc633: true
        reset_application_mode: true
    }

    plugin_gc: {
        plugins: {}
        default: {
            enabled: true
            stop_after: 10sec
        }
    }

    hooks: {
        pre_prompt: [{ null }]
        pre_execution: [{ null }]
        command_not_found: { null }
        display_output: "if (term size).columns >= 100 { table -e } else { table }"
        env_change: {
            PWD: [{|before, after| null }]
        }
    }

    menus: (use menus.nu; $menus.menus)
    keybindings: (use keybindings.nu; $keybindings.bindings)
}

#{{- if eq .role "work" }}
dbs nuql auth
#{{- end }}