Skip to content
3 changes: 0 additions & 3 deletions .cargo/config.toml

This file was deleted.

3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"postgrestools.bin": "./target/debug/postgrestools"
}
45 changes: 33 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ serde = "1.0.195"
serde_json = "1.0.114"
similar = "2.6.0"
smallvec = { version = "1.13.2", features = ["union", "const_new", "serde"] }
strum = { version = "0.27.1", features = ["derive"] }
# this will use tokio if available, otherwise async-std
sqlx = { version = "0.8.2", features = ["runtime-tokio", "runtime-async-std", "postgres", "json"] }
syn = "1.0.109"
Expand All @@ -56,7 +57,6 @@ pgt_analyse = { path = "./crates/pgt_analyse", version = "0.0.0"
pgt_analyser = { path = "./crates/pgt_analyser", version = "0.0.0" }
pgt_base_db = { path = "./crates/pgt_base_db", version = "0.0.0" }
pgt_cli = { path = "./crates/pgt_cli", version = "0.0.0" }
pgt_commands = { path = "./crates/pgt_commands", version = "0.0.0" }
pgt_completions = { path = "./crates/pgt_completions", version = "0.0.0" }
pgt_configuration = { path = "./crates/pgt_configuration", version = "0.0.0" }
pgt_console = { path = "./crates/pgt_console", version = "0.0.0" }
Expand Down
21 changes: 0 additions & 21 deletions crates/pgt_commands/Cargo.toml

This file was deleted.

32 changes: 0 additions & 32 deletions crates/pgt_commands/src/command.rs

This file was deleted.

44 changes: 0 additions & 44 deletions crates/pgt_commands/src/execute_statement.rs

This file was deleted.

5 changes: 0 additions & 5 deletions crates/pgt_commands/src/lib.rs

This file was deleted.

5 changes: 5 additions & 0 deletions crates/pgt_configuration/src/database.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use biome_deserialize::StringSet;
use biome_deserialize_macros::{Merge, Partial};
use bpaf::Bpaf;
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -28,6 +29,9 @@ pub struct DatabaseConfiguration {
#[partial(bpaf(long("database")))]
pub database: String,

#[partial(bpaf(long("allow_statement_executions_against")))]
pub allow_statement_executions_against: StringSet,

/// The connection timeout in seconds.
#[partial(bpaf(long("conn_timeout_secs"), fallback(Some(10)), debug_fallback))]
pub conn_timeout_secs: u16,
Expand All @@ -41,6 +45,7 @@ impl Default for DatabaseConfiguration {
username: "postgres".to_string(),
password: "postgres".to_string(),
database: "postgres".to_string(),
allow_statement_executions_against: Default::default(),
conn_timeout_secs: 10,
}
}
Expand Down
1 change: 1 addition & 0 deletions crates/pgt_configuration/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ impl PartialConfiguration {
password: Some("postgres".to_string()),
database: Some("postgres".to_string()),
conn_timeout_secs: Some(10),
allow_statement_executions_against: Default::default(),
}),
}
}
Expand Down
1 change: 1 addition & 0 deletions crates/pgt_lsp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ pgt_workspace = { workspace = true }
rustc-hash = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
strum = { workspace = true }
tokio = { workspace = true, features = ["rt", "io-std"] }
tower-lsp = { version = "0.20.0" }
tracing = { workspace = true, features = ["attributes"] }
Expand Down
22 changes: 18 additions & 4 deletions crates/pgt_lsp/src/capabilities.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
use pgt_lsp_converters::{PositionEncoding, WideEncoding, negotiated_encoding};
use pgt_workspace::code_actions::{CommandActionCategory, CommandActionCategoryIter};
use strum::{EnumIter, IntoEnumIterator};
use tower_lsp::lsp_types::{
ClientCapabilities, CompletionOptions, PositionEncodingKind, SaveOptions, ServerCapabilities,
TextDocumentSyncCapability, TextDocumentSyncKind, TextDocumentSyncOptions,
TextDocumentSyncSaveOptions, WorkDoneProgressOptions,
ClientCapabilities, CodeActionOptions, CompletionOptions, ExecuteCommandOptions,
PositionEncodingKind, SaveOptions, ServerCapabilities, TextDocumentSyncCapability,
TextDocumentSyncKind, TextDocumentSyncOptions, TextDocumentSyncSaveOptions,
WorkDoneProgressOptions,
};

use crate::handlers::code_actions::command_id;

/// The capabilities to send from server as part of [`InitializeResult`]
///
/// [`InitializeResult`]: lspower::lsp::InitializeResult
Expand Down Expand Up @@ -46,10 +51,19 @@ pub(crate) fn server_capabilities(capabilities: &ClientCapabilities) -> ServerCa
work_done_progress: None,
},
}),
execute_command_provider: Some(ExecuteCommandOptions {
commands: CommandActionCategory::iter()
.map(|c| command_id(&c))
.collect::<Vec<String>>(),

..Default::default()
}),
document_formatting_provider: None,
document_range_formatting_provider: None,
document_on_type_formatting_provider: None,
code_action_provider: None,
code_action_provider: Some(tower_lsp::lsp_types::CodeActionProviderCapability::Simple(
true,
)),
rename_provider: None,
..Default::default()
}
Expand Down
2 changes: 2 additions & 0 deletions crates/pgt_lsp/src/handlers.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
pub(crate) mod code_actions;
pub(crate) mod completions;
mod helper;
pub(crate) mod text_document;
Loading
Loading