sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Notepad++ SU8 Ruby API Autocomplete

    Scheduled Pinned Locked Moved Developers' Forum
    62 Posts 12 Posters 13.9k Views 12 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • thomthomT Offline
      thomthom
      last edited by

      Revision 3 - 01.02.2011
      Rebuilt the list from scratch. Used only the classes and methods from Ruby 1.8.6 and SketchUp API. (The old file seemed to have lots of Ruby On Rails references.)

      Thomas Thomassen — SketchUp Monkey & Coding addict
      List of my plugins and link to the CookieWare fund

      1 Reply Last reply Reply Quote 0
      • Dan RathbunD Offline
        Dan Rathbun
        last edited by

        Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

        Examples:

        Math::PI

        File::SEPARATOR

        Sketchup::Drawingelement

        UI::Toolbar

        etc. ??

        I'm not here much anymore.

        1 Reply Last reply Reply Quote 0
        • Dan RathbunD Offline
          Dan Rathbun
          last edited by

          I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis. Notepad++ got confused and took them to be a parameter (argument) list.

          I'm not here much anymore.

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            @dan rathbun said:

            I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

            ❓

            @dan rathbun said:

            Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

            Yes, it's possible. Some Ruby classes are listed like that. File for instance. (Just ripped it directly from the docs.)
            Is there a list of available?

            (I just ripped the class names and methods from the Ruby docs and SU docs - without further processing.) So constants and nesting is missing.

            Thomas Thomassen — SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

            1 Reply Last reply Reply Quote 0
            • Dan RathbunD Offline
              Dan Rathbun
              last edited by

              @thomthom said:

              @dan rathbun said:

              I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

              ❓

              These are the ones that caused problems (but the ver 3 does not have them.)

              old_NPP_autocomplete.png

              I'm not here much anymore.

              1 Reply Last reply Reply Quote 0
              • Dan RathbunD Offline
                Dan Rathbun
                last edited by

                @thomthom said:

                @dan rathbun said:

                Do you it's possible to have whole qualified classnames and constants in the AutoComplete?

                Is there a list of available?

                Both ver 2, and the original (Didier's version?) have fully qualified classes that you can cut and paste from.

                For constants we'll have to compile a list.

                I'm not here much anymore.

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  @dan rathbun said:

                  @thomthom said:

                  @dan rathbun said:

                  I noticed in the old list certain entries did not work correctly where the module name followed the keyword in paranthesis.

                  ❓

                  These are the ones that caused problems (but the ver 3 does not have them.)

                  [attachment=0:ef22v8uz]<!-- ia0 -->old_NPP_autocomplete.png<!-- ia0 -->[/attachment:ef22v8uz]

                  Oh! Didn't noticed that.

                  @dan rathbun said:

                  Both ver 2, and the original (Didier's version?) have fully qualified classes that you can cut and paste from.

                  Ah, yea. I did that manually for v2.

                  Thomas Thomassen — SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • Dan RathbunD Offline
                    Dan Rathbun
                    last edited by

                    Here's the 1.8.6 constant list for the Errno module, on the PC:

                    For PC (note! OSX SystemCallError subclasses may differ.)

                    		<Keyword name="Errno;;E2BIG"/>
                    		<Keyword name="Errno;;E2BIG;;Errno"/>
                    		<Keyword name="Errno;;EACCES"/>
                    		<Keyword name="Errno;;EACCES;;Errno"/>
                    		<Keyword name="Errno;;EADDRINUSE"/>
                    		<Keyword name="Errno;;EADDRINUSE;;Errno"/>
                    		<Keyword name="Errno;;EADDRNOTAVAIL"/>
                    		<Keyword name="Errno;;EADDRNOTAVAIL;;Errno"/>
                    		<Keyword name="Errno;;EAFNOSUPPORT"/>
                    		<Keyword name="Errno;;EAFNOSUPPORT;;Errno"/>
                    		<Keyword name="Errno;;EAGAIN"/>
                    		<Keyword name="Errno;;EAGAIN;;Errno"/>
                    		<Keyword name="Errno;;EALREADY"/>
                    		<Keyword name="Errno;;EALREADY;;Errno"/>
                    		<Keyword name="Errno;;EBADF"/>
                    		<Keyword name="Errno;;EBADF;;Errno"/>
                    		<Keyword name="Errno;;EBUSY"/>
                    		<Keyword name="Errno;;EBUSY;;Errno"/>
                    		<Keyword name="Errno;;ECHILD"/>
                    		<Keyword name="Errno;;ECHILD;;Errno"/>
                    		<Keyword name="Errno;;ECONNABORTED"/>
                    		<Keyword name="Errno;;ECONNABORTED;;Errno"/>
                    		<Keyword name="Errno;;ECONNREFUSED"/>
                    		<Keyword name="Errno;;ECONNREFUSED;;Errno"/>
                    		<Keyword name="Errno;;ECONNRESET"/>
                    		<Keyword name="Errno;;ECONNRESET;;Errno"/>
                    		<Keyword name="Errno;;EDEADLK"/>
                    		<Keyword name="Errno;;EDEADLK;;Errno"/>
                    		<Keyword name="Errno;;EDEADLOCK"/>
                    		<Keyword name="Errno;;EDEADLOCK;;Errno"/>
                    		<Keyword name="Errno;;EDESTADDRREQ"/>
                    		<Keyword name="Errno;;EDESTADDRREQ;;Errno"/>
                    		<Keyword name="Errno;;EDOM"/>
                    		<Keyword name="Errno;;EDOM;;Errno"/>
                    		<Keyword name="Errno;;EDQUOT"/>
                    		<Keyword name="Errno;;EDQUOT;;Errno"/>
                    		<Keyword name="Errno;;EEXIST"/>
                    		<Keyword name="Errno;;EEXIST;;Errno"/>
                    		<Keyword name="Errno;;EFAULT"/>
                    		<Keyword name="Errno;;EFAULT;;Errno"/>
                    		<Keyword name="Errno;;EFBIG"/>
                    		<Keyword name="Errno;;EFBIG;;Errno"/>
                    		<Keyword name="Errno;;EHOSTDOWN"/>
                    		<Keyword name="Errno;;EHOSTDOWN;;Errno"/>
                    		<Keyword name="Errno;;EHOSTUNREACH"/>
                    		<Keyword name="Errno;;EHOSTUNREACH;;Errno"/>
                    		<Keyword name="Errno;;EILSEQ"/>
                    		<Keyword name="Errno;;EILSEQ;;Errno"/>
                    		<Keyword name="Errno;;EINPROGRESS"/>
                    		<Keyword name="Errno;;EINPROGRESS;;Errno"/>
                    		<Keyword name="Errno;;EINTR"/>
                    		<Keyword name="Errno;;EINTR;;Errno"/>
                    		<Keyword name="Errno;;EINVAL"/>
                    		<Keyword name="Errno;;EINVAL;;Errno"/>
                    		<Keyword name="Errno;;EIO"/>
                    		<Keyword name="Errno;;EIO;;Errno"/>
                    		<Keyword name="Errno;;EISCONN"/>
                    		<Keyword name="Errno;;EISCONN;;Errno"/>
                    		<Keyword name="Errno;;EISDIR"/>
                    		<Keyword name="Errno;;EISDIR;;Errno"/>
                    		<Keyword name="Errno;;ELOOP"/>
                    		<Keyword name="Errno;;ELOOP;;Errno"/>
                    		<Keyword name="Errno;;EMFILE"/>
                    		<Keyword name="Errno;;EMFILE;;Errno"/>
                    		<Keyword name="Errno;;EMLINK"/>
                    		<Keyword name="Errno;;EMLINK;;Errno"/>
                    		<Keyword name="Errno;;EMSGSIZE"/>
                    		<Keyword name="Errno;;EMSGSIZE;;Errno"/>
                    		<Keyword name="Errno;;ENAMETOOLONG"/>
                    		<Keyword name="Errno;;ENAMETOOLONG;;Errno"/>
                    		<Keyword name="Errno;;ENETDOWN"/>
                    		<Keyword name="Errno;;ENETDOWN;;Errno"/>
                    		<Keyword name="Errno;;ENETRESET"/>
                    		<Keyword name="Errno;;ENETRESET;;Errno"/>
                    		<Keyword name="Errno;;ENETUNREACH"/>
                    		<Keyword name="Errno;;ENETUNREACH;;Errno"/>
                    		<Keyword name="Errno;;ENFILE"/>
                    		<Keyword name="Errno;;ENFILE;;Errno"/>
                    		<Keyword name="Errno;;ENOBUFS"/>
                    		<Keyword name="Errno;;ENOBUFS;;Errno"/>
                    		<Keyword name="Errno;;ENODEV"/>
                    		<Keyword name="Errno;;ENODEV;;Errno"/>
                    		<Keyword name="Errno;;ENOENT"/>
                    		<Keyword name="Errno;;ENOENT;;Errno"/>
                    		<Keyword name="Errno;;ENOEXEC"/>
                    		<Keyword name="Errno;;ENOEXEC;;Errno"/>
                    		<Keyword name="Errno;;ENOLCK"/>
                    		<Keyword name="Errno;;ENOLCK;;Errno"/>
                    		<Keyword name="Errno;;ENOMEM"/>
                    		<Keyword name="Errno;;ENOMEM;;Errno"/>
                    		<Keyword name="Errno;;ENOPROTOOPT"/>
                    		<Keyword name="Errno;;ENOPROTOOPT;;Errno"/>
                    		<Keyword name="Errno;;ENOSPC"/>
                    		<Keyword name="Errno;;ENOSPC;;Errno"/>
                    		<Keyword name="Errno;;ENOSYS"/>
                    		<Keyword name="Errno;;ENOSYS;;Errno"/>
                    		<Keyword name="Errno;;ENOTCONN"/>
                    		<Keyword name="Errno;;ENOTCONN;;Errno"/>
                    		<Keyword name="Errno;;ENOTDIR"/>
                    		<Keyword name="Errno;;ENOTDIR;;Errno"/>
                    		<Keyword name="Errno;;ENOTEMPTY"/>
                    		<Keyword name="Errno;;ENOTEMPTY;;Errno"/>
                    		<Keyword name="Errno;;ENOTSOCK"/>
                    		<Keyword name="Errno;;ENOTSOCK;;Errno"/>
                    		<Keyword name="Errno;;ENOTTY"/>
                    		<Keyword name="Errno;;ENOTTY;;Errno"/>
                    		<Keyword name="Errno;;ENXIO"/>
                    		<Keyword name="Errno;;ENXIO;;Errno"/>
                    		<Keyword name="Errno;;EOPNOTSUPP"/>
                    		<Keyword name="Errno;;EOPNOTSUPP;;Errno"/>
                    		<Keyword name="Errno;;EPERM"/>
                    		<Keyword name="Errno;;EPERM;;Errno"/>
                    		<Keyword name="Errno;;EPFNOSUPPORT"/>
                    		<Keyword name="Errno;;EPFNOSUPPORT;;Errno"/>
                    		<Keyword name="Errno;;EPIPE"/>
                    		<Keyword name="Errno;;EPIPE;;Errno"/>
                    		<Keyword name="Errno;;EPROTONOSUPPORT"/>
                    		<Keyword name="Errno;;EPROTONOSUPPORT;;Errno"/>
                    		<Keyword name="Errno;;EPROTOTYPE"/>
                    		<Keyword name="Errno;;EPROTOTYPE;;Errno"/>
                    		<Keyword name="Errno;;ERANGE"/>
                    		<Keyword name="Errno;;ERANGE;;Errno"/>
                    		<Keyword name="Errno;;EREMOTE"/>
                    		<Keyword name="Errno;;EREMOTE;;Errno"/>
                    		<Keyword name="Errno;;EROFS"/>
                    		<Keyword name="Errno;;EROFS;;Errno"/>
                    		<Keyword name="Errno;;ESHUTDOWN"/>
                    		<Keyword name="Errno;;ESHUTDOWN;;Errno"/>
                    		<Keyword name="Errno;;ESOCKTNOSUPPORT"/>
                    		<Keyword name="Errno;;ESOCKTNOSUPPORT;;Errno"/>
                    		<Keyword name="Errno;;ESPIPE"/>
                    		<Keyword name="Errno;;ESPIPE;;Errno"/>
                    		<Keyword name="Errno;;ESRCH"/>
                    		<Keyword name="Errno;;ESRCH;;Errno"/>
                    		<Keyword name="Errno;;ESTALE"/>
                    		<Keyword name="Errno;;ESTALE;;Errno"/>
                    		<Keyword name="Errno;;ETIMEDOUT"/>
                    		<Keyword name="Errno;;ETIMEDOUT;;Errno"/>
                    		<Keyword name="Errno;;ETOOMANYREFS"/>
                    		<Keyword name="Errno;;ETOOMANYREFS;;Errno"/>
                    		<Keyword name="Errno;;EUSERS"/>
                    		<Keyword name="Errno;;EUSERS;;Errno"/>
                    		<Keyword name="Errno;;EWOULDBLOCK"/>
                    		<Keyword name="Errno;;EWOULDBLOCK;;Errno"/>
                    		<Keyword name="Errno;;EXDEV"/>
                    		<Keyword name="Errno;;EXDEV;;Errno"/>
                    
                    

                    output via: Ruby console and type (one-liner):
                    Errno.constants.sort.each {|e| puts %Q[\t\t<Keyword name="Errno::#{e}"/>\n\t\t<Keyword name="Errno::#{e}::Errno"/>\n] }
                    Then copy and paste into the ruby.xml file for Notepad++

                    I'm not here much anymore.

                    1 Reply Last reply Reply Quote 0
                    • Dan RathbunD Offline
                      Dan Rathbun
                      last edited by

                      Here's the 1.8.6 constant list for the File module:

                      		<KeyWord name="File;;ALT_SEPARATOR"/>
                      		<KeyWord name="File;;APPEND"/>
                      		<KeyWord name="File;;BINARY"/>
                      		<KeyWord name="File;;CREAT"/>
                      		<KeyWord name="File;;Constants;;APPEND"/>
                      		<KeyWord name="File;;Constants;;BINARY"/>
                      		<KeyWord name="File;;Constants;;CREAT"/>
                      		<KeyWord name="File;;Constants;;EXCL"/>
                      		<KeyWord name="File;;Constants;;FNM_CASEFOLD"/>
                      		<KeyWord name="File;;Constants;;FNM_DOTMATCH"/>
                      		<KeyWord name="File;;Constants;;FNM_NOESCAPE"/>
                      		<KeyWord name="File;;Constants;;FNM_PATHNAME"/>
                      		<KeyWord name="File;;Constants;;FNM_SYSCASE"/>
                      		<KeyWord name="File;;Constants;;LOCK_EX"/>
                      		<KeyWord name="File;;Constants;;LOCK_NB"/>
                      		<KeyWord name="File;;Constants;;LOCK_SH"/>
                      		<KeyWord name="File;;Constants;;LOCK_UN"/>
                      		<KeyWord name="File;;Constants;;NONBLOCK"/>
                      		<KeyWord name="File;;Constants;;RDONLY"/>
                      		<KeyWord name="File;;Constants;;RDWR"/>
                      		<KeyWord name="File;;Constants;;TRUNC"/>
                      		<KeyWord name="File;;Constants;;WRONLY"/>
                      		<KeyWord name="File;;EXCL"/>
                      		<KeyWord name="File;;FNM_CASEFOLD"/>
                      		<KeyWord name="File;;FNM_DOTMATCH"/>
                      		<KeyWord name="File;;FNM_NOESCAPE"/>
                      		<KeyWord name="File;;FNM_PATHNAME"/>
                      		<KeyWord name="File;;FNM_SYSCASE"/>
                      		<KeyWord name="File;;LOCK_EX"/>
                      		<KeyWord name="File;;LOCK_NB"/>
                      		<KeyWord name="File;;LOCK_SH"/>
                      		<KeyWord name="File;;LOCK_UN"/>
                      		<KeyWord name="File;;NONBLOCK"/>
                      		<KeyWord name="File;;PATH_SEPARATOR"/>
                      		<KeyWord name="File;;RDONLY"/>
                      		<KeyWord name="File;;RDWR"/>
                      		<KeyWord name="File;;SEEK_CUR"/>
                      		<KeyWord name="File;;SEEK_END"/>
                      		<KeyWord name="File;;SEEK_SET"/>
                      		<KeyWord name="File;;SEPARATOR"/>
                      		<KeyWord name="File;;Separator"/>
                      		<KeyWord name="File;;TRUNC"/>
                      		<KeyWord name="File;;WRONLY"/>
                      
                      

                      I'm not here much anymore.

                      1 Reply Last reply Reply Quote 0
                      • Dan RathbunD Offline
                        Dan Rathbun
                        last edited by

                        Here's the 1.8.6 constant list for the Float class:

                        		<Keyword name="Float;;DIG"/>
                        		<Keyword name="Float;;EPSILON"/>
                        		<Keyword name="Float;;MANT_DIG"/>
                        		<Keyword name="Float;;MAX"/>
                        		<Keyword name="Float;;MAX_10_EXP"/>
                        		<Keyword name="Float;;MAX_EXP"/>
                        		<Keyword name="Float;;MIN"/>
                        		<Keyword name="Float;;MIN_10_EXP"/>
                        		<Keyword name="Float;;MIN_EXP"/>
                        		<Keyword name="Float;;RADIX"/>
                        		<Keyword name="Float;;ROUNDS"/>
                        
                        

                        I'm not here much anymore.

                        1 Reply Last reply Reply Quote 0
                        • Dan RathbunD Offline
                          Dan Rathbun
                          last edited by

                          Here's the 1.8.6 constant list for the IO class:

                          		<Keyword name="IO;;APPEND"/>
                          		<Keyword name="IO;;BINARY"/>
                          		<Keyword name="IO;;CREAT"/>
                          		<Keyword name="IO;;EXCL"/>
                          		<Keyword name="IO;;FNM_CASEFOLD"/>
                          		<Keyword name="IO;;FNM_DOTMATCH"/>
                          		<Keyword name="IO;;FNM_NOESCAPE"/>
                          		<Keyword name="IO;;FNM_PATHNAME"/>
                          		<Keyword name="IO;;FNM_SYSCASE"/>
                          		<Keyword name="IO;;LOCK_EX"/>
                          		<Keyword name="IO;;LOCK_NB"/>
                          		<Keyword name="IO;;LOCK_SH"/>
                          		<Keyword name="IO;;LOCK_UN"/>
                          		<Keyword name="IO;;NONBLOCK"/>
                          		<Keyword name="IO;;RDONLY"/>
                          		<Keyword name="IO;;RDWR"/>
                          		<Keyword name="IO;;SEEK_CUR"/>
                          		<Keyword name="IO;;SEEK_END"/>
                          		<Keyword name="IO;;SEEK_SET"/>
                          		<Keyword name="IO;;TRUNC"/>
                          		<Keyword name="IO;;WRONLY"/>
                          
                          

                          I'm not here much anymore.

                          1 Reply Last reply Reply Quote 0
                          • Dan RathbunD Offline
                            Dan Rathbun
                            last edited by

                            Here's the 1.8.6 constant list AND class methods for the Marshal module:

                            		<Keyword name="Marshal;;MAJOR_VERSION"/>
                            		<Keyword name="Marshal;;MINOR_VERSION"/>
                            		<Keyword name="Marshal;;dump" func="yes">
                            			<Overload retVal="String" descr="Returns String result of serializing obj and all descendent objects.">
                            				<Param name="~Object obj" />
                            			</Overload>
                            			<Overload retVal="~IO" descr="Returns io_obj, after writing to it, the serialized data for obj and all descendent objects.">
                            				<Param name="~Object obj" />
                            				<Param name="~IO io_obj" />
                            			</Overload>
                            			<Overload retVal="~IO" descr="Returns io_obj, after writing to it, the serialized data for obj and the descendent objects limited to the specified depth (if non-negative. Default depth=-1)">
                            				<Param name="~Object obj" />
                            				<Param name="~IO io_obj" />
                            				<Param name="~Integer depth" />
                            			</Overload>
                            		</KeyWord>
                            		<Keyword name="Marshal;;load" func="yes">
                            			<Overload retVal="~Object" descr="Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str().">
                            				<Param name="~IO|^String source" />
                            			</Overload>
                            			<Overload retVal="~Object" descr="Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str(). If proc_obj is specified, it will be passed each object as it is deserialized.">
                            				<Param name="~IO|^String source" />
                            				<Param name="Proc proc_obj" />
                            			</Overload>
                            		</KeyWord>
                            		<Keyword name="Marshal;;restore" func="yes">
                            			<Overload retVal="~Object" descr="Alias for Marshal;;load() Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str().">
                            				<Param name="~IO|^String source" />
                            			</Overload>
                            			<Overload retVal="~Object" descr="Alias for Marshal;;load() Returns the result of converting the serialized data in source into a Ruby object (possibly with associated subordinate objects). source may be either an instance of IO or an object that responds to to_str(). If proc_obj is specified, it will be passed each object as it is deserialized.">
                            				<Param name="~IO|^String source" />
                            				<Param name="Proc proc_obj" />
                            			</Overload>
                            		</KeyWord>
                            
                            

                            As an experiment, in parameters, I used:
                            "~" to denote "this class or subclass"
                            "^" to denote "implictly convertable to" (which would include the class and any subclasses.)

                            for ex: ^Integer would mean: " Integer class, subclass, or object that implements a to_i() method."

                            I'm not here much anymore.

                            1 Reply Last reply Reply Quote 0
                            • D Offline
                              driven
                              last edited by

                              Hi Dan,

                              This is the sort of thing I want to check in SU ruby on the mac,
                              Your first snip seems to bring up loads more methods than what your posting, are you editing yours down?

                              I'd like to do more, but adding the code to get the extra bits is beyond me.

                              Would you mind sharing Marshal snippet, and will that work with all modules?

                              Is the a 1.8.6 module that simply didn't exist at all in 1.8.5 that I could test for?

                              cheers

                              john

                              	<Keyword name="File;;FNM_CASEFOLD;;File"/>
                              		<Keyword name="File;;FNM_DOTMATCH"/>
                              		<Keyword name="File;;FNM_DOTMATCH;;File"/>
                              		<Keyword name="File;;FNM_NOESCAPE"/>
                              		<Keyword name="File;;FNM_NOESCAPE;;File"/>
                              		<Keyword name="File;;FNM_PATHNAME"/>
                              		<Keyword name="File;;FNM_PATHNAME;;File"/>
                              		<Keyword name="File;;FNM_SYSCASE"/>
                              		<Keyword name="File;;FNM_SYSCASE;;File"/>
                              		<Keyword name="File;;LOCK_EX"/>
                              		<Keyword name="File;;LOCK_EX;;File"/>
                              		<Keyword name="File;;LOCK_NB"/>
                              		<Keyword name="File;;LOCK_NB;;File"/>
                              		<Keyword name="File;;LOCK_SH"/>
                              		<Keyword name="File;;LOCK_SH;;File"/>
                              		<Keyword name="File;;LOCK_UN"/>
                              		<Keyword name="File;;LOCK_UN;;File"/>
                              		<Keyword name="File;;NOCTTY"/>
                              		<Keyword name="File;;NOCTTY;;File"/>
                              		<Keyword name="File;;NONBLOCK"/>
                              		<Keyword name="File;;NONBLOCK;;File"/>
                              		<Keyword name="File;;PATH_SEPARATOR"/>
                              		<Keyword name="File;;PATH_SEPARATOR;;File"/>
                              		<Keyword name="File;;RDONLY"/>
                              		<Keyword name="File;;RDONLY;;File"/>
                              		<Keyword name="File;;RDWR"/>
                              		<Keyword name="File;;RDWR;;File"/>
                              		<Keyword name="File;;SEEK_CUR"/>
                              		<Keyword name="File;;SEEK_CUR;;File"/>
                              		<Keyword name="File;;SEEK_END"/>
                              		<Keyword name="File;;SEEK_END;;File"/>
                              		<Keyword name="File;;SEEK_SET"/>
                              		<Keyword name="File;;SEEK_SET;;File"/>
                              		<Keyword name="File;;SEPARATOR"/>
                              		<Keyword name="File;;SEPARATOR;;File"/>
                              		<Keyword name="File;;SYNC"/>
                              		<Keyword name="File;;SYNC;;File"/>
                              		<Keyword name="File;;Separator"/>
                              		<Keyword name="File;;Separator;;File"/>
                              		<Keyword name="File;;Stat"/>
                              		<Keyword name="File;;Stat;;File"/>
                              		<Keyword name="File;;TRUNC"/>
                              		<Keyword name="File;;TRUNC;;File"/>
                              		<Keyword name="File;;WRONLY"/>
                              		<Keyword name="File;;WRONLY;;File"/>
                              ["ALT_SEPARATOR", "APPEND", "CREAT", "Constants", "EXCL", "FNM_CASEFOLD", "FNM_DOTMATCH", "FNM_NOESCAPE", "FNM_PATHNAME", "FNM_SYSCASE", "LOCK_EX", "LOCK_NB", "LOCK_SH", "LOCK_UN", "NOCTTY", "NONBLOCK", "PATH_SEPARATOR", "RDONLY", "RDWR", "SEEK_CUR", "SEEK_END", "SEEK_SET", "SEPARATOR", "SYNC", "Separator", "Stat", "TRUNC", "WRONLY"]
                              
                              

                              learn from the mistakes of others, you may not live long enough to make them all yourself...

                              1 Reply Last reply Reply Quote 0
                              • thomthomT Offline
                                thomthom
                                last edited by

                                Thanks Dan for posting this.

                                Thomas Thomassen — SketchUp Monkey & Coding addict
                                List of my plugins and link to the CookieWare fund

                                1 Reply Last reply Reply Quote 0
                                • thomthomT Offline
                                  thomthom
                                  last edited by

                                  Btw, I think I'll upload the list to BitBucket. I'll do that later today.

                                  Thomas Thomassen — SketchUp Monkey & Coding addict
                                  List of my plugins and link to the CookieWare fund

                                  1 Reply Last reply Reply Quote 0
                                  • thomthomT Offline
                                    thomthom
                                    last edited by

                                    Moved files into a BitBucket repository: https://bitbucket.org/thomthom/notepad-sketchup-autocomplete/

                                    Thomas Thomassen — SketchUp Monkey & Coding addict
                                    List of my plugins and link to the CookieWare fund

                                    1 Reply Last reply Reply Quote 0
                                    • Dan RathbunD Offline
                                      Dan Rathbun
                                      last edited by

                                      @driven said:

                                      This is the sort of thing I want to check in SU ruby on the mac,
                                      Your first snip seems to bring up loads more methods than what your posting, ...

                                      "methods" ?? The snippet lists Constants. You mean this snippet ??
                                      Errno.constants.sort.each {|e| puts %Q[\t\t<Keyword name="Errno::#{e}"/>\n\t\t<Keyword name="Errno::#{e}::Errno"/>\n] } 

                                      @driven said:

                                      ... are you editing yours down?

                                      NO .. BUT the Errno module is created dynamically by Ruby at startup, and MAY DIFFERfrom platform to platform (ie, from one Operating System to another.)

                                      The count on the PC is 73 Constants within Errno module (pointing at SystemCallError exception subclass instances,) each of whom have a local constant Errno that wraps their private instance method errno(). SO a grandtotal of 146 module Errno constants on the PC.

                                      Just to be on the safe side.. and to be sure that Global Constants (defined in Object,) are not propagating into the Errno module, in Ruby 1.8.5 .... use the following snippet, and post the results here in a code box, please.

                                      (Errno.constants.sort-Object.constants.sort).each {|e| puts %Q[\t\t<Keyword name="Errno::#{e}"/>\n\t\t<Keyword name="Errno::#{e}::Errno"/>\n] }

                                      I'm not here much anymore.

                                      1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        driven
                                        last edited by

                                        here it is, I'm running these through Ruby Console, so aren't they shielded from external globals? and I know I still get names messed about, sorry.. john

                                        >> (Errno.constants.sort-Object.constants.sort).each {|e| puts %Q[\t\t<Keyword name="Errno;;#{e}"/>\n\t\t<Keyword name="Errno;;#{e};;Errno"/>\n] }
                                        		<Keyword name="Errno;;E2BIG"/>
                                        		<Keyword name="Errno;;E2BIG;;Errno"/>
                                        		<Keyword name="Errno;;EACCES"/>
                                        		<Keyword name="Errno;;EACCES;;Errno"/>
                                        		<Keyword name="Errno;;EADDRINUSE"/>
                                        		<Keyword name="Errno;;EADDRINUSE;;Errno"/>
                                        		<Keyword name="Errno;;EADDRNOTAVAIL"/>
                                        		<Keyword name="Errno;;EADDRNOTAVAIL;;Errno"/>
                                        		<Keyword name="Errno;;EAFNOSUPPORT"/>
                                        		<Keyword name="Errno;;EAFNOSUPPORT;;Errno"/>
                                        		<Keyword name="Errno;;EAGAIN"/>
                                        		<Keyword name="Errno;;EAGAIN;;Errno"/>
                                        		<Keyword name="Errno;;EALREADY"/>
                                        		<Keyword name="Errno;;EALREADY;;Errno"/>
                                        		<Keyword name="Errno;;EBADF"/>
                                        		<Keyword name="Errno;;EBADF;;Errno"/>
                                        		<Keyword name="Errno;;EBADMSG"/>
                                        		<Keyword name="Errno;;EBADMSG;;Errno"/>
                                        		<Keyword name="Errno;;EBUSY"/>
                                        		<Keyword name="Errno;;EBUSY;;Errno"/>
                                        		<Keyword name="Errno;;ECHILD"/>
                                        		<Keyword name="Errno;;ECHILD;;Errno"/>
                                        		<Keyword name="Errno;;ECONNABORTED"/>
                                        		<Keyword name="Errno;;ECONNABORTED;;Errno"/>
                                        		<Keyword name="Errno;;ECONNREFUSED"/>
                                        		<Keyword name="Errno;;ECONNREFUSED;;Errno"/>
                                        		<Keyword name="Errno;;ECONNRESET"/>
                                        		<Keyword name="Errno;;ECONNRESET;;Errno"/>
                                        		<Keyword name="Errno;;EDEADLK"/>
                                        		<Keyword name="Errno;;EDEADLK;;Errno"/>
                                        		<Keyword name="Errno;;EDESTADDRREQ"/>
                                        		<Keyword name="Errno;;EDESTADDRREQ;;Errno"/>
                                        		<Keyword name="Errno;;EDOM"/>
                                        		<Keyword name="Errno;;EDOM;;Errno"/>
                                        		<Keyword name="Errno;;EDQUOT"/>
                                        		<Keyword name="Errno;;EDQUOT;;Errno"/>
                                        		<Keyword name="Errno;;EEXIST"/>
                                        		<Keyword name="Errno;;EEXIST;;Errno"/>
                                        		<Keyword name="Errno;;EFAULT"/>
                                        		<Keyword name="Errno;;EFAULT;;Errno"/>
                                        		<Keyword name="Errno;;EFBIG"/>
                                        		<Keyword name="Errno;;EFBIG;;Errno"/>
                                        		<Keyword name="Errno;;EHOSTDOWN"/>
                                        		<Keyword name="Errno;;EHOSTDOWN;;Errno"/>
                                        		<Keyword name="Errno;;EHOSTUNREACH"/>
                                        		<Keyword name="Errno;;EHOSTUNREACH;;Errno"/>
                                        		<Keyword name="Errno;;EIDRM"/>
                                        		<Keyword name="Errno;;EIDRM;;Errno"/>
                                        		<Keyword name="Errno;;EILSEQ"/>
                                        		<Keyword name="Errno;;EILSEQ;;Errno"/>
                                        		<Keyword name="Errno;;EINPROGRESS"/>
                                        		<Keyword name="Errno;;EINPROGRESS;;Errno"/>
                                        		<Keyword name="Errno;;EINTR"/>
                                        		<Keyword name="Errno;;EINTR;;Errno"/>
                                        		<Keyword name="Errno;;EINVAL"/>
                                        		<Keyword name="Errno;;EINVAL;;Errno"/>
                                        		<Keyword name="Errno;;EIO"/>
                                        		<Keyword name="Errno;;EIO;;Errno"/>
                                        		<Keyword name="Errno;;EISCONN"/>
                                        		<Keyword name="Errno;;EISCONN;;Errno"/>
                                        		<Keyword name="Errno;;EISDIR"/>
                                        		<Keyword name="Errno;;EISDIR;;Errno"/>
                                        		<Keyword name="Errno;;ELOOP"/>
                                        		<Keyword name="Errno;;ELOOP;;Errno"/>
                                        		<Keyword name="Errno;;EMFILE"/>
                                        		<Keyword name="Errno;;EMFILE;;Errno"/>
                                        		<Keyword name="Errno;;EMLINK"/>
                                        		<Keyword name="Errno;;EMLINK;;Errno"/>
                                        		<Keyword name="Errno;;EMSGSIZE"/>
                                        		<Keyword name="Errno;;EMSGSIZE;;Errno"/>
                                        		<Keyword name="Errno;;EMULTIHOP"/>
                                        		<Keyword name="Errno;;EMULTIHOP;;Errno"/>
                                        		<Keyword name="Errno;;ENAMETOOLONG"/>
                                        		<Keyword name="Errno;;ENAMETOOLONG;;Errno"/>
                                        		<Keyword name="Errno;;ENETDOWN"/>
                                        		<Keyword name="Errno;;ENETDOWN;;Errno"/>
                                        		<Keyword name="Errno;;ENETRESET"/>
                                        		<Keyword name="Errno;;ENETRESET;;Errno"/>
                                        		<Keyword name="Errno;;ENETUNREACH"/>
                                        		<Keyword name="Errno;;ENETUNREACH;;Errno"/>
                                        		<Keyword name="Errno;;ENFILE"/>
                                        		<Keyword name="Errno;;ENFILE;;Errno"/>
                                        		<Keyword name="Errno;;ENOBUFS"/>
                                        		<Keyword name="Errno;;ENOBUFS;;Errno"/>
                                        		<Keyword name="Errno;;ENODATA"/>
                                        		<Keyword name="Errno;;ENODATA;;Errno"/>
                                        		<Keyword name="Errno;;ENODEV"/>
                                        		<Keyword name="Errno;;ENODEV;;Errno"/>
                                        		<Keyword name="Errno;;ENOENT"/>
                                        		<Keyword name="Errno;;ENOENT;;Errno"/>
                                        		<Keyword name="Errno;;ENOEXEC"/>
                                        		<Keyword name="Errno;;ENOEXEC;;Errno"/>
                                        		<Keyword name="Errno;;ENOLCK"/>
                                        		<Keyword name="Errno;;ENOLCK;;Errno"/>
                                        		<Keyword name="Errno;;ENOLINK"/>
                                        		<Keyword name="Errno;;ENOLINK;;Errno"/>
                                        		<Keyword name="Errno;;ENOMEM"/>
                                        		<Keyword name="Errno;;ENOMEM;;Errno"/>
                                        		<Keyword name="Errno;;ENOMSG"/>
                                        		<Keyword name="Errno;;ENOMSG;;Errno"/>
                                        		<Keyword name="Errno;;ENOPROTOOPT"/>
                                        		<Keyword name="Errno;;ENOPROTOOPT;;Errno"/>
                                        		<Keyword name="Errno;;ENOSPC"/>
                                        		<Keyword name="Errno;;ENOSPC;;Errno"/>
                                        		<Keyword name="Errno;;ENOSR"/>
                                        		<Keyword name="Errno;;ENOSR;;Errno"/>
                                        		<Keyword name="Errno;;ENOSTR"/>
                                        		<Keyword name="Errno;;ENOSTR;;Errno"/>
                                        		<Keyword name="Errno;;ENOSYS"/>
                                        		<Keyword name="Errno;;ENOSYS;;Errno"/>
                                        		<Keyword name="Errno;;ENOTBLK"/>
                                        		<Keyword name="Errno;;ENOTBLK;;Errno"/>
                                        		<Keyword name="Errno;;ENOTCONN"/>
                                        		<Keyword name="Errno;;ENOTCONN;;Errno"/>
                                        		<Keyword name="Errno;;ENOTDIR"/>
                                        		<Keyword name="Errno;;ENOTDIR;;Errno"/>
                                        		<Keyword name="Errno;;ENOTEMPTY"/>
                                        		<Keyword name="Errno;;ENOTEMPTY;;Errno"/>
                                        		<Keyword name="Errno;;ENOTSOCK"/>
                                        		<Keyword name="Errno;;ENOTSOCK;;Errno"/>
                                        		<Keyword name="Errno;;ENOTTY"/>
                                        		<Keyword name="Errno;;ENOTTY;;Errno"/>
                                        		<Keyword name="Errno;;ENXIO"/>
                                        		<Keyword name="Errno;;ENXIO;;Errno"/>
                                        		<Keyword name="Errno;;EOPNOTSUPP"/>
                                        		<Keyword name="Errno;;EOPNOTSUPP;;Errno"/>
                                        		<Keyword name="Errno;;EOVERFLOW"/>
                                        		<Keyword name="Errno;;EOVERFLOW;;Errno"/>
                                        		<Keyword name="Errno;;EPERM"/>
                                        		<Keyword name="Errno;;EPERM;;Errno"/>
                                        		<Keyword name="Errno;;EPFNOSUPPORT"/>
                                        		<Keyword name="Errno;;EPFNOSUPPORT;;Errno"/>
                                        		<Keyword name="Errno;;EPIPE"/>
                                        		<Keyword name="Errno;;EPIPE;;Errno"/>
                                        		<Keyword name="Errno;;EPROTO"/>
                                        		<Keyword name="Errno;;EPROTO;;Errno"/>
                                        		<Keyword name="Errno;;EPROTONOSUPPORT"/>
                                        		<Keyword name="Errno;;EPROTONOSUPPORT;;Errno"/>
                                        		<Keyword name="Errno;;EPROTOTYPE"/>
                                        		<Keyword name="Errno;;EPROTOTYPE;;Errno"/>
                                        		<Keyword name="Errno;;ERANGE"/>
                                        		<Keyword name="Errno;;ERANGE;;Errno"/>
                                        		<Keyword name="Errno;;EREMOTE"/>
                                        		<Keyword name="Errno;;EREMOTE;;Errno"/>
                                        		<Keyword name="Errno;;EROFS"/>
                                        		<Keyword name="Errno;;EROFS;;Errno"/>
                                        		<Keyword name="Errno;;ESHUTDOWN"/>
                                        		<Keyword name="Errno;;ESHUTDOWN;;Errno"/>
                                        		<Keyword name="Errno;;ESOCKTNOSUPPORT"/>
                                        		<Keyword name="Errno;;ESOCKTNOSUPPORT;;Errno"/>
                                        		<Keyword name="Errno;;ESPIPE"/>
                                        		<Keyword name="Errno;;ESPIPE;;Errno"/>
                                        		<Keyword name="Errno;;ESRCH"/>
                                        		<Keyword name="Errno;;ESRCH;;Errno"/>
                                        		<Keyword name="Errno;;ESTALE"/>
                                        		<Keyword name="Errno;;ESTALE;;Errno"/>
                                        		<Keyword name="Errno;;ETIME"/>
                                        		<Keyword name="Errno;;ETIME;;Errno"/>
                                        		<Keyword name="Errno;;ETIMEDOUT"/>
                                        		<Keyword name="Errno;;ETIMEDOUT;;Errno"/>
                                        		<Keyword name="Errno;;ETOOMANYREFS"/>
                                        		<Keyword name="Errno;;ETOOMANYREFS;;Errno"/>
                                        		<Keyword name="Errno;;ETXTBSY"/>
                                        		<Keyword name="Errno;;ETXTBSY;;Errno"/>
                                        		<Keyword name="Errno;;EUSERS"/>
                                        		<Keyword name="Errno;;EUSERS;;Errno"/>
                                        		<Keyword name="Errno;;EWOULDBLOCK"/>
                                        		<Keyword name="Errno;;EWOULDBLOCK;;Errno"/>
                                        		<Keyword name="Errno;;EXDEV"/>
                                        		<Keyword name="Errno;;EXDEV;;Errno"/>
                                        ["E2BIG", "EACCES", "EADDRINUSE", "EADDRNOTAVAIL", "EAFNOSUPPORT", "EAGAIN", "EALREADY", "EBADF", "EBADMSG", "EBUSY", "ECHILD", "ECONNABORTED", "ECONNREFUSED", "ECONNRESET", "EDEADLK", "EDESTADDRREQ", "EDOM", "EDQUOT", "EEXIST", "EFAULT", "EFBIG", "EHOSTDOWN", "EHOSTUNREACH", "EIDRM", "EILSEQ", "EINPROGRESS", "EINTR", "EINVAL", "EIO", "EISCONN", "EISDIR", "ELOOP", "EMFILE", "EMLINK", "EMSGSIZE", "EMULTIHOP", "ENAMETOOLONG", "ENETDOWN", "ENETRESET", "ENETUNREACH", "ENFILE", "ENOBUFS", "ENODATA", "ENODEV", "ENOENT", "ENOEXEC", "ENOLCK", "ENOLINK", "ENOMEM", "ENOMSG", "ENOPROTOOPT", "ENOSPC", "ENOSR", "ENOSTR", "ENOSYS", "ENOTBLK", "ENOTCONN", "ENOTDIR", "ENOTEMPTY", "ENOTSOCK", "ENOTTY", "ENXIO", "EOPNOTSUPP", "EOVERFLOW", "EPERM", "EPFNOSUPPORT", "EPIPE", "EPROTO", "EPROTONOSUPPORT", "EPROTOTYPE", "ERANGE", "EREMOTE", "EROFS", "ESHUTDOWN", "ESOCKTNOSUPPORT", "ESPIPE", "ESRCH", "ESTALE", "ETIME", "ETIMEDOUT", "ETOOMANYREFS", "ETXTBSY", "EUSERS", "EWOULDBLOCK", "EXDEV"]
                                        
                                        
                                        

                                        learn from the mistakes of others, you may not live long enough to make them all yourself...

                                        1 Reply Last reply Reply Quote 0
                                        • Dan RathbunD Offline
                                          Dan Rathbun
                                          last edited by

                                          @driven said:

                                          Would you mind sharing Marshal snippet, and will that work with all modules?

                                          I'm not sure what you are asking for.

                                          Marshal::constants.sort
                                          >> ["MAJOR_VERSION", "MINOR_VERSION"]

                                          Marshal::singleton_methods.sort
                                          >> ["dump", "load", "restore"]

                                          The Marshal module has been part of Standard Ruby since the very early days. It's listed in the old "Pick-Axe" book which was Ruby circa 1.6.x


                                          By the way.. can Safari open a CHM (Compiled HTML Help Markup,) file natively without a plugin ??

                                          If so.. you should get at least the Reference for v1.8.6 in this post.
                                          ~

                                          I'm not here much anymore.

                                          1 Reply Last reply Reply Quote 0
                                          • Dan RathbunD Offline
                                            Dan Rathbun
                                            last edited by

                                            @driven said:

                                            here it is, ...

                                            Looks like there are 85 of them on the Mac (thanks John.)

                                            @driven said:

                                            ...I'm running these through Ruby Console, so aren't they shielded from external globals?

                                            HELL NO. The Ruby Console runs WITHIN Object, anything you define there becomes global. That's why it's dangerous to define methods in the console.. they get inherited by ALL objects.

                                            I'm not here much anymore.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement