- make `SourceGit` running in singleton mode
- `TrySendArgsToExistingInstance` should not be called before `BuildAvaloniaApp().StartWithClassicDesktopLifetime(args)` since we may want to launch `SourceGit` as a core editor.
- avoid `preference.json` to be saved by multiple instances.
- move IPC code to models.
Signed-off-by: leo <longshuang@msn.cn>
* Make a few non-translated strings localizable (in Conflict view)
* Add button and wiring to run mergetool on all conflicts
* Corrected spelling and wording in related code and exception msg
* Initial Japanese translation
Only a small part was translated
* Unspecified words will be in English
When new words are added, they will be displayed in English even if Japanese support is delayed.
* Expanded translation scope
* Expanded translation scope
* Proceed with translation with a focus on overall settings
* Re-translated the outdated settings screen
* Add items that only exist in the latest en_US and remove items that do not exist in en_US
* A lot of translation work done
* A lot more translation work has been done
* ja_JP.axaml has been translated into Japanese
* Fixed three incomplete parts of the Japanese translation
Since we only use `$GIT_COMMON_DIR` in filesystem watcher, it is unnecessary to store this value in `Repository`, and we can query the `$GIT_COMMON_DIR` only when it looks like a worktree
Signed-off-by: leo <longshuang@msn.cn>
- Extend grammar support by allowing multiple file extensions per grammar and adding JSP file type handling.
- Add a new JSON grammar file for JavaServer Pages (JSP) syntax highlighting.
- move issue tracker and commit hash links parsing to view models
- parsing links async
- make sure matched hash is a valid commit oid
- disable `CHILDREN` row in submodule info panel
Signed-off-by: leo <longshuang@msn.cn>
- Add `OpenAIResponse` to trim the `<think>...</think>` block
- Add an `Enable Streaming` option to fix the issue that some services do not support streaming output
Signed-off-by: leo <longshuang@msn.cn>
- Remember the state of `Push to all remotes after created` checkbox while creating tag
- Remember the state of `Delete from remote repositories` checkbox while deleting tag
- Change default state of `Delete from remote repositories` to `false`
Signed-off-by: leo <longshuang@msn.cn>
Present the worktree name first, then relative path to the main repo.
This is more aligned with Git's own UI, and works better with UI size constrains.
- Improve chat response processing to handle thinking patterns using regular expressions.
- Migrate server value by removing trailing '/chat/completions' path.