diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-18 06:51:55 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-18 06:51:55 +0000 |
| commit | ec9538968fd87575dc355600ec2989c8ac52b6ab (patch) | |
| tree | 1796f7082f9d94593fd3288c782f780e969db442 | |
| parent | 1acf1c2a064ae40b61abf0ef4a15bc12dd577d53 (diff) | |
automatic import of python-babi
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-babi.spec | 389 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 391 insertions, 0 deletions
@@ -0,0 +1 @@ +/babi-1.5.4.tar.gz diff --git a/python-babi.spec b/python-babi.spec new file mode 100644 index 0000000..fe32141 --- /dev/null +++ b/python-babi.spec @@ -0,0 +1,389 @@ +%global _empty_manifest_terminate_build 0 +Name: python-babi +Version: 1.5.4 +Release: 1 +Summary: a text editor +License: MIT +URL: https://github.com/asottile/babi +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/00/4e/d4897dbd7552c78f97f079dfa057ae794307b9403b43d28de38c54dfa0b0/babi-1.5.4.tar.gz +BuildArch: noarch + +Requires: python3-babi-grammars +Requires: python3-identify +Requires: python3-onigurumacffi +Requires: python3-importlib-metadata +Requires: python3-windows-curses + +%description +a text editor, eventually... +### installation +```bash +pip install babi +``` +babi works best in a virtualenv +### why is it called babi? +I used to use the text editor `nano`, frequently I typo this. on a qwerty +keyboard, when the right hand is shifted left by one, `nano` becomes `babi`. +### babi vs. nano +here is a youtube video where I discuss the motivation for creating and using +`babi` instead of `nano`: +[](https://youtu.be/WyR1hAGmR3g) +### quitting babi +currently you can quit `babi` by using <kbd>^X</kbd> (or via <kbd>esc</kbd> + +<kbd>:q</kbd>). +### key combinations +these are all of the current key bindings in babi +- <kbd>^S</kbd>: save +- <kbd>^O</kbd>: save as +- <kbd>^X</kbd>: quit +- <kbd>^P</kbd>: open file +- arrow keys: movement +- <kbd>^A</kbd> / <kbd>home</kbd>: move to beginning of line +- <kbd>^E</kbd> / <kbd>end</kbd>: move to end of line +- <kbd>^Y</kbd> / <kbd>pageup</kbd>: move up one page +- <kbd>^V</kbd> / <kbd>pagedown</kbd>: move down one page +- <kbd>^-left</kbd> / <kbd>^-right</kbd>: jump by word +- <kbd>^-home</kbd> / <kbd>^-end</kbd>: jump to beginning / end of file +- <kbd>M-Up</kbd> / <kbd>M-Down</kbd>: jump to previous / next paragraph +- <kbd>^_</kbd>: jump to line number +- selection: <kbd>shift</kbd> + ...: extend the current selection + - arrow keys + - <kbd>home</kbd> / <kbd>end</kdb> + - <kbd>pageup</kbd> / <kbd>pagedown</kbd> + - <kbd>^-left</kbd> / <kbd>^-right</kbd> + - <kbd>^-end</kbd> / <kbd>^-home</kbd> +- <kbd>tab</kbd> / <kbd>shift-tab</kbd>: indent or dedent current line (or + selection) +- <kbd>^K</kbd> / <kbd>^U</kbd>: cut and uncut the current line (or selection) +- <kbd>M-u</kbd> / <kbd>M-U</kbd> or <kbd>M-e</kbd>: undo / redo +- <kbd>^W</kbd>: search +- <kbd>^\\</kbd>: search and replace +- <kbd>^C</kbd>: show the current position in the file +- <kbd>^-up</kbd> / <kbd>^-down</kbd>: scroll screen by a single line +- <kbd>M-left</kbd> / <kbd>M-right</kbd>: go to previous / next file +- <kbd>^Z</kbd>: background +- <kbd>^T</kbd>: run linter + - by default, runs `pre-commit run --files <filename>` + - outside of a git repo will run `flake8 <filename>` for python files + - <kbd>^-S-Up</kbd>, <kbd>^-S-Down</kbd>: navigate to previous / next error + - <kbd>M-t</kbd> focus the linting panel + - <kbd>^C</kbd>, <kbd>^X</kbd>: clear and close the linting panel + - <kbd>Esc</kbd>, <kbd>M-t</kdb>: unfocus the linting panel + - arrow keys: movement inside the linting panel +- <kbd>esc</kbd>: open the command mode + - <kbd>:q</kbd>: quit + - <kbd>:w</kbd>: write the file + - <kbd>:wq</kbd>: write the file and quit + - <kbd>:qall</kbd>: quit every open file + - <kbd>:comment</kbd>: comment out the current line / selection + - <kbd>:reload</kbd>: reload the file contents + - <kbd>:sort</kbd>: sort the file (or selection) + - <kbd>:tabsize X</kbd>: set the tabsize +in prompts (search, search replace, command): +- <kbd>^C</kbd>: cancel +- <kbd>^K</kbd>: cut to end +- <kbd>^R</kbd>: reverse search +### setting up syntax highlighting +syntax highlighting should work out of the box! +if you want a custom theme find a visual studio code theme, convert it to +json (if it is not already json) and put it at `~/.config/babi/theme.json`. +a helper script is provided to make this easier: `./bin/download-theme NAME URL` +### keyboard shortcuts on macos +to get the most out of babi's built in keyboard shortcuts, a few settings must +be changed on macos with Terminal.app: +- in **System Preferences**: **Keyboard** > **Shortcuts** > + **Mission Control**: disable or rebind "Move left a space" and + "Move right a space" (the defaults `⌃ →` and `⌃ ←` conflict) +- in **Terminal.app**: **Terminal** > **Preferences** > **Profiles** > + **Keyboard**: + - check **Use Option as Meta key** + - ensure the following keys are enabled: + - `⌃ →`: `\033[1;5C` + - `⌃ ←`: `\033[1;5D` + - `⇧ ↑`: `\033[1;2A` + - `⇧ ↓`: `\033[1;2B` + - `⇧ →`: `\033[1;2C` + - `⇧ ←`: `\033[1;2D` +## demos +most things work! here's a few screenshots +### file view +this opens the file, displays it, and can be edited and can save! unknown keys +are displayed as errors in the status bar. babi will scroll if the cursor +goes off screen either from resize events or from movement. babi can edit +multiple files. babi has a command mode (so you can quit it like vim +<kbd>:q</kbd>!). babi also supports syntax highlighting + + + + + + + + + +%package -n python3-babi +Summary: a text editor +Provides: python-babi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-babi +a text editor, eventually... +### installation +```bash +pip install babi +``` +babi works best in a virtualenv +### why is it called babi? +I used to use the text editor `nano`, frequently I typo this. on a qwerty +keyboard, when the right hand is shifted left by one, `nano` becomes `babi`. +### babi vs. nano +here is a youtube video where I discuss the motivation for creating and using +`babi` instead of `nano`: +[](https://youtu.be/WyR1hAGmR3g) +### quitting babi +currently you can quit `babi` by using <kbd>^X</kbd> (or via <kbd>esc</kbd> + +<kbd>:q</kbd>). +### key combinations +these are all of the current key bindings in babi +- <kbd>^S</kbd>: save +- <kbd>^O</kbd>: save as +- <kbd>^X</kbd>: quit +- <kbd>^P</kbd>: open file +- arrow keys: movement +- <kbd>^A</kbd> / <kbd>home</kbd>: move to beginning of line +- <kbd>^E</kbd> / <kbd>end</kbd>: move to end of line +- <kbd>^Y</kbd> / <kbd>pageup</kbd>: move up one page +- <kbd>^V</kbd> / <kbd>pagedown</kbd>: move down one page +- <kbd>^-left</kbd> / <kbd>^-right</kbd>: jump by word +- <kbd>^-home</kbd> / <kbd>^-end</kbd>: jump to beginning / end of file +- <kbd>M-Up</kbd> / <kbd>M-Down</kbd>: jump to previous / next paragraph +- <kbd>^_</kbd>: jump to line number +- selection: <kbd>shift</kbd> + ...: extend the current selection + - arrow keys + - <kbd>home</kbd> / <kbd>end</kdb> + - <kbd>pageup</kbd> / <kbd>pagedown</kbd> + - <kbd>^-left</kbd> / <kbd>^-right</kbd> + - <kbd>^-end</kbd> / <kbd>^-home</kbd> +- <kbd>tab</kbd> / <kbd>shift-tab</kbd>: indent or dedent current line (or + selection) +- <kbd>^K</kbd> / <kbd>^U</kbd>: cut and uncut the current line (or selection) +- <kbd>M-u</kbd> / <kbd>M-U</kbd> or <kbd>M-e</kbd>: undo / redo +- <kbd>^W</kbd>: search +- <kbd>^\\</kbd>: search and replace +- <kbd>^C</kbd>: show the current position in the file +- <kbd>^-up</kbd> / <kbd>^-down</kbd>: scroll screen by a single line +- <kbd>M-left</kbd> / <kbd>M-right</kbd>: go to previous / next file +- <kbd>^Z</kbd>: background +- <kbd>^T</kbd>: run linter + - by default, runs `pre-commit run --files <filename>` + - outside of a git repo will run `flake8 <filename>` for python files + - <kbd>^-S-Up</kbd>, <kbd>^-S-Down</kbd>: navigate to previous / next error + - <kbd>M-t</kbd> focus the linting panel + - <kbd>^C</kbd>, <kbd>^X</kbd>: clear and close the linting panel + - <kbd>Esc</kbd>, <kbd>M-t</kdb>: unfocus the linting panel + - arrow keys: movement inside the linting panel +- <kbd>esc</kbd>: open the command mode + - <kbd>:q</kbd>: quit + - <kbd>:w</kbd>: write the file + - <kbd>:wq</kbd>: write the file and quit + - <kbd>:qall</kbd>: quit every open file + - <kbd>:comment</kbd>: comment out the current line / selection + - <kbd>:reload</kbd>: reload the file contents + - <kbd>:sort</kbd>: sort the file (or selection) + - <kbd>:tabsize X</kbd>: set the tabsize +in prompts (search, search replace, command): +- <kbd>^C</kbd>: cancel +- <kbd>^K</kbd>: cut to end +- <kbd>^R</kbd>: reverse search +### setting up syntax highlighting +syntax highlighting should work out of the box! +if you want a custom theme find a visual studio code theme, convert it to +json (if it is not already json) and put it at `~/.config/babi/theme.json`. +a helper script is provided to make this easier: `./bin/download-theme NAME URL` +### keyboard shortcuts on macos +to get the most out of babi's built in keyboard shortcuts, a few settings must +be changed on macos with Terminal.app: +- in **System Preferences**: **Keyboard** > **Shortcuts** > + **Mission Control**: disable or rebind "Move left a space" and + "Move right a space" (the defaults `⌃ →` and `⌃ ←` conflict) +- in **Terminal.app**: **Terminal** > **Preferences** > **Profiles** > + **Keyboard**: + - check **Use Option as Meta key** + - ensure the following keys are enabled: + - `⌃ →`: `\033[1;5C` + - `⌃ ←`: `\033[1;5D` + - `⇧ ↑`: `\033[1;2A` + - `⇧ ↓`: `\033[1;2B` + - `⇧ →`: `\033[1;2C` + - `⇧ ←`: `\033[1;2D` +## demos +most things work! here's a few screenshots +### file view +this opens the file, displays it, and can be edited and can save! unknown keys +are displayed as errors in the status bar. babi will scroll if the cursor +goes off screen either from resize events or from movement. babi can edit +multiple files. babi has a command mode (so you can quit it like vim +<kbd>:q</kbd>!). babi also supports syntax highlighting + + + + + + + + + +%package help +Summary: Development documents and examples for babi +Provides: python3-babi-doc +%description help +a text editor, eventually... +### installation +```bash +pip install babi +``` +babi works best in a virtualenv +### why is it called babi? +I used to use the text editor `nano`, frequently I typo this. on a qwerty +keyboard, when the right hand is shifted left by one, `nano` becomes `babi`. +### babi vs. nano +here is a youtube video where I discuss the motivation for creating and using +`babi` instead of `nano`: +[](https://youtu.be/WyR1hAGmR3g) +### quitting babi +currently you can quit `babi` by using <kbd>^X</kbd> (or via <kbd>esc</kbd> + +<kbd>:q</kbd>). +### key combinations +these are all of the current key bindings in babi +- <kbd>^S</kbd>: save +- <kbd>^O</kbd>: save as +- <kbd>^X</kbd>: quit +- <kbd>^P</kbd>: open file +- arrow keys: movement +- <kbd>^A</kbd> / <kbd>home</kbd>: move to beginning of line +- <kbd>^E</kbd> / <kbd>end</kbd>: move to end of line +- <kbd>^Y</kbd> / <kbd>pageup</kbd>: move up one page +- <kbd>^V</kbd> / <kbd>pagedown</kbd>: move down one page +- <kbd>^-left</kbd> / <kbd>^-right</kbd>: jump by word +- <kbd>^-home</kbd> / <kbd>^-end</kbd>: jump to beginning / end of file +- <kbd>M-Up</kbd> / <kbd>M-Down</kbd>: jump to previous / next paragraph +- <kbd>^_</kbd>: jump to line number +- selection: <kbd>shift</kbd> + ...: extend the current selection + - arrow keys + - <kbd>home</kbd> / <kbd>end</kdb> + - <kbd>pageup</kbd> / <kbd>pagedown</kbd> + - <kbd>^-left</kbd> / <kbd>^-right</kbd> + - <kbd>^-end</kbd> / <kbd>^-home</kbd> +- <kbd>tab</kbd> / <kbd>shift-tab</kbd>: indent or dedent current line (or + selection) +- <kbd>^K</kbd> / <kbd>^U</kbd>: cut and uncut the current line (or selection) +- <kbd>M-u</kbd> / <kbd>M-U</kbd> or <kbd>M-e</kbd>: undo / redo +- <kbd>^W</kbd>: search +- <kbd>^\\</kbd>: search and replace +- <kbd>^C</kbd>: show the current position in the file +- <kbd>^-up</kbd> / <kbd>^-down</kbd>: scroll screen by a single line +- <kbd>M-left</kbd> / <kbd>M-right</kbd>: go to previous / next file +- <kbd>^Z</kbd>: background +- <kbd>^T</kbd>: run linter + - by default, runs `pre-commit run --files <filename>` + - outside of a git repo will run `flake8 <filename>` for python files + - <kbd>^-S-Up</kbd>, <kbd>^-S-Down</kbd>: navigate to previous / next error + - <kbd>M-t</kbd> focus the linting panel + - <kbd>^C</kbd>, <kbd>^X</kbd>: clear and close the linting panel + - <kbd>Esc</kbd>, <kbd>M-t</kdb>: unfocus the linting panel + - arrow keys: movement inside the linting panel +- <kbd>esc</kbd>: open the command mode + - <kbd>:q</kbd>: quit + - <kbd>:w</kbd>: write the file + - <kbd>:wq</kbd>: write the file and quit + - <kbd>:qall</kbd>: quit every open file + - <kbd>:comment</kbd>: comment out the current line / selection + - <kbd>:reload</kbd>: reload the file contents + - <kbd>:sort</kbd>: sort the file (or selection) + - <kbd>:tabsize X</kbd>: set the tabsize +in prompts (search, search replace, command): +- <kbd>^C</kbd>: cancel +- <kbd>^K</kbd>: cut to end +- <kbd>^R</kbd>: reverse search +### setting up syntax highlighting +syntax highlighting should work out of the box! +if you want a custom theme find a visual studio code theme, convert it to +json (if it is not already json) and put it at `~/.config/babi/theme.json`. +a helper script is provided to make this easier: `./bin/download-theme NAME URL` +### keyboard shortcuts on macos +to get the most out of babi's built in keyboard shortcuts, a few settings must +be changed on macos with Terminal.app: +- in **System Preferences**: **Keyboard** > **Shortcuts** > + **Mission Control**: disable or rebind "Move left a space" and + "Move right a space" (the defaults `⌃ →` and `⌃ ←` conflict) +- in **Terminal.app**: **Terminal** > **Preferences** > **Profiles** > + **Keyboard**: + - check **Use Option as Meta key** + - ensure the following keys are enabled: + - `⌃ →`: `\033[1;5C` + - `⌃ ←`: `\033[1;5D` + - `⇧ ↑`: `\033[1;2A` + - `⇧ ↓`: `\033[1;2B` + - `⇧ →`: `\033[1;2C` + - `⇧ ←`: `\033[1;2D` +## demos +most things work! here's a few screenshots +### file view +this opens the file, displays it, and can be edited and can save! unknown keys +are displayed as errors in the status bar. babi will scroll if the cursor +goes off screen either from resize events or from movement. babi can edit +multiple files. babi has a command mode (so you can quit it like vim +<kbd>:q</kbd>!). babi also supports syntax highlighting + + + + + + + + + +%prep +%autosetup -n babi-1.5.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-babi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5.4-1 +- Package Spec generated @@ -0,0 +1 @@ +1f1cf6462e074dfdc93b81208061fb9f babi-1.5.4.tar.gz |
