Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.1.x #20

Open
emmaccode opened this issue Feb 13, 2023 · 41 comments
Open

0.1.x #20

emmaccode opened this issue Feb 13, 2023 · 41 comments
Labels

Comments

@emmaccode
Copy link
Member

This is meant to be labeled Release ... I digress. 0.1.x will demonstrate basic functionality of Olive. With this will also come a few choice extensions and way to customize such things. As of right now, here is a list of things we need to get there...

  • More cell controls; right now there is new, evaluate, and delete -- new needs to be fixed and I need to work a better append system into toolips session.
  • Settings overhaul. Many settings will be stored inside of the Project.toml file, and I need to create a loader/saver for that and have such things load into the OliveCore appropriately on startup.
  • I would like to be able to add two windows.
  • There needs to be an expansion of tabs.
  • The start/create functions all need to be worked appropriately to serve things correctly.
  • Custom (UI) directories for home, wd, and things of that nature.
  • The file cells for the files you are working on can go in the top left of the top-bar.
  • A more luxurious interface for working with components of a topbar.
  • Syntax highlighting (it's a nightmare)
  • Completion of IPyRW (this is really close, read is essentially done I just need to mostly just test it and add write -- the easier of the two. Another thing that might be needed is to
  • Pkg/environment cells -- both controls for using ] much like in the REPL and controls for a larger cell that controls the environment.
  • The file menu
  • Build function for Cell{:dir}, which will make cells for a given directory and then be able to set the children along with having a bumper to go up. All the while this is of course.
  • Settings panel
  • Progress

This is a lot, but in the grand scope of things isn't too much work -- there are still a lot of small things.

@emmaccode emmaccode added the enhancement New feature or request label Feb 13, 2023
@emmaccode
Copy link
Member Author

updated list ...
  • complete setup and tutorial, all that jazz
  • complete other cell bindings
  • complete filemenu
  • create olive-settings menu
  • create TOML settings loader
  • SYNTAX HIGHLIGHTING
  • put project tabs into topbar, allowing for more than window to be opened at a thyme. If we would like to have two windows at once be possible, we will need to instead put each cell into a window with the project name, and pass the project name in the build functions. For now, this is what we have.... This might be a change going forward, as it is not on the target list for 0.1.0
  • more animations, polish
  • new build function for Olive home directory
  • DOCS
  • dir build function
  • new files
  • [IPy](https://github.com/ChifiSource/IPy.jl) save (should be pretty easy)

@emmaccode emmaccode added release and removed enhancement New feature or request labels Feb 27, 2023
@emmaccode
Copy link
Member Author

  • complete setup and tutorial, all that jazz
  • complete other cell bindings - note, stilll need save bindings.
  • complete filemenu, somewhat complete, need to build alternate Cell{:dir} build function that takes strings for sub-directories (it only works for one directory level)
  • create olive-settings menu
  • create TOML settings loader
  • SYNTAX HIGHLIGHTING
  • put project tabs into topbar, allowing for more than window to be opened at a thyme. If we would like to have two windows at once be possible, we will need to instead put each cell into a window with the project name, and pass the project name in the build functions. For now, this is what we have.... This might be a change going forward, as it is not on the target list for 0.1.0
    more animations, polish
  • new build function for Olive home directory
  • DOCS
  • dir build function
  • IPy save (should be pretty easy This one was actually done when I wrote this -- I didn't even realize I had already wrote it.

@emmaccode
Copy link
Member Author

So...

  • settings menu
  • tabs
  • syntax highlighter
  • TOML settings loader
  • TOML project loader
  • custom build function for olive home
  • for setup, we need to create a source dir file that will store the home directory if it is not at the standard homedir
  • bring image data out of memory and into source dir files
  • multi-window management (partial implementation already done)
  • finish cell design (partial implementation, once again)
  • finish dir build function with new arguments for sub-directories of sub-directories (i'm crazy)
  • fix cell as string bug ...
  • fix cell rebuild bug (actions not being binded on rebuilt cells, odd considering it happens with added cells. E.g. This does not work when we come back from a Pkg repl cell)
  • finish Pkg, other REPL cells
  • dep cells at the top of files, letting one know both environment and dependencies of project.

@emmaccode
Copy link
Member Author

oh, and

  • all style! calls need to be exported to the olivesheet, in order to make such styles a lot more easily mutable with the Styles extension, or otherwise :)

@emmaccode
Copy link
Member Author

  • settings menu
  • tabs (not fully implemented)
  • syntax highlighter
  • TOML settings loader
  • TOML project loader
  • custom build function for olive home
  • or setup, we need to create a source dir file that will store the home directory if it is not at the standard homedir
  • bring image data out of memory and into source dir files
  • multi-window management (partial implementation already done)
  • finish cell design (partial implementation, once again) They're beautiful!
  • finish dir build function with new arguments for sub-directories of sub-directories (i'm crazy) actually I used a better technique with Directory{:subdir} In your face past emmy!
  • fix cell as string bug ... BOOM
  • fix cell rebuild bug (actions not being binded on rebuilt cells, odd considering it happens with added cells. E.g. This does not work when we come back from a Pkg repl cell) BOOM
  • finish Pkg, other REPL cells
  • dep cells at the top of files, letting one know both environment and dependencies of project.

@emmaccode
Copy link
Member Author

  • syntax highlighter
  • TOML settings loader
  • TOML project loader
  • custom build function for olive home
  • for setup, we need to create a source dir file that will store the home directory if it is not at the standard homedir
  • bring image data out of memory and into source dir files
  • multi-window management (partial implementation already done)
  • finish Pkg, other REPL cells
  • dep cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus
  • dir file options

@emmaccode
Copy link
Member Author

  • docs
  • styles in stylesheet

This is about it, but of course there are more smaller things which I will do. All in all, we're getting real close to a release on this :)

@emmaccode
Copy link
Member Author

oh,

  • dir permissions
  • authentication keys

those are smaller easier things, not worried about them as much.
^.^ I think that should be about it...

@emmaccode
Copy link
Member Author

  • syntax highlighter
  • TOML settings loader
  • TOML project loader
  • custom build function for olive home
  • for setup, we need to create a source dir file that will store the home directory if it is not at the standard homedir
  • bring image data out of memory and into source dir files
  • multi-window management (partial implementation already done)
  • finish Pkg, other REPL cells
  • dep cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus
  • dir file options partial implementation
  • dir permissions
  • authentication keys

@emmaccode
Copy link
Member Author

  • syntax highlighter
  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells
  • dep cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus
  • dir file options partial implementation
  • dir permissions
  • authentication keys

@emmaccode
Copy link
Member Author

We're so close... I will be registering Olive 0.0.9 here in (probably) less than a week, really depends on how challenging syntax highlighting ends up being with my next attempt. For some background, I have tried like 4 different techniques for this, some of them better than others -- some just complicated things a lot more than I liked. That being said, this is not too far off.

@emmaccode
Copy link
Member Author

  • syntax highlighter
  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells
  • dep**/module** cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus
  • dir file options
  • dir permissions
  • authentication keys

@emmaccode
Copy link
Member Author

  • IPy also needs read_jlcells completed -- these are post-save IPy cells which preserve output. This will be pretty easy to do, so no worries :)

@emmaccode
Copy link
Member Author

  • IPy also needs read_jlcells completed -- these are post-save IPy cells which preserve output. This will be pretty easy to do, so no worries :) Did this last night 🥲😮‍💨

@emmaccode
Copy link
Member Author

  • syntax highlighter
  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells
  • dep**/module** cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus missing save as and run all
  • dir file options
  • dir permissions
  • authentication keys

@emmaccode
Copy link
Member Author

  • syntax highlighter

Given the design of the new syntax highlighter, we can just use the regular cell input text! This means that parseerrors are going to soon be a thing of the past, as well -- so long as the file actually parses correctly! Yay! Aside from this, the highlighter works pretty flawlessly, so that's great news!

  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells
  • dep**/module** cells at the top of files, letting one know both environment and dependencies of project.
  • tab menus missing save as and run all
  • dir permissions
  • authentication keys

@emmaccode
Copy link
Member Author

emmaccode commented Mar 7, 2023

  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells partial implementation -- semi-broken help cells for some reason (they break the entire project), no commands yet for the Pkg cells -- they just exist. Still need to add shell and Olive cells. Also need to make shell cells only activate for those with permissions to use them... This will go along with generally creating access and all of that, something I will be diving into soon.
  • dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as and run all - this is what I will probably be doing next.
  • dir permissions
  • authentication keys
  • on file save, I need like a olive_save(uri::String, ::Cell{:jl}, cells::Vector{Cell{<:Any}}) function... The reason why is pretty obvious; different save functions for different types of files. This will also be another easy implementation, just need to do it!

@emmaccode
Copy link
Member Author

  • update Olive display funcs

@emmaccode
Copy link
Member Author

oh!! also

  • new_cell in project tab... Should append a new cell creator that scans for methods that exist to build cells inside of such a context.

@emmaccode
Copy link
Member Author

  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells partial implementation -- semi-broken help cells for some reason (they break the entire project), no commands yet for the Pkg cells -- they just exist. Still need to add shell and Olive cells. Also need to make shell cells only activate for those with permissions to use them... This will go along with generally creating access and all of that, something I will be diving into soon.
  • dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as and run all - this is what I will probably be doing next.
  • dir permissions
  • authentication keys
  • on file save, I need like a olive_save(uri::String, ::Cell{:jl}, cells::Vector{Cell{<:Any}}) function... The reason why is pretty obvious; different save functions for different types of files. This will also be another easy implementation, just need to do it!
  • update Olive display funcs

I got a lot more than just this done today. Three big features are missing for 0.0.9 release;

  • Directory permissions/auth keys (quick and easy to do don't worry)
  • new cell creator
  • save as
  • run all control
  • namebox in setup
  • icons/olive defaults in setup

other than this, any other improvements can wait to make it into the final version.

@emmaccode
Copy link
Member Author

this is in addition to expanding with olive_save, an update to olive display, and updating Pkg cells.

All in all, we are looking at less than a week, that is for certain.

@emmaccode
Copy link
Member Author

Also wanted to note ^-^ IPy is in the process of registration :)

@emmaccode
Copy link
Member Author

  • on file save, I need like a olive_save(uri::String, ::Cell{:jl}, cells::Vector{Cell{<:Any}}) function... The reason why is pretty obvious; different save functions for different types of files. This will also be another easy implementation, just need to do it!

another one knocked out :)

@emmaccode
Copy link
Member Author

  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells partial implementation -- still need olive and shell cells :)
  • dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as and run all - this is what I will probably be doing next.
  • dir permissions
  • authentication keys
  • update Olive display funcs
  • Directory permissions/auth keys (quick and easy to do don't worry)
  • new cell creator
  • save as
  • run all control
  • namebox in setup
  • icons/olive defaults in setup

@emmaccode
Copy link
Member Author

we're so close! Olive looks awesome!!

@emmaccode
Copy link
Member Author

  • TOML project loader
  • custom build function for olive home
  • finish Pkg, other REPL cells partial implementation -- still need olive and shell cells :)
  • dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as (needs to open project explorer dir :o)
  • dir permissions
  • authentication keys
  • update Olive display funcs
  • Directory permissions/auth keys (quick and easy to do don't worry)
  • new cell creator
  • save as
  • run all control
  • namebox in setup
  • icons/olive defaults in setup

@emmaccode
Copy link
Member Author

  • TOML project loader
  • finish Pkg, other REPL cells partial implementation -- still need olive and shell cells :)
  • dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as (needs to open project explorer dir :o)
  • update Olive display funcs
  • Directory permissions/auth keys (quick and easy to do don't worry)
  • new cell creator
  • save as
  • run all control
  • namebox in setup
  • icons/olive defaults in setup

@emmaccode
Copy link
Member Author

I am still going, just a lot of actual OLIVE work is mainly focused on me now building my own syntax highlighter. I really had to build my own in order for it to work in this context.
There is still a lot to do, I am going to go ahead and get this to 0.0.8 standards, release it, then I will be opening a new issue for each upgrade I plan to make.

@emmaccode
Copy link
Member Author

I'm going to open a separate issue for the 0.0.8 release viva 0.1.x!

@emmaccode
Copy link
Member Author

  • finish Pkg, other REPL cells partial implementation -- still need olive and shell cells :)
    dep /module cells at the top of files, letting one know both environment and dependencies of project. This will just allow one to run cells with module in them without getting errors :)
  • tab menus missing save as (needs to open project explorer dir :o)
  • update Olive display funcs
  • Directory permissions/auth keys (quick and easy to do don't worry)
  • save as
  • namebox in setup
  • icons/olive defaults in setup

@emmaccode
Copy link
Member Author

0.0.8 is almost here :) I'm excited! I just can't hideit! 💃🏻

@emmaccode
Copy link
Member Author

^^ 3 more issues 📦

@emmaccode
Copy link
Member Author

Bit of an update, Olive has become relatively stable -- not to the extent where I would say go make this your primary text editor, but we are getting close to that point! I still have a few different things I want to do. :p

@emmaccode
Copy link
Member Author

About to push 0.0.82 to master.

@emmaccode
Copy link
Member Author

0.0.9 is on the horizon! This new step presents a multitude of new features, better extension loading, more stability, and more! This is going to be an awesome release. The next step from 0.0.9 -> 0.1.0 is going to consist of things like memory management and generalized improvements on the design we currently have. Feel free to submit issues if there are any changes you would like to see!

@emmaccode
Copy link
Member Author

Okay. We are now absurdly absurdly close to this 0.0.9 pre-release. This is a great build.

@emmaccode
Copy link
Member Author

So I have now begun my work on the next step, 0.0.9-0.0.91. This will include several measured improvements to the current Olive interface, mostly improvements on what Olive already has -- while also making strides for performance -- before 0.0.92 reworks directories as a main focus (this will eventually be the removal of the workmenu in favor of something a bit better)
That being said, we are now in the post-0.0.9 phase of this development -- dear god, this has taken a lifetime and a half.

@emmaccode
Copy link
Member Author

hi -- it's the end of 2024. A few things.

This is Olive 0.0.92, the latest version of Olive. Though there are a few problems -- one glaring one from a final adjustment that I am surprised made it in -- whoops (save as, is patched on unstable) , on any accord I now plan for monthly tracking releases of Olive. This being considered, I am going to start working on the January release of Olive, 0.0.93 pretty soon. I have both this release and 0.0.94 mapped out (as usual).

I have ordered servers for OliveCreator -- I have one small EON server which will run the DNS server (ChiNS !) as well as handling the base routing webserver, directing traffic and distributing load. It is pretty exciting, I must say.

This will also include a documentation, homepage, and testing -- all of the things -- wrapped in for all of these projects -- at least the first three, for now -- Toolips, Olive, Gattino. Gattino is coming soon, in random other Chifi element news. Be back to work on this baby soon, :)

@emmaccode
Copy link
Member Author

Toolips 0.3is nearly complete -- soon we will be back on this. We are actually going to be skipping0.0.94in favor of just moving toToolips 0.3for a new breaking0.1.0` version. Might be a bit, but swiftly after this package will be beyond functional.

@emmaccode
Copy link
Member Author

All Toolips required for this project is out and ready to go.

I have been moving back into Gattino; I am getting very far along on the package and also getting pretty far on GattinoPleths. I plan to work this, as well as more Toolips extensions before coming back to the world of Olive pretty shortly -- hopefully only a few weeks from now. Just bringing this package to Toolips 0.3 alone will do a lot for it -- I am also going to be releasing a new breaking IPyCells and a new OliveHighlighters package holding the highlighting system for Olive. Seriously, I am writing way too much crap, but I have got this. Here is a look at my next few plans...

  • Gattino
  • GattinoPleths
  • ToolipsUDP
  • OliveHighlighters
  • IPyCells
  • Olive

Soon we will see the official full 0.1 (beta, all of this stuff is in beta because I am one person) release for Gattino and soon after... Olive. Exciting. Thanks for keeping tabs loves <3

@emmaccode
Copy link
Member Author

As per usual with me, I am still working on a ton of stuff. currently working on ChifiDocs, GattinoPleths, OliveHighlighters, IPyCells, and ToolipsUDP. Have done a few commits to Unstable for this project, but still have more work to complete on the " getting setup for 0.3 " rabbithole of Olive development. I don't think it's that different, it just is work to convert it and currently I am a bit preoccupied -- I mean, to some degree to even get the environment in order I need OliveHighlighters, and IPyCells working together. Of course for anything Toolips needs reworked. Some work, but soon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant