Sublime Forum

MXS (Max Script) Suport

#1

Hi,

Is there anyone who has looked at opportunities to get support for the MXS (Max Script) to the Sublime Text Editor?

I have not investigated this much yet, but this should probably be able to do, but i dont have any xml/plist experience.
There is already an language defenition file to notepad++ (Notepad++ MXS Language Definition by by Ofer Zelichover - oferz.com) with the following files:

userDefineLang.xml - the maxscript syntax highlighter definitions.

- <NotepadPlus>
- <UserLang name="MaxScript" ext="ms mcr">
- <Settings>
  <Global caseIgnored="yes" /> 
  <TreatAsSymbol comment="no" commentLine="yes" /> 
  <Prefix words1="no" words2="no" words3="no" words4="no" /> 
  </Settings>
- <KeywordLists>
  <Keywords name="Delimiters">"00"00</Keywords> 
  <Keywords name="Folder+" /> 
  <Keywords name="Folder-" /> 
  <Keywords name="Operators">! " * . \ _ + < = ></Keywords> 
  <Keywords name="Comment">1/* 1 2*/ 2 0--</Keywords> 
  <Keywords name="Words1">and as at by case catch continue do else exit fn for from function global if in local macroscript mapped not of off on or random return select set then throw to try when where while with</Keywords> 
  <Keywords name="Words2">rollout subRollout slider button spinner checkbox checkButton pickButton radioButtons activeXControl messagebox querybox yesNoCancelBox disableSceneRedraw enableSceneRedraw forceCompleteRedraw redrawViews rcmenu createDialog destroyDialog groupBox label editText closeRolloutFloater addRollout removeRollout dropDownList listBox multiListBox colorPicker timer progressBar open entered changed selected pressed selectionEnd doubleClicked picked clicked buttondown buttonup tick resized mousedown mouseup click dblclick mouseover mouseout selChanged ptChanged tangentChanged deleted reset ColumnClick</Keywords> 
  <Keywords name="Words3">append collect findItem join delete group deleteItem loadMaxFile getMaxOpenFilename getFilenameFile fileProperties close openFile include getSavePath createFile resetMaxFile getOpenFilename getSaveFileName skipToString eof seek skipToString readLine skipToNextLine filePos flush readValue readExpr execute deleteFile readChar readChars readDelimitedString doesFileExist mergeMaxFile saveMaxFile exportFile getFiles renameFile maxVersion fetchMaxFile holdMaxFile enumerateFiles classOf subAnim material textureMap numSubs isKindOf superClassOf freeSceneBitmaps getMeditMaterial getNumSubMtls animate coordsys cloneNodes intersectRay isGroupHead isGroupMember isValidNode maxOps rotate scale spaceWarpObject sliderTime filterString stringStream format print getFilenamePath findString replace subString filenameFromPath getFileModDate readDelimitedString trimLeft trimRight openLog flushLog closeLog clearListener</Keywords> 
  <Keywords name="Words4">about parameters persistent plugin struct tool undo utility DOSCommand floor collapseStack saveNodes gc addModifier timeStamp localTime makeDir actionMan undefined unsupplied</Keywords> 
  </KeywordLists>
- <Styles>
  <WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="C9C9C9" fontName="" fontStyle="0" /> 
  <WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000000" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000000" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="KEYWORD1" styleID="5" fgColor="800000" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="KEYWORD2" styleID="6" fgColor="000080" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="KEYWORD3" styleID="7" fgColor="004000" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="KEYWORD4" styleID="8" fgColor="400040" bgColor="C9C9C9" fontName="" fontStyle="1" /> 
  <WordsStyle name="COMMENT" styleID="1" fgColor="008040" bgColor="C9C9C9" fontName="" fontStyle="2" /> 
  <WordsStyle name="COMMENT LINE" styleID="2" fgColor="008040" bgColor="C9C9C9" fontName="" fontStyle="2" /> 
  <WordsStyle name="NUMBER" styleID="4" fgColor="0000FF" bgColor="C9C9C9" fontName="" fontStyle="0" /> 
  <WordsStyle name="OPERATOR" styleID="10" fgColor="884400" bgColor="C9C9C9" fontName="" fontStyle="0" /> 
  <WordsStyle name="DELIMINER1" styleID="14" fgColor="C41111" bgColor="C9C9C9" fontName="" fontStyle="0" /> 
  <WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="C9C9C9" fontName="" fontStyle="0" /> 
  <WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" /> 
  </Styles>
  </UserLang>
  </NotepadPlus>

insertExt.ini - the maxscript function list definitions.

[Function List]
Visible=0
dockable=0
Show all functions=0
Sort by names=0
PointX 1=1045
PointY 1=105
PointX 2=1245
PointY 2=529
showCmd=3
dock left=0
[Insert Extesion]
doCloseTag=0
[User Languages]
Count User Languages=1
Name 1=MaxScript
KeyWBodyBeg 1=\<if\>|\<for\>|\<while\>
KeyWBodyEnd 1=
MatchCase 1=0
Count Comment 1=1
Comment P1.1.1=--
Comment P2.1.1=
Comment P1.2.1=/*
Comment P2.2.1=*/
Comment P1.3.1=
Comment P2.3.1=
Count Syntax 1=2
Syntax P1.1.1=\t ]+fn\t ]+
Syntax P2.1.1=
Syntax P3.1.1=[a-zA-Z0-9_-]*
Syntax P4.1.1=
Syntax P5.1.1=
Syntax P6.1.1=
Syntax P1.2.1=\t ]*function\t ]+
Syntax P2.2.1=
Syntax P3.2.1=[a-zA-Z0-9_-]*
Syntax P4.2.1=
Syntax P5.2.1=
Syntax P6.2.1=
[Explorer]
Selected Tab=0
Explorer Path=C:\Documents and Settings\Ofer\My Documents\MaxScript\Develop\timeTracker\timeTracker\
Explorer Path Expanded=1
Favourites Path=
Favourites Path  Expanded=0
Favourites Count=0
Visible=0
PointX 1=846
PointY 1=90
PointX 2=1212
PointY 2=597
[HEX-Editor]
Columns=16
Bits=1
Binary=0
Little=0
Capitel=0
Extensions=

maxscript.api - maxscript ketwords for the auto-complete feature (using ctrl+space).

and 
as 
at 
by 
case 
catch 
continue 
do 
else 
exit 
fn 
for 
from 
function 
global 
if 
in
local 
macroscript 
mapped 
not 
of 
off 
on 
or 
random 
return 
select 
set 
then 
throw
to 
try 
when 
where 
while 
with
rollout 
subRollout 
slider 
button 
spinner 
checkbox 
checkButton 
pickButton 
radioButtons 
activeXControl 
messagebox 
querybox
yesNoCancelBox 
disableSceneRedraw 
enableSceneRedraw 
forceCompleteRedraw 
redrawViews
rcmenu 
createDialog 
destroyDialog 
groupBox 
label 
editText 
closeRolloutFloater
addRollout 
removeRollout 
dropDownList 
listBox 
multiListBox 
colorPicker 
timer 
progressBar
open 
entered 
changed 
selected 
pressed 
selectionEnd 
doubleClicked 
picked 
clicked 
buttondown 
buttonup 
tick
mousedown 
mouseup 
click 
dblclick 
mouseover 
mouseout
selChanged 
ptChanged 
tangentChanged 
deleted reset
append 
collect 
findItem 
join 
delete 
group 
deleteItem
loadMaxFile 
getMaxOpenFilename 
getFilenameFile 
fileProperties 
close 
openFile
include 
getSavePath 
createFile 
resetMaxFile 
getOpenFilename 
getSaveFileName 
skipToString
eof 
seek 
skipToString 
readLine 
skipToNextLine 
filePos 
flush 
readValue 
readExpr 
execute
deleteFile 
readChar 
readChars 
readDelimitedString 
doesFileExist 
mergeMaxFile 
saveMaxFile
exportFile 
getFiles 
renameFile 
maxVersion 
fetchMaxFile 
holdMaxFile
enumerateFiles 
classOf 
subAnim 
material 
textureMap 
numSubs 
isKindOf 
superClassOf
freeSceneBitmaps 
getMeditMaterial 
getNumSubMtls
animate 
coordsys 
cloneNodes 
intersectRay 
isGroupHead 
isGroupMember
isValidNode 
maxOps 
rotate 
scale 
spaceWarpObject 
sliderTime
filterString 
stringStream 
format 
print 
getFilenamePath 
findString 
replace 
subString
filenameFromPath 
getFileModDate 
readDelimitedString 
trimLeft 
trimRight 
openLog 
flushLog
closeLog 
clearListener
about 
parameters 
persistent 
plugin 
struct 
tool 
undo 
utility 
DOSCommand 
floor 
collapseStack
saveNodes 
gc 
addModifier 
timeStamp 
localTime 
makeDir 
actionMan

Have any of you tips, tricks and suggestions around this to get it work with sublime, they would have been received with great thanks.

0 Likes

No auto-reload for sym-linked Packages/Preferences
#2

Bump.

C’mon developers… There is a huge MaxScript community that has been waiting for ages to have a decent code editor.
I assure you this new editor of yours would be instantly adopted by a legion of 3dsMax coders…

Just take a look at ScriptSpot, or the MaxScript sections on CGSociety and Autodesk Area to see the huge amount of potencial users.
You would be the only alternative to the oficial editor, that now is a poor adaptation of the Scitilla Text Editor.
This SublimeText2 is way better than that, so you’ld be the only real professional option on the market.

0 Likes