bash-script-maker 1.4.2__tar.gz → 1.4.5__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.
- {bash-script-maker-1.4.2/bash_script_maker.egg-info → bash-script-maker-1.4.5}/PKG-INFO +1 -1
- bash-script-maker-1.4.5/VERSION +1 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/__version__.py +2 -2
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5/bash_script_maker.egg-info}/PKG-INFO +1 -1
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker_flatpak.py +70 -7
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/pyproject.toml +1 -1
- bash-script-maker-1.4.2/VERSION +0 -1
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/LICENSE +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/MANIFEST.in +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/README.md +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets/bash-script-maker-16.png +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets/bash-script-maker.svg +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash-script-maker.desktop +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/SOURCES.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/dependency_links.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/entry_points.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/not-zip-safe +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/requires.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/top_level.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/beispiel_script.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/build_flatpak.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/compile_translations.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/create_release.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/custom_dialogs.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/dev-requirements.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/init_github.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_apt.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_desktop_integration.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_dnf.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_flatpak.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/locales/de/LC_MESSAGES/base.po +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/locales/en/LC_MESSAGES/base.po +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/localization.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/mein_script.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/packages.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/requirements.txt +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup.cfg +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup_flatpak.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/start.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/syntax_highlighter.py +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/test_installation.sh +0 -0
- {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/uninstall.sh +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
1.4.5
|
@@ -15,9 +15,12 @@ import threading
|
|
15
15
|
class BashScriptMaker:
|
16
16
|
def __init__(self, root):
|
17
17
|
self.root = root
|
18
|
-
self.root.title("Bash
|
18
|
+
self.root.title("Bash Script Maker") # Korrigierter Titel
|
19
19
|
self.root.geometry("1000x700")
|
20
20
|
|
21
|
+
# Set window class for proper desktop integration
|
22
|
+
self.root.wm_class("Bash-Script-Maker", "Bash-Script-Maker")
|
23
|
+
|
21
24
|
# Variables
|
22
25
|
self.current_file = None
|
23
26
|
|
@@ -74,16 +77,76 @@ class BashScriptMaker:
|
|
74
77
|
self.text_editor = scrolledtext.ScrolledText(
|
75
78
|
right_frame,
|
76
79
|
wrap=tk.NONE,
|
77
|
-
font=("Consolas", 11),
|
78
|
-
bg="#
|
79
|
-
fg="#
|
80
|
-
insertbackground="#ffffff"
|
80
|
+
font=("Monaco", 11) if sys.platform == "darwin" else ("Consolas", 11),
|
81
|
+
bg="#1e1e1e",
|
82
|
+
fg="#d4d4d4",
|
83
|
+
insertbackground="#ffffff",
|
84
|
+
selectbackground="#264f78",
|
85
|
+
relief=tk.FLAT,
|
86
|
+
borderwidth=1
|
81
87
|
)
|
82
88
|
self.text_editor.pack(fill=tk.BOTH, expand=True)
|
83
89
|
|
90
|
+
# Add basic syntax highlighting
|
91
|
+
self.setup_syntax_highlighting()
|
92
|
+
|
84
93
|
# Status bar
|
85
|
-
self.status_bar = ttk.Label(self.root, text="Bereit", relief=tk.SUNKEN)
|
86
|
-
self.status_bar.pack(side=tk.BOTTOM, fill=tk.X)
|
94
|
+
self.status_bar = ttk.Label(self.root, text="Bereit | Flatpak-Version", relief=tk.SUNKEN, anchor=tk.W)
|
95
|
+
self.status_bar.pack(side=tk.BOTTOM, fill=tk.X, padx=10, pady=(0, 10))
|
96
|
+
|
97
|
+
def setup_syntax_highlighting(self):
|
98
|
+
"""Setup basic syntax highlighting for bash scripts"""
|
99
|
+
# Define colors for syntax highlighting
|
100
|
+
self.text_editor.tag_config("comment", foreground="#6a9955", font=("Consolas", 11, "italic"))
|
101
|
+
self.text_editor.tag_config("keyword", foreground="#569cd6", font=("Consolas", 11, "bold"))
|
102
|
+
self.text_editor.tag_config("string", foreground="#ce9178")
|
103
|
+
self.text_editor.tag_config("variable", foreground="#9cdcfe")
|
104
|
+
self.text_editor.tag_config("operator", foreground="#d4d4d4")
|
105
|
+
|
106
|
+
# Bind text change event for live highlighting
|
107
|
+
self.text_editor.bind("<KeyRelease>", self.on_text_change)
|
108
|
+
|
109
|
+
def on_text_change(self, event=None):
|
110
|
+
"""Apply basic syntax highlighting on text change"""
|
111
|
+
import re
|
112
|
+
content = self.text_editor.get("1.0", tk.END)
|
113
|
+
|
114
|
+
# Clear existing tags
|
115
|
+
for tag in ["comment", "keyword", "string", "variable"]:
|
116
|
+
self.text_editor.tag_delete(tag)
|
117
|
+
|
118
|
+
# Highlight comments
|
119
|
+
for match in re.finditer(r'#.*', content):
|
120
|
+
start_line = content[:match.start()].count('\n') + 1
|
121
|
+
start_col = match.start() - content.rfind('\n', 0, match.start()) - 1
|
122
|
+
end_line = content[:match.end()].count('\n') + 1
|
123
|
+
end_col = match.end() - content.rfind('\n', 0, match.end()) - 1
|
124
|
+
self.text_editor.tag_add("comment", f"{start_line}.{start_col}", f"{end_line}.{end_col}")
|
125
|
+
|
126
|
+
# Highlight bash keywords
|
127
|
+
keywords = r'\b(if|then|else|elif|fi|for|while|do|done|case|esac|function|return|exit|break|continue|echo|read|export|local)\b'
|
128
|
+
for match in re.finditer(keywords, content):
|
129
|
+
start_line = content[:match.start()].count('\n') + 1
|
130
|
+
start_col = match.start() - content.rfind('\n', 0, match.start()) - 1
|
131
|
+
end_line = content[:match.end()].count('\n') + 1
|
132
|
+
end_col = match.end() - content.rfind('\n', 0, match.end()) - 1
|
133
|
+
self.text_editor.tag_add("keyword", f"{start_line}.{start_col}", f"{end_line}.{end_col}")
|
134
|
+
|
135
|
+
# Highlight strings
|
136
|
+
for match in re.finditer(r'"[^"]*"', content):
|
137
|
+
start_line = content[:match.start()].count('\n') + 1
|
138
|
+
start_col = match.start() - content.rfind('\n', 0, match.start()) - 1
|
139
|
+
end_line = content[:match.end()].count('\n') + 1
|
140
|
+
end_col = match.end() - content.rfind('\n', 0, match.end()) - 1
|
141
|
+
self.text_editor.tag_add("string", f"{start_line}.{start_col}", f"{end_line}.{end_col}")
|
142
|
+
|
143
|
+
# Highlight variables
|
144
|
+
for match in re.finditer(r'\$\w+|\$\{[^}]+\}', content):
|
145
|
+
start_line = content[:match.start()].count('\n') + 1
|
146
|
+
start_col = match.start() - content.rfind('\n', 0, match.start()) - 1
|
147
|
+
end_line = content[:match.end()].count('\n') + 1
|
148
|
+
end_col = match.end() - content.rfind('\n', 0, match.end()) - 1
|
149
|
+
self.text_editor.tag_add("variable", f"{start_line}.{start_col}", f"{end_line}.{end_col}")
|
87
150
|
|
88
151
|
def insert_shebang(self):
|
89
152
|
self.text_editor.insert(tk.INSERT, "#!/bin/bash\n")
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "bash-script-maker"
|
7
|
-
version = "1.4.
|
7
|
+
version = "1.4.5"
|
8
8
|
description = "Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung"
|
9
9
|
readme = "README.md"
|
10
10
|
license = {text = "MIT"}
|
bash-script-maker-1.4.2/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.4.2
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/dependency_links.txt
RENAMED
File without changes
|
{bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/top_level.txt
RENAMED
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|