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.
Files changed (46) hide show
  1. {bash-script-maker-1.4.2/bash_script_maker.egg-info → bash-script-maker-1.4.5}/PKG-INFO +1 -1
  2. bash-script-maker-1.4.5/VERSION +1 -0
  3. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/__version__.py +2 -2
  4. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5/bash_script_maker.egg-info}/PKG-INFO +1 -1
  5. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker_flatpak.py +70 -7
  6. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/pyproject.toml +1 -1
  7. bash-script-maker-1.4.2/VERSION +0 -1
  8. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/LICENSE +0 -0
  9. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/MANIFEST.in +0 -0
  10. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/README.md +0 -0
  11. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets/bash-script-maker-16.png +0 -0
  12. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets/bash-script-maker.svg +0 -0
  13. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/assets.py +0 -0
  14. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash-script-maker.desktop +0 -0
  15. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/SOURCES.txt +0 -0
  16. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/dependency_links.txt +0 -0
  17. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/entry_points.txt +0 -0
  18. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/not-zip-safe +0 -0
  19. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/requires.txt +0 -0
  20. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.egg-info/top_level.txt +0 -0
  21. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/bash_script_maker.py +0 -0
  22. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/beispiel_script.sh +0 -0
  23. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/build_flatpak.sh +0 -0
  24. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/compile_translations.py +0 -0
  25. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/create_release.sh +0 -0
  26. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/custom_dialogs.py +0 -0
  27. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/dev-requirements.txt +0 -0
  28. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/init_github.sh +0 -0
  29. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install.sh +0 -0
  30. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_apt.sh +0 -0
  31. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_desktop_integration.sh +0 -0
  32. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_dnf.sh +0 -0
  33. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/install_flatpak.sh +0 -0
  34. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/locales/de/LC_MESSAGES/base.po +0 -0
  35. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/locales/en/LC_MESSAGES/base.po +0 -0
  36. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/localization.py +0 -0
  37. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/mein_script.sh +0 -0
  38. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/packages.txt +0 -0
  39. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/requirements.txt +0 -0
  40. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup.cfg +0 -0
  41. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup.py +0 -0
  42. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/setup_flatpak.py +0 -0
  43. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/start.sh +0 -0
  44. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/syntax_highlighter.py +0 -0
  45. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/test_installation.sh +0 -0
  46. {bash-script-maker-1.4.2 → bash-script-maker-1.4.5}/uninstall.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bash-script-maker
3
- Version: 1.4.2
3
+ Version: 1.4.5
4
4
  Summary: Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung
5
5
  Home-page: https://github.com/securebitsorg/bash-script-maker
6
6
  Author: Marcel Dellmann
@@ -0,0 +1 @@
1
+ 1.4.5
@@ -4,5 +4,5 @@
4
4
  Version information for Bash-Script-Maker
5
5
  """
6
6
 
7
- __version__ = "1.4.2"
8
- __version_info__ = (1, 4, 2)
7
+ __version__ = "1.4.5"
8
+ __version_info__ = (1, 4, 5)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bash-script-maker
3
- Version: 1.4.2
3
+ Version: 1.4.5
4
4
  Summary: Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung
5
5
  Home-page: https://github.com/securebitsorg/bash-script-maker
6
6
  Author: Marcel Dellmann
@@ -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-Script-Maker")
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="#2d3748",
79
- fg="#e2e8f0",
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.2"
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"}
@@ -1 +0,0 @@
1
- 1.4.2