Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## Unreleased changes

* mark some internal functionality public for the darklua library (`Configuration::location()`) ([#328](https://github.com/seaofvoices/darklua/pull/328))

## 0.17.3

* fix `inject_global_value` rule to not override environment values with the default value when they're defined ([#324](https://github.com/seaofvoices/darklua/pull/324))
Expand Down
2 changes: 1 addition & 1 deletion 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 src/frontend/configuration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ impl Configuration {
}

#[inline]
pub(crate) fn location(&self) -> Option<&Path> {
pub fn location(&self) -> Option<&Path> {
self.location.as_deref()
}
}
Expand Down
1 change: 1 addition & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,4 @@ pub use frontend::{
Options, Resources, WorkerTree,
};
pub use parser::{Parser, ParserError};
pub use utils::ScopedHashMap;
2 changes: 1 addition & 1 deletion src/rules/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ pub use remove_types::*;
pub use remove_unused_variable::*;
pub use rename_variables::*;
pub(crate) use replace_referenced_tokens::*;
pub use require::PathRequireMode;
pub use require::{PathRequireMode, RequirePathLocator, PathLocator};
pub use rule_property::*;
pub(crate) use shift_token_line::*;
pub use unused_if_branch::*;
Expand Down
4 changes: 2 additions & 2 deletions src/rules/require/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ use std::path::{Path, PathBuf};
pub(crate) use luau_path_locator::LuauPathLocator;
pub use luau_require_mode::LuauRequireMode;
pub(crate) use match_require::{is_require_call, match_path_require_call};
pub(crate) use path_locator::RequirePathLocator;
pub use path_locator::RequirePathLocator;
pub use path_require_mode::PathRequireMode;

use crate::DarkluaError;

pub(crate) trait PathLocator {
pub trait PathLocator {
fn find_require_path(
&self,
path: impl Into<PathBuf>,
Expand Down
4 changes: 2 additions & 2 deletions src/rules/require/path_locator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ use super::{path_iterator, PathRequireMode};
use crate::{rules::require::path_utils::is_require_relative, utils, DarkluaError, Resources};

#[derive(Debug)]
pub(crate) struct RequirePathLocator<'a, 'b, 'resources> {
pub struct RequirePathLocator<'a, 'b, 'resources> {
path_require_mode: &'a PathRequireMode,
extra_module_relative_location: &'b Path,
resources: &'resources Resources,
}

impl<'a, 'b, 'c> RequirePathLocator<'a, 'b, 'c> {
pub(crate) fn new(
pub fn new(
path_require_mode: &'a PathRequireMode,
extra_module_relative_location: &'b Path,
resources: &'c Resources,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/require/path_require_mode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ impl PathRequireMode {
}
}

pub(crate) fn initialize(&mut self, context: &Context) -> Result<(), DarkluaError> {
pub fn initialize(&mut self, context: &Context) -> Result<(), DarkluaError> {
if !self.use_luau_configuration {
self.luau_rc_aliases.take();
return Ok(());
Expand Down
2 changes: 1 addition & 1 deletion src/utils/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mod timer;
pub(crate) use expressions_as_statement::{expressions_as_expression, expressions_as_statement};
pub(crate) use luau_config::{clear_luau_configuration_cache, find_luau_configuration};
pub(crate) use preserve_arguments_side_effects::preserve_arguments_side_effects;
pub(crate) use scoped_hash_map::ScopedHashMap;
pub use scoped_hash_map::ScopedHashMap;
pub(crate) use serde_string_or_struct::string_or_struct;
use std::{
ffi::OsStr,
Expand Down
10 changes: 5 additions & 5 deletions src/utils/scoped_hash_map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ use std::collections::HashMap;
use std::hash::Hash;

#[derive(Debug, Default, Clone)]
pub(crate) struct ScopedHashMap<Key, Value> {
pub struct ScopedHashMap<Key, Value> {
stack: Vec<HashMap<Key, Value>>,
}

impl<Key: Eq + Hash, Value> ScopedHashMap<Key, Value> {
pub(crate) fn get(&self, key: &Key) -> Option<&Value> {
pub fn get(&self, key: &Key) -> Option<&Value> {
self.stack.iter().rev().find_map(|map| map.get(key))
}

pub(crate) fn insert(&mut self, key: Key, value: Value) {
pub fn insert(&mut self, key: Key, value: Value) {
if let Some(hash_map) = self.stack.last_mut() {
hash_map.insert(key, value);
} else {
Expand All @@ -21,11 +21,11 @@ impl<Key: Eq + Hash, Value> ScopedHashMap<Key, Value> {
}
}

pub(crate) fn push(&mut self) {
pub fn push(&mut self) {
self.stack.push(Default::default())
}

pub(crate) fn pop(&mut self) {
pub fn pop(&mut self) {
self.stack.pop();
}
}