Important
๐ซ Ethical Restrictions
My works cannot be used in:
- Military applications or systems
- Surveillance technologies
- Any activity violating human rights
Category | Details |
---|---|
Core Engine | โก Multithreaded Architecture โข ๐ Low Latency (<5ms) โข ๐ฆ 2MB Memory Footprint |
Syntax Support | 40+ Languages (Python, Rust, Go, etc.) โข ๐จ Theme Engine โข ๐ Regex Parsing |
Workflow | ๐ฑ๏ธ i3wm Integration โข ๐ X11 Clipboard (via xclip) โข ๐ป TMux Compatible โข ๐งฉ Plugin System |
Customization | ๐ง TOML Configuration โข โจ๏ธ Keybind Profiles โข ๐ Dark/Light Themes |
Performance | ๐ <0.1s Startup โข ๐ 100k LOC Handling โข ๐ Auto-Reload Changed Files |
# Linux (PyPI) - Required First Step:
sudo apt-get install xclip || sudo apt-get install xsel # Must choose one
pip install sway-pad --user
# FreeBSD
sudo pkg install xclip sway-pad
# Development Build
git clone https://github.com/SSobol77/Sway-pad.git && cd Sway-pad
python3 -m pip install -e .
# Open single file
sway-pad example.py
# Project mode (multi-tab)
sway-pad src/ tests/ config.toml
Warning
System Requirements:
Linux
Editor requires either xclip
or xsel
FreeBSD
Editor requires xclip only (xsel removed from repositories)
All Systems:
โข Install required clipboard utility before first use
โข Restart terminal after installation
sway-pad --config ~/.config/swaypad/keybinds.toml
[editor]
theme = "nord"
font_family = "Fira Code"
tab_size = 4
auto_indent = true
[keybindings]
save = "ctrl+s"
quit = "ctrl+shift+q"
split_pane = "ctrl+alt+enter"
[plugins]
lsp_enabled = true
git_diff = { enabled = true, hotkey = "f5" }
Language | Extensions | Icon |
---|---|---|
Python | .py |
๐ |
JavaScript | .js .mjs .cjs .jsx |
๐ |
TypeScript | .ts .tsx |
๐ |
Java | .java |
โ |
C/C++ | .c .h .cpp .hpp |
๐ฅ๏ธ |
Rust | .rs |
๐ฆ |
Go | .go |
๐น |
Ruby | .rb .erb .rake |
๐ |
PHP | .php .phtml .php3 .php4 .php5 |
๐ |
Swift | .swift |
๐๏ธ |
Kotlin | .kt .kts |
๐ถ |
SQL | .sql |
๐๏ธ |
YAML | .yaml .yml |
โ๏ธ |
TOML | .toml .tml |
๐ ๏ธ |
JSON | .json |
๐ฆ |
XML | .xml |
๐ |
HTML | .html .htm |
๐ |
CSS | .css |
๐จ |
Markdown | .md |
๐ |
Shell | .sh .bash .zsh |
๐ |
PowerShell | .ps1 |
โก |
Docker | Dockerfile |
๐ณ |
Terraform | .tf |
โ๏ธ |
Git | .gitignore .gitconfig |
๐ |
Lua | .lua |
๐ |
Perl | .pl .pm |
๐ช |
R | .r .R |
๐ |
Julia | .jl |
โฐ |
Dart | .dart |
๐ฏ |
Scala | .scala |
๐ |
Fortran | .f .F .f90 .F90 .for |
๐งฎ |
Makefile | Makefile |
๐ ๏ธ |
INI | .ini |
โ๏ธ |
CSV | .csv |
๐ |
Diff | .diff .patch |
๐ |
GraphQL | .graphql |
๐ก |
Jupyter | .ipynb |
๐ |
Sway-pad/
โโโ core/ # Editor Engine
โ โโโ renderer/ # Curses-based UI
โ โโโ syntax/ # Language Parsers
โ โโโ plugins/ # LSP/Git Integration
โโโ themes/ # Color Schemes
โ โโโ nord.toml
โ โโโ solarized_dark.toml
โโโ docs/ # Configuration Guides
โโโ tests/ # Benchmark Suite
โโโ swaypad.py # CLI Entry Point
# Run Core Tests
pytest tests/core --cov --cov-report=html
# Performance Benchmark
python3 -m tests.benchmarks scroll_through_10k_lines
# Linting
flake8 . --count --max-complexity=10 --statistics
Metric | Result |
---|---|
Test Coverage | 92% Core Modules |
Max File Size | 2GB (Compressed) |
Concurrent Sessions | 8+ Tabs Stable |
- Fork & Clone Repository
- Create Feature Branch:
git checkout -b feat/your-feature
- Commit Changes:
git commit -m 'feat: add your feature'
- Push to Branch:
git push origin feat/your-feature
- Open Pull Request
Contribution Guidelines:
- Follow PEP8 Style Guide
- Add Type Hints for New Code
- Include Benchmark Results for Performance Changes
GNU General Public License v3.0
Commercial use requires explicit permission.
Full text available in LICENSE.
Sergey Sobolewski