start shell-integration folder, copy into zig-out

This commit is contained in:
Mitchell Hashimoto
2023-07-06 13:24:25 -07:00
parent bf1e5f6331
commit 848943770a
3 changed files with 45 additions and 0 deletions

View File

@ -269,6 +269,28 @@ pub fn build(b: *std.Build) !void {
}
}
// Shell-integration
{
const install = b.addInstallDirectory(.{
.source_dir = .{ .path = "src/shell-integration" },
.install_dir = .{ .custom = "share" },
.install_subdir = "shell-integration",
.exclude_extensions = &.{".md"},
});
b.getInstallStep().dependOn(&install.step);
if (target.isDarwin()) {
const mac_install = b.addInstallDirectory(options: {
var copy = install.options;
copy.install_dir = .{
.custom = "Ghostty.app/Contents/Resources",
};
break :options copy;
});
b.getInstallStep().dependOn(&mac_install.step);
}
}
// Terminfo
{
// Encode our terminfo

View File

@ -0,0 +1,20 @@
# Shell Integration Code
This is the shell-specific shell-integration code that is
used for the shell-integration feature set that Ghostty
supports.
This README is meant as developer documentation and not as
user documentation. For user documentation, see the main
README.
## Implementation Details
### Fish
For [Fish](https://fishshell.com/), Ghostty prepends to the
`XDG_DATA_DIRS` directory. Fish automatically loads configuration
files in `<XDG_DATA_DIR>/fish/vendor_conf.d/*.fish` on startup,
allowing us to automatically integrate with the shell. For details
on the Fish startup process, see the
[Fish documentation](https://fishshell.com/docs/current/language.html).

View File

@ -0,0 +1,3 @@
#!/bin/fish
echo GHOSTTY INTEGRATION LOADING