Add action to open licenses file

This commit is contained in:
Mikayla Maki 2023-01-13 14:53:44 -08:00
parent 4609be20de
commit 9d58032064
7 changed files with 40 additions and 35 deletions

View file

@ -62,6 +62,7 @@ actions!(
DebugElements,
OpenSettings,
OpenLog,
OpenLicenses,
OpenTelemetryLog,
OpenKeymap,
OpenDefaultSettings,
@ -184,6 +185,19 @@ pub fn init(app_state: &Arc<AppState>, cx: &mut gpui::MutableAppContext) {
open_log_file(workspace, app_state.clone(), cx);
}
});
cx.add_action({
let app_state = app_state.clone();
move |workspace: &mut Workspace, _: &OpenLicenses, cx: &mut ViewContext<Workspace>| {
open_bundled_file(
workspace,
app_state.clone(),
"licenses.md",
"Open Source License Attribution",
"Markdown",
cx,
);
}
});
cx.add_action({
let app_state = app_state.clone();
move |workspace: &mut Workspace, _: &OpenTelemetryLog, cx: &mut ViewContext<Workspace>| {
@ -199,11 +213,12 @@ pub fn init(app_state: &Arc<AppState>, cx: &mut gpui::MutableAppContext) {
cx.add_action({
let app_state = app_state.clone();
move |workspace: &mut Workspace, _: &OpenDefaultKeymap, cx: &mut ViewContext<Workspace>| {
open_bundled_config_file(
open_bundled_file(
workspace,
app_state.clone(),
"keymaps/default.json",
"Default Key Bindings",
"JSON",
cx,
);
}
@ -213,11 +228,12 @@ pub fn init(app_state: &Arc<AppState>, cx: &mut gpui::MutableAppContext) {
move |workspace: &mut Workspace,
_: &OpenDefaultSettings,
cx: &mut ViewContext<Workspace>| {
open_bundled_config_file(
open_bundled_file(
workspace,
app_state.clone(),
"settings/default.json",
"Default Settings",
"JSON",
cx,
);
}
@ -656,11 +672,12 @@ fn open_telemetry_log_file(
}).detach();
}
fn open_bundled_config_file(
fn open_bundled_file(
workspace: &mut Workspace,
app_state: Arc<AppState>,
asset_path: &'static str,
title: &'static str,
language: &'static str,
cx: &mut ViewContext<Workspace>,
) {
workspace
@ -670,7 +687,7 @@ fn open_bundled_config_file(
let text = Assets::get(asset_path).unwrap().data;
let text = str::from_utf8(text.as_ref()).unwrap();
project
.create_buffer(text, project.languages().get_language("JSON"), cx)
.create_buffer(text, project.languages().get_language(language), cx)
.expect("creating buffers on a local workspace always succeeds")
});
let buffer =