GithubHelp home page GithubHelp logo

countrytk / hydra Goto Github PK

View Code? Open in Web Editor NEW
112.0 11.0 30.0 2.29 MB

A simple customizable cross-platform IDE

License: GNU General Public License v3.0

Python 100.00%
cross-platform-notepad python customizable editor qt5 pyqt5 texteditor

hydra's Introduction

Hydra

A simple cross-platform Python IDE with auto completion and the ability to run scripts in interactive mode, written in python.

This editor is very customizable, just edit the config.json file. All color codes MUST be hex color codes!

nltk installation

After doing pip install -r requirements.txt you need to open up a cmd/terminal and follow these steps:

python

import nltk

nltk.download('punkt')

Installation

  1. Clone this repository: https://github.com/CountryTk/Hydra.git
  2. Change directory into Hydra repository
  3. Install the IDE via setup.py python3 setup.py install
  4. Launch Hydra with the command Hydra

Demo

Imgur demo

hydra's People

Contributors

aareon avatar anonymousdapper avatar countrytk avatar gg64du02 avatar jacobculley avatar jason2605 avatar jtopanotti avatar sentdex avatar third-meow avatar xeckt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hydra's Issues

No module named 'nltk'

When trying to open main.py, I get the error ModuleNotFoundError: No module named 'nltk'. I installed the requirements using pip install -r requirements.txt.

Features to Add/Fix

Features to add:
1a - Add a functional "browse" button to File > New project
1b - Add checks inside new project to see if the path is used by other files or if it exists
1c - "Show Terminal" button after hiding it. It should only appear if you have the terminal open before
1d - Add the search feature to search through individual files & whole project
1e - Add a custom logging class for PyPad exclusively
1f - Add a setup for linux (apt-get install pypad) and create an installer for windows
1g - Add an update feature (Fuchsiaff is working on it)

Features to fix:
2a - Fix the "new project" window, it appears too small and cannot see the text entry fields. Pressing ok only appears after I create the project. See 1a for additions to this, and have "create" perform as "ok" instead of having it appear after pressing create.
2b - Continue implementing the new config_reader logic throughout the source like I have started here: e1ea87d and 9849d54
2c - PyPad's minimized window size is too small and stretched, need to manually adjust every time DONE
2d- Sometimes when I first load up PyPad, it opens "maximised" > see image here
2d - PyPad will completely freeze if you use the "run" function on a blank project (who would do that? Nobody, but it shouldn't crash PyPad).

Current Priorities:

  • Creating setup files for Linux & Windows.
  • Adding an update feature
  • Create logging for PyPad

Simplify the version check

Change the url to https://raw.githubusercontent.com/Fuchsiaff/PyPad/master/src/version.txt to avoid the need for html parsing. Would open a PR, but am currently busy.

Highlighting dissapears

When opening 2 or more tabs, only the tab that is opened currently has highlighting, on other tabs, the highlighting dissapears.
I have no clue why.

Ultimate list of features to add/fix

Features to add

  • Package PyPad for Windows, Linux and Mac
  • Check the file size before opening and if its too big only load some of it
  • Write an update function (before this can be done, step 1 has to be done first)
  • Option to open more than one project at the same time
  • Implement code folding
  • Add a search everywhere in the current opened directory
  • Embedded music player that will download songs from youtube and have the ability to browse songs all IN PyPad itself
  • Check if requirements of a project are installed, if not install them
  • Make auto completion smarter (grab variables from code and delete them from the list when they're removed)
  • Usages of variables (Like PyCharm does it when you CTRL+Click on a variable) [CTAGS] [AST]
  • Add different annotations on the code editor screen to show whether a line is too long or syntax is invalid
  • A Code diff widget
  • Add a search everywhere in the current opened directory
  • A real terminal, the current one doesn't support all operations a terminal should support (commands like vim, python, etc)
  • Write a debugger and breakpoints

Features to fix

  1. New project window is horrible, need to fix that and give the user a better way of choosing a directory
  2. Make the auto completion view pop up dynamically (right now it's activated via a shortcut)
  3. The whole MessageBox class needs to be rewritten to make it prettier and more professional
  4. Fix syntax highlighting, some variations of syntax break the highlighter alt_text
  5. Some commands don't work on MacOS (switching tabs, etc)

Open file from terminal

With my favorite editors I can open a file using editor filename. Currently this is not supported, but I would love to see it as a feature.

Delete function

There is no delete function. It'd be nice, like other editors, to have a delete function when editing folders and projects in the editor. This could just be through a context menu.

Feature: Open folders

Now that you have tabbing, it'd be nice to open an entire directory of files. File > open > then just open the file rather than some individual file.

Terminal not resizing correctly

Right now I haven't figured out how to resize the xterm terminal widget dynamically.

If anyone has an idea on how to do that, feel free to submit a pull request!

Feature requests

Things I would want to see in order to make this my primary editor:

  1. Tabs and project opening (what you're doing now.) -- Done
  2. Auto indent working properly -- Done
  3. Pep8 hinting (EXCEPT FOR the <78 chars req, or make it customize-able. The 78 char limit is just annoying.)
  4. Auto complete/suggestions. If I start typing a method or var, make suggestions that I can use arrow keys and tab to select, like I can in sublime.
  5. Ability to run the script from pypad itself, and see console output. Needs a shortcut to run it. -- Done
  6. Ability to run in interactive mode. I miss the ability to run a script in IDLE, and then continue coding live in the console part. I wish Sublime would let me do that. It doesnt need to always work this way, maybe 2 run options. -- Done
  7. Document search, and "search all." Should include options like search for whole word, sub string, and regex search for both that specific doc search and when searching across all documents.
  8. Code diff. I'd really like to not need multiple programs to see differences between 2 scripts.

Probably more, I'll add if I think of any others.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.