SimpleComplete | General scripting plugin

Patch 16.14:

  • Added the StartMessageEnabled setting which is true by default
1 Like

Update 17:

  • Added shared paths, which can be toggled via the FindSharedPath setting which can either be true or false
    image
    Space seperated dot operators, usage of :WaitForChild() and usage of :FindFirstChild() also works :slight_smile:
    The next patches hopefully should add docstring caching between modules via require()

  • Renamed StartMessageEnabled into StartupMessageEnabled, courtesy of @TimeFrenzied :V

2 Likes

Patch 17.1:

  • Support for string computed accesses (note that this is a shallow example, it should work for deeper variable dependencies too!)
    image

(Oops, no it doesn’t xd, will be fixed in 17.2)
(Also, it seems like the imports tend to place itself after the services always instead of the variables it needs to use, will be fixed in 17.2 too)

Patch 17.2:

  • Fixed deeper variable accesses
  • Fixed module being imported above variable dependencies
    image
1 Like

Is there a way to disable .Parent referencing?
I prefer using e.g. ReplicatedStorage.Modules.MyModule rather than script.Parent.MyModule.

1 Like

Yes, set the FindShortestPath setting to false.

1 Like

I have found an issue with the shared path feature.

It should not create a shared path variable for a singular reference, only for actual paths (meaning one or more . or [""]).

Here’s an example of the issue:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local replicatedStorage = ReplicatedStorage
local z3SCSignal = require(replicatedStorage.Z3SCSignal)
local signalPlus = require(replicatedStorage.SignalPlus)
2 Likes

Is there a way to have shared paths be a different case than module and service references?

1 Like

Is there a way to disable the referencing after importing?

After importing TweenService:

local TweenService = game:GetService("TweenService")

TweenService

What I want it to be:

local TweenService = game:GetService("TweenService")


Where can I find the newest version? The file at the top is only update 15.

Instead of comparing the string lengths when sorting (ascending and descending), compare the TextService:GetTextBoundsAsync().X of each string, as it will give you way more accurate results — use the default script editor font; FiraMono.

1 Like

Is that according to the startup message? It just wasn’t updated, check if the recent settings are there instead.

It’s for alphabetical order and not string length, unless I’m mistaken.

Oh, this used to be a thing with the shorthands but got removed, maybe it can come back as a setting.

Isn’t it more convenient to only need to reference the variable when you’re gonna use it though? Is there a specific issue you’re having or is it just preference.

1 Like

Might be, but the file and script name wasn’t updated either. :confused:

Oh you might be right!
Well then my suggestion is just to add length sorting as an option.

I prefer it not automatically typing out the variable (that there is autocompletion for anyways) a place where I don’t want it. I might not be auto-importing where I actually want to use the variable.

And what if I want to use the variable in another way than directly referencing it? The way it does it also makes for an error until you finish the line, which is pretty ugly in my opinion.

1 Like

run --sc getsettings: global and see if the settings that just got added exist, if not then I guess it wasn’t updated

1 Like

Okay it seems to be updated!
But he should probably update the version numbers lol.

2 Likes

Wdym by this? Like, limit the depth of variable sharing to a certain level? (sorry was asleep)

Wdym by this?

This used to be a feature in the form of service shorthands however since removed since auto imports were really the main focus, i can readd it if u want lol

It’s called SimpleCompleteU15 because I completely rewrote the plugin in update 15, so it’s a seperate file from the earlier versions :V , you’re right tho i should fix the versioning

1 Like

Patch 17.3:

  • Module and service auto imports now both use 1 and 2 \0 characters for the symbol instead of the big and annoying \1 and \2 characters
1 Like

case as in camelCase and PascalCase I believe, if so, yeah I agree

Bro i still dont get what it means :sob:

Let’s say it finds the shared path “ReplicatedStorage”; that’s not quite a path, just a direct reference to ReplicatedStorage, so we ignore it.

Let’s say it finds the shared path “ReplicatedStorage.Modules”; that’s a path (one or more . or [""]), so we create the shared path variable.

Just like how you can choose two different casings for modules and services, I’d like to be able to control the shared path variable casing.

Yes, please re-add it. :slight_smile:

:+1:

1 Like