Skip to content
Merged
Prev Previous commit
Next Next commit
parsed_document
  • Loading branch information
juleswritescode committed Apr 11, 2025
commit f3f0181238d9d4df304927a3f67f93cdaf4382f8
24 changes: 12 additions & 12 deletions crates/pgt_workspace/src/workspace/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ use dashmap::DashMap;
use db_connection::DbConnection;
use document::Document;
use futures::{StreamExt, stream};
use parsed_statements::{
use parsed_document::{
AsyncDiagnosticsMapper, CursorPositionFilter, DefaultMapper, ExecuteStatementMapper,
GetCompletionsMapper, ParsedStatements, SyncDiagnosticsMapper,
GetCompletionsMapper, ParsedDocument, SyncDiagnosticsMapper,
};
use pgt_analyse::{AnalyserOptions, AnalysisFilter};
use pgt_analyser::{Analyser, AnalyserConfig, AnalyserContext};
Expand Down Expand Up @@ -48,7 +48,7 @@ mod change;
mod db_connection;
mod document;
mod migration;
mod parsed_statements;
mod parsed_document;
mod pg_query;
mod schema_cache_manager;
mod sql_function;
Expand All @@ -62,7 +62,7 @@ pub(super) struct WorkspaceServer {
/// Stores the schema cache for this workspace
schema_cache: SchemaCacheManager,

parsed_stmts_by_path: DashMap<PgTPath, ParsedStatements>,
parsed_documents: DashMap<PgTPath, ParsedDocument>,

connection: RwLock<DbConnection>,
}
Expand All @@ -84,7 +84,7 @@ impl WorkspaceServer {
pub(crate) fn new() -> Self {
Self {
settings: RwLock::default(),
parsed_stmts_by_path: DashMap::default(),
parsed_documents: DashMap::default(),
schema_cache: SchemaCacheManager::default(),
connection: RwLock::default(),
}
Expand Down Expand Up @@ -185,15 +185,15 @@ impl Workspace for WorkspaceServer {
self.parsed_stmts_by_path
.entry(params.path.clone())
.or_insert_with(|| {
ParsedStatements::new(params.path.clone(), params.content, params.version)
ParsedDocument::new(params.path.clone(), params.content, params.version)
});

Ok(())
}

/// Remove a file from the workspace
fn close_file(&self, params: super::CloseFileParams) -> Result<(), WorkspaceError> {
self.parsed_stmts_by_path
self.parsed_documents
.remove(&params.path)
.ok_or_else(WorkspaceError::not_found)?;

Expand All @@ -209,7 +209,7 @@ impl Workspace for WorkspaceServer {
let mut parser = self
.parsed_stmts_by_path
.entry(params.path.clone())
.or_insert(ParsedStatements::new(
.or_insert(ParsedDocument::new(
params.path.clone(),
"".to_string(),
params.version,
Expand All @@ -226,7 +226,7 @@ impl Workspace for WorkspaceServer {

fn get_file_content(&self, params: GetFileContentParams) -> Result<String, WorkspaceError> {
let document = self
.parsed_stmts_by_path
.parsed_documents
.get(&params.path)
.ok_or(WorkspaceError::not_found())?;
Ok(document.get_document_content().to_string())
Expand All @@ -241,7 +241,7 @@ impl Workspace for WorkspaceServer {
params: code_actions::CodeActionsParams,
) -> Result<code_actions::CodeActionsResult, WorkspaceError> {
let parser = self
.parsed_stmts_by_path
.parsed_documents
.get(&params.path)
.ok_or(WorkspaceError::not_found())?;

Expand Down Expand Up @@ -285,7 +285,7 @@ impl Workspace for WorkspaceServer {
params: ExecuteStatementParams,
) -> Result<ExecuteStatementResult, WorkspaceError> {
let parser = self
.parsed_stmts_by_path
.parsed_documents
.get(&params.path)
.ok_or(WorkspaceError::not_found())?;

Expand Down Expand Up @@ -353,7 +353,7 @@ impl Workspace for WorkspaceServer {
});

let parser = self
.parsed_stmts_by_path
.parsed_documents
.get(&params.path)
.ok_or(WorkspaceError::not_found())?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use super::{
tree_sitter::TreeSitterStore,
};

pub struct ParsedStatements {
pub struct ParsedDocument {
#[allow(dead_code)]
path: PgTPath,

Expand All @@ -26,8 +26,8 @@ pub struct ParsedStatements {
sql_fn_db: SQLFunctionBodyStore,
}

impl ParsedStatements {
pub fn new(path: PgTPath, content: String, version: i32) -> ParsedStatements {
impl ParsedDocument {
pub fn new(path: PgTPath, content: String, version: i32) -> ParsedDocument {
let doc = Document::new(content, version);

let cst_db = TreeSitterStore::new();
Expand All @@ -38,7 +38,7 @@ impl ParsedStatements {
cst_db.add_statement(&stmt, content);
});

ParsedStatements {
ParsedDocument {
path,
doc,
ast_db,
Expand Down Expand Up @@ -130,7 +130,7 @@ pub trait StatementMapper<'a> {

fn map(
&self,
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand All @@ -142,15 +142,15 @@ pub trait StatementFilter<'a> {
}

pub struct ParseIterator<'a, M, F> {
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
statements: StatementIterator<'a>,
mapper: M,
filter: F,
pending_sub_statements: Vec<(StatementId, TextRange, String)>,
}

impl<'a, M, F> ParseIterator<'a, M, F> {
pub fn new(parser: &'a ParsedStatements, mapper: M, filter: F) -> Self {
pub fn new(parser: &'a ParsedDocument, mapper: M, filter: F) -> Self {
Self {
parser,
statements: parser.doc.iter(),
Expand Down Expand Up @@ -225,7 +225,7 @@ impl<'a> StatementMapper<'a> for DefaultMapper {

fn map(
&self,
_parser: &'a ParsedStatements,
_parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand All @@ -245,7 +245,7 @@ impl<'a> StatementMapper<'a> for ExecuteStatementMapper {

fn map(
&self,
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand All @@ -272,7 +272,7 @@ impl<'a> StatementMapper<'a> for AsyncDiagnosticsMapper {

fn map(
&self,
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand Down Expand Up @@ -302,7 +302,7 @@ impl<'a> StatementMapper<'a> for SyncDiagnosticsMapper {

fn map(
&self,
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand All @@ -324,7 +324,7 @@ impl<'a> StatementMapper<'a> for GetCompletionsMapper {

fn map(
&self,
parser: &'a ParsedStatements,
parser: &'a ParsedDocument,
id: StatementId,
range: TextRange,
content: &str,
Expand Down