Makopo / sublime-text-lsl

Syntax definitions for LSL(Linden Scripting Language) in Second Life and OSSL(OpenSimulator Scripting Language) in OpenSimulator.
31 stars 4 forks source link

LSL.sublime-completions #2

Closed ghost closed 11 years ago

ghost commented 11 years ago

A few LSL constants never stand alone, but always with a value together. That's why they should be grouped together like:


...

{ "trigger": "CAMERA_ACTIVE", "contents": ", ${1:integer isActive}, $0" }, { "trigger": "CAMERA_BEHINDNESS_ANGLE", "contents": ", ${1:float degrees}, $0" }, { "trigger": "CAMERA_BEHINDNESS_LAG", "contents": ", ${1:float seconds}, $0" }, { "trigger": "CAMERA_DISTANCE", "contents": ", ${1:float meters}, $0" }, { "trigger": "CAMERA_FOCUS", "contents": ", ${1:vector position}, $0" }, { "trigger": "CAMERA_FOCUS_LAG", "contents": ", ${1:float seconds}, $0" }, { "trigger": "CAMERA_FOCUS_LOCKED", "contents": ", ${1:integer isLocked}, $0" }, { "trigger": "CAMERA_FOCUS_OFFSET", "contents": ", ${1:vector meters}, $0" }, { "trigger": "CAMERA_FOCUS_THRESHOLD", "contents": ", ${1:float meters}, $0" }, { "trigger": "CAMERA_PITCH", "contents": ", ${1:float degrees}, $0" }, { "trigger": "CAMERA_POSITION", "contents": ", ${1:vector position}, $0" }, { "trigger": "CAMERA_POSITION_LAG", "contents": ", ${1:float seconds}, $0" }, { "trigger": "CAMERA_POSITION_LOCKED", "contents": ", ${1:integer isLocked}, $0" }, { "trigger": "CAMERA_POSITION_THRESHOLD", "contents": ", ${1:float meters}, $0" },

...

{ "trigger": "CHARACTER_AVOIDANCE_MODE", "contents": ", ${1:integer flags}, $0" },

...

{ "trigger": "CHARACTER_DESIRED_SPEED", "contents": ", ${1:float speed}, $0" }, { "trigger": "CHARACTER_DESIRED_TURN_SPEED", "contents": ", ${1:float speed}, $0" }, { "trigger": "CHARACTER_LENGTH", "contents": ", ${1:float length}, $0" },

...

{ "trigger": "CHARACTER_MAX_TURN_RADIUS", "contents": ", ${1:float radius}, $0" }, { "trigger": "CHARACTER_ORIENTATION", "contents": ", ${1:integer orientation}, $0" }, { "trigger": "CHARACTER_RADIUS", "contents": ", ${1:float radius}, $0" }, { "trigger": "CHARACTER_TYPE", "contents": ", ${1:integer type}, $0" },

...

{ "trigger": "HTTP_BODY_MAXLENGTH", "contents": ", ${1:integer length}, $0" }, "HTTP_BODY_TRUNCATED", { "trigger": "HTTP_CUSTOM_HEADER", "contents": ", ${1:string name}, ${2:string value}, $0" }, { "trigger": "HTTP_METHOD", "contents": ", ${1:string method}, $0" }, { "trigger": "HTTP_MIMETYPE", "contents": ", ${1:string mimeType}, $0" }, { "trigger": "HTTP_PRAGMA_NO_CACHE", "contents": ", ${1:integer send_header}, $0" }, { "trigger": "HTTP_VERBOSE_THROTTLE", "contents": ", ${1:integer noisy}, $0" }, { "trigger": "HTTP_VERIFY_CERT", "contents": ", ${1:integer verify}, $0" },

...

{ "trigger": "RC_DATA_FLAGS", "contents": ", ${1:integer flags}, $0" }, { "trigger": "RC_DETECT_PHANTOM", "contents": ", ${1:integer dectedPhantom}, $0" }, "RC_GET_LINK_NUM", "RC_GET_NORMAL", "RC_GET_ROOT_KEY", { "trigger": "RC_MAX_HITS", "contents": ", ${1:integer maxHits}, $0" }, "RC_REJECT_AGENTS", "RC_REJECT_LAND", "RC_REJECT_NONPHYSICAL", "RC_REJECT_PHYSICAL", { "trigger": "RC_REJECT_TYPES", "contents": ", ${1:integer filterMask}, $0" },

...

Makopo commented 11 years ago

I tested it simply with my OSX SublimeText2. The result is: completion1 completion2

Anyway, I think it would be confusable to user if the completion behavior varies for each constants, even if it saves a few typing.

ghost commented 11 years ago

Sorry, it should've been

"string": "...", "append": "...",

instead of

"trigger": "...", "contents": "...",

for the code above. Compare Issue #3, it's in my latest comment there.

Makopo commented 11 years ago

In general, Sublime Text 2 completion syntax is different from those of TextMate. For example, you can't use "string .. append".

I doubt that you have actually tested with Sublime Text 2 before submitting codes. Please test throughly with Sublime Text 2 before posting code or pull request.