Add action to open licenses file
This commit is contained in:
parent
4609be20de
commit
9d58032064
7 changed files with 40 additions and 35 deletions
1
assets/licenses.md
Normal file
1
assets/licenses.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
TWSTS
|
|
@ -233,6 +233,7 @@ pub fn init(app_state: Arc<AppState>, cx: &mut MutableAppContext) {
|
||||||
workspace.toggle_sidebar(SidebarSide::Right, cx);
|
workspace.toggle_sidebar(SidebarSide::Right, cx);
|
||||||
});
|
});
|
||||||
cx.add_action(Workspace::activate_pane_at_index);
|
cx.add_action(Workspace::activate_pane_at_index);
|
||||||
|
|
||||||
cx.add_action(Workspace::split_pane_with_item);
|
cx.add_action(Workspace::split_pane_with_item);
|
||||||
cx.add_action(Workspace::split_pane_with_project_entry);
|
cx.add_action(Workspace::split_pane_with_project_entry);
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ actions!(
|
||||||
DebugElements,
|
DebugElements,
|
||||||
OpenSettings,
|
OpenSettings,
|
||||||
OpenLog,
|
OpenLog,
|
||||||
|
OpenLicenses,
|
||||||
OpenTelemetryLog,
|
OpenTelemetryLog,
|
||||||
OpenKeymap,
|
OpenKeymap,
|
||||||
OpenDefaultSettings,
|
OpenDefaultSettings,
|
||||||
|
@ -184,6 +185,19 @@ pub fn init(app_state: &Arc<AppState>, cx: &mut gpui::MutableAppContext) {
|
||||||
open_log_file(workspace, app_state.clone(), cx);
|
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({
|
cx.add_action({
|
||||||
let app_state = app_state.clone();
|
let app_state = app_state.clone();
|
||||||
move |workspace: &mut Workspace, _: &OpenTelemetryLog, cx: &mut ViewContext<Workspace>| {
|
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({
|
cx.add_action({
|
||||||
let app_state = app_state.clone();
|
let app_state = app_state.clone();
|
||||||
move |workspace: &mut Workspace, _: &OpenDefaultKeymap, cx: &mut ViewContext<Workspace>| {
|
move |workspace: &mut Workspace, _: &OpenDefaultKeymap, cx: &mut ViewContext<Workspace>| {
|
||||||
open_bundled_config_file(
|
open_bundled_file(
|
||||||
workspace,
|
workspace,
|
||||||
app_state.clone(),
|
app_state.clone(),
|
||||||
"keymaps/default.json",
|
"keymaps/default.json",
|
||||||
"Default Key Bindings",
|
"Default Key Bindings",
|
||||||
|
"JSON",
|
||||||
cx,
|
cx,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -213,11 +228,12 @@ pub fn init(app_state: &Arc<AppState>, cx: &mut gpui::MutableAppContext) {
|
||||||
move |workspace: &mut Workspace,
|
move |workspace: &mut Workspace,
|
||||||
_: &OpenDefaultSettings,
|
_: &OpenDefaultSettings,
|
||||||
cx: &mut ViewContext<Workspace>| {
|
cx: &mut ViewContext<Workspace>| {
|
||||||
open_bundled_config_file(
|
open_bundled_file(
|
||||||
workspace,
|
workspace,
|
||||||
app_state.clone(),
|
app_state.clone(),
|
||||||
"settings/default.json",
|
"settings/default.json",
|
||||||
"Default Settings",
|
"Default Settings",
|
||||||
|
"JSON",
|
||||||
cx,
|
cx,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -656,11 +672,12 @@ fn open_telemetry_log_file(
|
||||||
}).detach();
|
}).detach();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn open_bundled_config_file(
|
fn open_bundled_file(
|
||||||
workspace: &mut Workspace,
|
workspace: &mut Workspace,
|
||||||
app_state: Arc<AppState>,
|
app_state: Arc<AppState>,
|
||||||
asset_path: &'static str,
|
asset_path: &'static str,
|
||||||
title: &'static str,
|
title: &'static str,
|
||||||
|
language: &'static str,
|
||||||
cx: &mut ViewContext<Workspace>,
|
cx: &mut ViewContext<Workspace>,
|
||||||
) {
|
) {
|
||||||
workspace
|
workspace
|
||||||
|
@ -670,7 +687,7 @@ fn open_bundled_config_file(
|
||||||
let text = Assets::get(asset_path).unwrap().data;
|
let text = Assets::get(asset_path).unwrap().data;
|
||||||
let text = str::from_utf8(text.as_ref()).unwrap();
|
let text = str::from_utf8(text.as_ref()).unwrap();
|
||||||
project
|
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")
|
.expect("creating buffers on a local workspace always succeeds")
|
||||||
});
|
});
|
||||||
let buffer =
|
let buffer =
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
DATA DATA DATA
|
|
|
@ -1 +0,0 @@
|
||||||
Test test
|
|
|
@ -1,29 +0,0 @@
|
||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
const file_name = (path) => "./licenses/".concat(path);
|
|
||||||
|
|
||||||
const writeFile = (path, data) => {
|
|
||||||
fs.writeFile(file_name(path), data, (err) => {
|
|
||||||
if (err) throw err;
|
|
||||||
console.log("Saved file")
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
console.log("Here!");
|
|
||||||
|
|
||||||
writeFile("test.tx", "DATA DATA DATA")
|
|
||||||
|
|
||||||
// Next steps:
|
|
||||||
// 1a. Add wiring in Zed to check for a licenses markdown file
|
|
||||||
// 1b. Add wiring in Zed.dev for builds to publish licenses alongside releases as well as licenses for Zed.dev itself
|
|
||||||
// 2. Figure out how to run those commands and get the license text for each MIT and Apache licensed software
|
|
||||||
// 3. Add in the configuration file:
|
|
||||||
// a. and refactor this script to have types of licenses
|
|
||||||
// b. add callback handlers for each type,
|
|
||||||
// c. check if the handler succeeds
|
|
||||||
}
|
|
17
script/collect-licenses.rs
Executable file
17
script/collect-licenses.rs
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
//usr/bin/env rustc $0 -o a.out && ./a.out ; rm -f ./a.out ; exit
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Hello world");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next steps:
|
||||||
|
// 1a. Add wiring in Zed to check for a licenses markdown file
|
||||||
|
// 1b. Add wiring in Zed.dev for builds to publish licenses alongside releases as well as licenses for Zed.dev itself
|
||||||
|
// (e.g. https://github.com/zed-industries/zed.dev/tree/main/content/licenses)
|
||||||
|
// 2. Figure out how to run those commands and get the license text for each MIT and Apache licensed software
|
||||||
|
// 3. Add in the configuration file:
|
||||||
|
// a. and refactor this script to have types of licenses
|
||||||
|
// b. add callback handlers for each type,
|
||||||
|
// c. check if the handler succeeds
|
Loading…
Add table
Add a link
Reference in a new issue