thonny-codemate 0.1.3__tar.gz → 0.1.4__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 (42) hide show
  1. {thonny_codemate-0.1.3/thonny_codemate.egg-info → thonny_codemate-0.1.4}/PKG-INFO +1 -1
  2. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/todo.md +1 -1
  3. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/pyproject.toml +1 -1
  4. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4/thonny_codemate.egg-info}/PKG-INFO +1 -1
  5. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/__init__.py +1 -1
  6. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/chat_view_html.py +8 -12
  7. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/CLAUDE.md +0 -0
  8. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/LICENSE +0 -0
  9. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/MANIFEST.in +0 -0
  10. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/README.ja.md +0 -0
  11. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/README.md +0 -0
  12. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/copilot_features_analysis.md +0 -0
  13. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/copy_insert_implementation.md +0 -0
  14. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/demelopment_memo_from_chatgpt.md +0 -0
  15. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/implementation_techniques.md +0 -0
  16. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/plugin_analysis.md +0 -0
  17. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/docs_for_ai/project_goal.md +0 -0
  18. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/setup.cfg +0 -0
  19. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonny_codemate.egg-info/SOURCES.txt +0 -0
  20. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonny_codemate.egg-info/dependency_links.txt +0 -0
  21. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonny_codemate.egg-info/requires.txt +0 -0
  22. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonny_codemate.egg-info/top_level.txt +0 -0
  23. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/__init__.py +0 -0
  24. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/api.py +0 -0
  25. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/context_manager.py +0 -0
  26. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/external_providers.py +0 -0
  27. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/i18n.py +0 -0
  28. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/llm_client.py +0 -0
  29. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/message_virtualization.py +0 -0
  30. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/model_manager.py +0 -0
  31. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/performance_monitor.py +0 -0
  32. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/prompts.py +0 -0
  33. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/__init__.py +0 -0
  34. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/chat_view.py +0 -0
  35. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/custom_prompt_dialog.py +0 -0
  36. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/markdown_renderer.py +0 -0
  37. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/model_download_dialog.py +0 -0
  38. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/ui/settings_dialog.py +0 -0
  39. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/utils/__init__.py +0 -0
  40. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/utils/constants.py +0 -0
  41. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/utils/error_messages.py +0 -0
  42. {thonny_codemate-0.1.3 → thonny_codemate-0.1.4}/thonnycontrib/thonny_codemate/utils/unified_error_handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thonny-codemate
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A Thonny IDE plugin that provides AI-powered coding assistance using local and cloud LLMs
5
5
  Author-email: tokoroten <shinta.nakayama@gmail.com>
6
6
  License: MIT
@@ -37,7 +37,7 @@ AIはこのファイルを参照して作業を進め、完了したタスクは
37
37
  - [x] Add user skill level selection feature (2025-06-24完了)
38
38
  - [x] Implement multi-file context understanding (2025-06-25完了)
39
39
  - [x] Add support for external APIs (ChatGPT/Ollama/OpenRouter) (2025-06-25完了)
40
- - [x] Prepare PyPI package and publish (2025-06-30完了)
40
+ - [x] Prepare PyPI package and publish (2025-06-30完了) - v0.1.3 released to PyPI
41
41
  - [ ] Implement inline code completion (cursor position)
42
42
  - [ ] Create USB portable deployment configuration
43
43
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "thonny-codemate"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "A Thonny IDE plugin that provides AI-powered coding assistance using local and cloud LLMs"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thonny-codemate
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A Thonny IDE plugin that provides AI-powered coding assistance using local and cloud LLMs
5
5
  Author-email: tokoroten <shinta.nakayama@gmail.com>
6
6
  License: MIT
@@ -31,7 +31,7 @@ logger = logging.getLogger(__name__)
31
31
  logger.disabled = True
32
32
 
33
33
  # プラグインのバージョン
34
- __version__ = "0.1.3"
34
+ __version__ = "0.1.4"
35
35
 
36
36
  # グローバル変数でプラグインの状態を管理
37
37
  _plugin_loaded = False
@@ -681,14 +681,12 @@ class LLMChatViewHTML(ttk.Frame):
681
681
  # 選択範囲がある場合
682
682
  start_line = int(text_widget.index("sel.first").split(".")[0])
683
683
  end_line = int(text_widget.index("sel.last").split(".")[0])
684
- file_name = Path(current_file).name if current_file else "Unknown"
684
+ file_name = Path(current_file).name if current_file else "Untitled"
685
685
  return f"Context: {file_name} (lines {start_line}-{end_line})"
686
- elif current_file:
687
- # ファイル全体の場合
688
- file_name = Path(current_file).name
686
+ else:
687
+ # ファイル全体の場合(未保存ファイルも含む)
688
+ file_name = Path(current_file).name if current_file else "Untitled"
689
689
  return f"Context: {file_name} (entire file)"
690
-
691
- return None
692
690
 
693
691
  def _format_display_message(self, message: str, context_info: Optional[str]) -> str:
694
692
  """表示用メッセージをフォーマット"""
@@ -834,10 +832,8 @@ Based on this context, {message}"""
834
832
  return self._format_selected_context(current_file, text_widget, selected_text)
835
833
 
836
834
  # 選択範囲がない場合はファイル全体
837
- if current_file:
838
- return self._format_full_file_context(current_file, text_widget)
839
-
840
- return None
835
+ # current_fileがなくても(未保存ファイル)エディタから内容を取得
836
+ return self._format_full_file_context(current_file, text_widget)
841
837
 
842
838
  def _get_selected_text(self, text_widget) -> Optional[str]:
843
839
  """選択されたテキストを取得"""
@@ -852,7 +848,7 @@ Based on this context, {message}"""
852
848
  selection_info = f"Selected lines: {start_line}-{end_line}"
853
849
 
854
850
  lang = self._detect_language(current_file)
855
- file_name = Path(current_file).name if current_file else 'Unknown'
851
+ file_name = Path(current_file).name if current_file else 'Untitled'
856
852
 
857
853
  return f"""File: {file_name}
858
854
  {selection_info}
@@ -868,7 +864,7 @@ Based on this context, {message}"""
868
864
  return None
869
865
 
870
866
  lang = self._detect_language(current_file)
871
- file_name = Path(current_file).name
867
+ file_name = Path(current_file).name if current_file else 'Untitled'
872
868
 
873
869
  return f"""File: {file_name}
874
870
  Full file content:
File without changes