dotx 2.2.0__tar.gz → 2.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {dotx-2.2.0/src/dotx.egg-info → dotx-2.2.1}/PKG-INFO +15 -7
  2. {dotx-2.2.0 → dotx-2.2.1}/README.md +14 -6
  3. {dotx-2.2.0 → dotx-2.2.1}/pyproject.toml +1 -1
  4. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/ignore.py +10 -4
  5. {dotx-2.2.0 → dotx-2.2.1/src/dotx.egg-info}/PKG-INFO +15 -7
  6. {dotx-2.2.0 → dotx-2.2.1}/LICENSE +0 -0
  7. {dotx-2.2.0 → dotx-2.2.1}/MANIFEST.in +0 -0
  8. {dotx-2.2.0 → dotx-2.2.1}/setup.cfg +0 -0
  9. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/__init__.py +0 -0
  10. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/cli.py +0 -0
  11. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/commands/__init__.py +0 -0
  12. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/commands/database.py +0 -0
  13. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/commands/install_cmd.py +0 -0
  14. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/commands/uninstall_cmd.py +0 -0
  15. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/database.py +0 -0
  16. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/install.py +0 -0
  17. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/installed-schema.sql +0 -0
  18. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/options.py +0 -0
  19. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/plan.py +0 -0
  20. {dotx-2.2.0 → dotx-2.2.1}/src/dotx/uninstall.py +0 -0
  21. {dotx-2.2.0 → dotx-2.2.1}/src/dotx.egg-info/SOURCES.txt +0 -0
  22. {dotx-2.2.0 → dotx-2.2.1}/src/dotx.egg-info/dependency_links.txt +0 -0
  23. {dotx-2.2.0 → dotx-2.2.1}/src/dotx.egg-info/entry_points.txt +0 -0
  24. {dotx-2.2.0 → dotx-2.2.1}/src/dotx.egg-info/requires.txt +0 -0
  25. {dotx-2.2.0 → dotx-2.2.1}/src/dotx.egg-info/top_level.txt +0 -0
  26. {dotx-2.2.0 → dotx-2.2.1}/tests/test_cli.py +0 -0
  27. {dotx-2.2.0 → dotx-2.2.1}/tests/test_cli_database.py +0 -0
  28. {dotx-2.2.0 → dotx-2.2.1}/tests/test_ignore.py +0 -0
  29. {dotx-2.2.0 → dotx-2.2.1}/tests/test_ignore_rules.py +0 -0
  30. {dotx-2.2.0 → dotx-2.2.1}/tests/test_install.py +0 -0
  31. {dotx-2.2.0 → dotx-2.2.1}/tests/test_options.py +0 -0
  32. {dotx-2.2.0 → dotx-2.2.1}/tests/test_plan.py +0 -0
  33. {dotx-2.2.0 → dotx-2.2.1}/tests/test_uninstall.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotx
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: A command-line tool to install a link-farm to your dotfiles
5
5
  Author-email: Wolf <Wolf@zv.cx>
6
6
  License-Expression: MIT
@@ -28,6 +28,8 @@ Dynamic: license-file
28
28
 
29
29
  ## The Basic Idea
30
30
 
31
+ > **Comparing dotfile managers?** See [ALTERNATIVES.md](ALTERNATIVES.md) for a detailed comparison of dotx vs GNU Stow, chezmoi, YADM, dotbot, and others.
32
+
31
33
  ### What `dotx` does; what it's _for_
32
34
  #### The problem
33
35
 
@@ -450,10 +452,16 @@ This removes:
450
452
 
451
453
  **Note:** Add `.` at the end (`git clean -fdx .`) to limit cleanup to the current directory only.
452
454
 
453
- ### What's next
455
+ ### Shell Completions
456
+
457
+ dotx includes automatic shell completion via Typer:
458
+
459
+ ```bash
460
+ # Install completion for your shell
461
+ dotx --install-completion
462
+
463
+ # Or show the completion script to customize it
464
+ dotx --show-completion
465
+ ```
454
466
 
455
- Potential future enhancements:
456
- * Support for templates and variable substitution in dotfiles
457
- * Hooks system for running commands before/after installation
458
- * Conflict resolution strategies for overlapping packages
459
- * Shell completions for bash/zsh/fish
467
+ Supports Bash, Zsh, Fish, and PowerShell automatically.
@@ -1,5 +1,7 @@
1
1
  ## The Basic Idea
2
2
 
3
+ > **Comparing dotfile managers?** See [ALTERNATIVES.md](ALTERNATIVES.md) for a detailed comparison of dotx vs GNU Stow, chezmoi, YADM, dotbot, and others.
4
+
3
5
  ### What `dotx` does; what it's _for_
4
6
  #### The problem
5
7
 
@@ -422,10 +424,16 @@ This removes:
422
424
 
423
425
  **Note:** Add `.` at the end (`git clean -fdx .`) to limit cleanup to the current directory only.
424
426
 
425
- ### What's next
427
+ ### Shell Completions
428
+
429
+ dotx includes automatic shell completion via Typer:
430
+
431
+ ```bash
432
+ # Install completion for your shell
433
+ dotx --install-completion
434
+
435
+ # Or show the completion script to customize it
436
+ dotx --show-completion
437
+ ```
426
438
 
427
- Potential future enhancements:
428
- * Support for templates and variable substitution in dotfiles
429
- * Hooks system for running commands before/after installation
430
- * Conflict resolution strategies for overlapping packages
431
- * Shell completions for bash/zsh/fish
439
+ Supports Bash, Zsh, Fish, and PowerShell automatically.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dotx"
3
- version = "2.2.0"
3
+ version = "2.2.1"
4
4
  description = "A command-line tool to install a link-farm to your dotfiles"
5
5
  authors = [
6
6
  { name = "Wolf", email = "Wolf@zv.cx" }
@@ -147,10 +147,16 @@ class IgnoreRules:
147
147
  return None
148
148
 
149
149
  # Combine all specs (later specs override earlier ones due to git semantics)
150
- # PathSpec doesn't have a built-in combine, so we'll check against all
151
- # For now, return the last (most specific) spec
152
- # TODO: Properly combine specs if needed for complex scenarios
153
- return specs[-1] if specs else None
150
+ # Extract patterns from all PathSpec objects and combine them
151
+ # Patterns are already in correct order: global → parents → closest
152
+ all_patterns = []
153
+ for spec in specs:
154
+ # Each PathSpec has a patterns list, extract the pattern strings
155
+ for pattern in spec.patterns:
156
+ all_patterns.append(pattern.pattern) # type: ignore[attr-defined]
157
+
158
+ # Create a new combined PathSpec with all patterns in precedence order
159
+ return pathspec.GitIgnoreSpec.from_lines(all_patterns)
154
160
 
155
161
  def should_ignore(self, path: Path, relative_to: Path) -> bool:
156
162
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotx
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: A command-line tool to install a link-farm to your dotfiles
5
5
  Author-email: Wolf <Wolf@zv.cx>
6
6
  License-Expression: MIT
@@ -28,6 +28,8 @@ Dynamic: license-file
28
28
 
29
29
  ## The Basic Idea
30
30
 
31
+ > **Comparing dotfile managers?** See [ALTERNATIVES.md](ALTERNATIVES.md) for a detailed comparison of dotx vs GNU Stow, chezmoi, YADM, dotbot, and others.
32
+
31
33
  ### What `dotx` does; what it's _for_
32
34
  #### The problem
33
35
 
@@ -450,10 +452,16 @@ This removes:
450
452
 
451
453
  **Note:** Add `.` at the end (`git clean -fdx .`) to limit cleanup to the current directory only.
452
454
 
453
- ### What's next
455
+ ### Shell Completions
456
+
457
+ dotx includes automatic shell completion via Typer:
458
+
459
+ ```bash
460
+ # Install completion for your shell
461
+ dotx --install-completion
462
+
463
+ # Or show the completion script to customize it
464
+ dotx --show-completion
465
+ ```
454
466
 
455
- Potential future enhancements:
456
- * Support for templates and variable substitution in dotfiles
457
- * Hooks system for running commands before/after installation
458
- * Conflict resolution strategies for overlapping packages
459
- * Shell completions for bash/zsh/fish
467
+ Supports Bash, Zsh, Fish, and PowerShell automatically.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes