mirror of https://github.com/mtshiba/pylyzer
build: update deps
This commit is contained in:
parent
6840c206db
commit
93ad80d203
|
|
@ -252,9 +252,9 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
|
|||
|
||||
[[package]]
|
||||
name = "els"
|
||||
version = "0.1.25"
|
||||
version = "0.1.26-nightly.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9dcd32d4edf0238db4d013f535f48c18140576e2ec442b2450f76af4d0390c19"
|
||||
checksum = "9cf50f787a8376384af8e7b074c489329669eeb1264f15f1a7f136102a003f2f"
|
||||
dependencies = [
|
||||
"erg_common",
|
||||
"erg_compiler",
|
||||
|
|
@ -274,9 +274,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "erg_common"
|
||||
version = "0.6.13"
|
||||
version = "0.6.14-nightly.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e4b35305d26ff0fe55ec69aba95d85829371254698e2e5c8394beee1e1ee582c"
|
||||
checksum = "c0d10554accd6de5e3f41e3db5931348320c89b9745a82635887f850dd77aadb"
|
||||
dependencies = [
|
||||
"backtrace-on-stack-overflow",
|
||||
"hermit-abi",
|
||||
|
|
@ -286,9 +286,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "erg_compiler"
|
||||
version = "0.6.13"
|
||||
version = "0.6.14-nightly.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57f5eaab1acfa0a27815bbc284bbb16189aae4d45757308986f836aa23e435c5"
|
||||
checksum = "3570aa70c9f488516c6286280ae4d3343aed382b6c7881b784195af64350aa50"
|
||||
dependencies = [
|
||||
"erg_common",
|
||||
"erg_parser",
|
||||
|
|
@ -296,9 +296,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "erg_parser"
|
||||
version = "0.6.13"
|
||||
version = "0.6.14-nightly.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a56d54cbba3a394d9f0b16f85f835b040b454c4ba6b6530a67c3caff522c29d4"
|
||||
checksum = "bfd44c03719e8051c7997263298e2b792da6138f818646d0eeae359f92bf0c60"
|
||||
dependencies = [
|
||||
"erg_common",
|
||||
"unicode-xid 0.2.4",
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ edition = "2021"
|
|||
repository = "https://github.com/mtshiba/pylyzer"
|
||||
|
||||
[workspace.dependencies]
|
||||
erg_common = { version = "0.6.13", features = ["py_compat", "els"] }
|
||||
erg_compiler = { version = "0.6.13", features = ["py_compat", "els"] }
|
||||
els = { version = "0.1.25", features = ["py_compat"] }
|
||||
erg_common = { version = "0.6.14-nightly.0", features = ["py_compat", "els"] }
|
||||
erg_compiler = { version = "0.6.14-nightly.0", features = ["py_compat", "els"] }
|
||||
els = { version = "0.1.26-nightly.0", features = ["py_compat"] }
|
||||
rustpython-parser = "0.1.2"
|
||||
# erg_compiler = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] }
|
||||
# erg_common = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] }
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@ use erg_common::Str;
|
|||
use erg_compiler::artifact::{BuildRunnable, Buildable, CompleteArtifact, IncompleteArtifact};
|
||||
use erg_compiler::context::register::CheckStatus;
|
||||
use erg_compiler::context::ModuleContext;
|
||||
use erg_compiler::erg_parser::ast::AST;
|
||||
use erg_compiler::erg_parser::ast::{AST, Module};
|
||||
use erg_compiler::erg_parser::error::ParseErrors;
|
||||
use erg_compiler::erg_parser::parse::Parsable;
|
||||
use erg_compiler::error::{CompileError, CompileErrors};
|
||||
use erg_compiler::lower::ASTLowerer;
|
||||
use erg_compiler::module::SharedCompilerResource;
|
||||
|
|
@ -16,6 +18,28 @@ use rustpython_parser::parser;
|
|||
|
||||
use crate::handle_err;
|
||||
|
||||
pub struct SimplePythonParser {}
|
||||
|
||||
impl Parsable for SimplePythonParser {
|
||||
fn parse(code: String) -> Result<Module, ParseErrors> {
|
||||
let py_program = parser::parse_program(&code).map_err(|_err| {
|
||||
ParseErrors::empty()
|
||||
})?;
|
||||
let shadowing = if cfg!(feature = "debug") {
|
||||
ShadowingMode::Visible
|
||||
} else {
|
||||
ShadowingMode::Invisible
|
||||
};
|
||||
let converter = py2erg::ASTConverter::new(ErgConfig::default(), shadowing);
|
||||
let IncompleteArtifact{ object: Some(erg_module), errors, .. } = converter.convert_program(py_program) else { unreachable!() };
|
||||
if errors.is_empty() {
|
||||
Ok(erg_module)
|
||||
} else {
|
||||
Err(ParseErrors::empty())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub struct PythonAnalyzer {
|
||||
pub cfg: ErgConfig,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ mod analyze;
|
|||
mod config;
|
||||
mod handle_err;
|
||||
|
||||
use analyze::PythonAnalyzer;
|
||||
use analyze::{PythonAnalyzer, SimplePythonParser};
|
||||
use els::Server;
|
||||
use erg_common::config::ErgMode;
|
||||
use erg_common::spawn::exec_new_thread;
|
||||
|
|
@ -10,7 +10,7 @@ use erg_common::spawn::exec_new_thread;
|
|||
fn run() {
|
||||
let cfg = config::parse_args();
|
||||
if cfg.mode == ErgMode::LanguageServer {
|
||||
let mut lang_server = Server::<PythonAnalyzer>::new(cfg);
|
||||
let mut lang_server = Server::<PythonAnalyzer, SimplePythonParser>::new(cfg);
|
||||
lang_server.run().unwrap_or_else(|_| {
|
||||
std::process::exit(1);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue