Files
GitLite/src-tauri/src/main.rs
T
2026-07-02 20:24:46 +02:00

79 lines
2.8 KiB
Rust

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
mod git;
use git::{
SearchCancellationState, apply_file_patch, cancel_code_search, cancel_file_history,
checkout_branch, commit, commit_ai_generate, commit_ai_status, compare_commits,
compare_file_to_head, compare_file_to_parent, create_branch, cred_delete, cred_load, cred_save,
delete_branch, diff_file_against_working_tree, get_file_patch, get_remote_url, get_status,
list_branches, list_commits, list_file_history, list_repository_files, merge_branch,
open_repo_in_explorer, open_repository, open_repository_bundle, open_repository_file, pull,
push, read_conflict, rename_branch, resolve_conflict, resolve_conflict_side,
restore_file_from_commit, restore_files, restore_to_commit, search_code_introductions,
stage_files, unstage_files,
};
fn main() {
let commit_ai_engine = commit_ai::CommitAiEngine::new();
tauri::Builder::default()
.plugin(tauri_plugin_updater::Builder::new().build())
.manage(SearchCancellationState::default())
.manage(commit_ai_engine.clone())
.plugin(tauri_plugin_dialog::init())
.setup(move |_app| {
// Kick off the (first-run-only) download and model load in the background so the
// "Generate with AI" button becomes enabled once it's ready, without blocking startup.
let engine = commit_ai_engine.clone();
tauri::async_runtime::spawn(async move {
engine.ensure_loaded().await;
});
Ok(())
})
.invoke_handler(tauri::generate_handler![
open_repository,
open_repo_in_explorer,
open_repository_file,
get_status,
list_branches,
checkout_branch,
create_branch,
rename_branch,
delete_branch,
stage_files,
unstage_files,
restore_files,
get_file_patch,
apply_file_patch,
commit,
commit_ai_status,
commit_ai_generate,
pull,
push,
list_commits,
restore_to_commit,
restore_file_from_commit,
merge_branch,
list_repository_files,
open_repository_bundle,
list_file_history,
cancel_file_history,
compare_commits,
compare_file_to_head,
compare_file_to_parent,
diff_file_against_working_tree,
search_code_introductions,
cancel_code_search,
read_conflict,
resolve_conflict,
resolve_conflict_side,
get_remote_url,
cred_load,
cred_save,
cred_delete
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}