home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexvim.zip / VIMCAP.CMD < prev   
OS/2 REXX Batch file  |  1994-07-18  |  3KB  |  113 lines

  1. /** Rexx Program to Query VIM Capabilities **/
  2. ARG TYPE
  3.  
  4. /* Unload functions upon error */
  5. SIGNAL ON ERROR NAME done
  6.  
  7. if LENGTH(STRIP(type)) = 0 then do
  8.    Say
  9.    Say 'Incorrect Syntax!  Correct syntax is:'
  10.    Say
  11.    Say 'VIMCAP < Capability to query | ALL'
  12.    Say
  13.    Say 'VIMCAP ALL will query all VIM functions'
  14.    Say
  15.    return
  16. end  /* Do */
  17.  
  18. TYPE = TRANSLATE(STRIP(TYPE))
  19. if TYPE = 'ALL' then do
  20.   call LoadVIMCap
  21.   doall = TRUE
  22. end  /* Do */
  23. else
  24.   doall = FALSE
  25.  
  26. call RxFuncAdd 'RxVIMLoadFuncs', 'REXXVIM', 'RxVIMLoadFuncs'
  27. call RxVIMLoadFuncs
  28. rc = RxVIMInitialize()
  29. Say
  30. Say '|-Capability----------------------Value------------------------------------|'
  31.  
  32. if doall = TRUE then do
  33.    do count=1 to vimcap.0
  34.       TYPE = TRANSLATE(STRIP(vimcap.count))
  35.       rc = RxVIMQueryCapability(TYPE,'Query')
  36.    if rc>0 then signal VIMERR
  37.       Say ' 'LEFT(TYPE||':',30)'  ' SUBSTR(Query,1,30)
  38.    end /* do */
  39. end  /* Do */
  40. else do
  41.    rc = RxVIMQueryCapability(TYPE,'Query')
  42.    if rc>0 then signal VIMERR
  43.    Say ' 'LEFT(TYPE||':',30)'  ' SUBSTR(Query,1,30)
  44.    Say
  45. end  /* Do */
  46.  
  47. rc = RxVIMTerminate()
  48. /*** Drop all of the external functions ***/
  49. call RxVIMDropFuncs
  50. Say '|--------------------------------------------------------------------------|'
  51. Say 'Demo Complete.  All functions released'
  52. 'pause'
  53. exit
  54.  
  55. /***** VIMErr *******/
  56. VIMERR:
  57.  
  58. rc = RxVIMStatusText(rc,'Status')
  59. Say
  60. Say '|-Error Information -----------------|'
  61. Say '  Error Text:' status.1
  62. Say
  63. if LENGTH(STRIP(status.2)) > 0 then
  64.    Say '  Ext Status:' status.2
  65. rc = RxVIMTerminate()
  66.  
  67. DONE:
  68. /*** Drop all of the external functions ***/
  69. call RxVIMDropFuncs
  70. Say '|------------------------------------|'
  71. Say 'Demo Complete.  All functions released'
  72. exit
  73.  
  74. /****** Load all VIM Capabilities into stem variable *****/
  75. LOADVIMCAP:
  76.  
  77. vimcap.0    =  32
  78. vimcap.1    =  "VIMSEL_VERSION"
  79. vimcap.2    =  "VIMSEL_IMPLEMENTATION"
  80. vimcap.3    =  "VIMSEL_IMPLEMENTATION_VERSION"
  81. vimcap.4    =  "VIMSEL_PRODUCT"
  82. vimcap.5    =  "VIMSEL_MAX_SUBJECT_LEN"
  83. vimcap.6    =  "VIMSEL_MAX_TYPE_LEN"
  84. vimcap.7    =  "VIMSEL_MAX_TEXT_LEN"
  85. vimcap.8    =  "VIMSEL_RTF"
  86. vimcap.9    =  "VIMSEL_FAX"
  87. vimcap.10   =  "VIMSEL_STYLED"
  88. vimcap.11   =  "VIMSEL_PICT"
  89. vimcap.12   =  "VIMSEL_MOVIE"
  90. vimcap.13   =  "VIMSEL_IMAG"
  91. vimcap.14   =  "VIMSEL_UNWRAPPED_TEXT"
  92. vimcap.15   =  "VIMSEL_ALL_NOTE_PARTS_SUPP"
  93. vimcap.16   =  "VIMSEL_ATTACH_TYPE_SUPP"
  94. vimcap.17   =  "VIMSEL_ATTACH_DIRS"
  95. vimcap.18   =  "VIMSEL_ENCRYPT"
  96. vimcap.19   =  "VIMSEL_ENCRYPT_WITH_KEY"
  97. vimcap.20   =  "VIMSEL_SIGN"
  98. vimcap.21   =  "VIMSEL_NSTD_DERIVED_REPLIES"
  99. vimcap.22   =  "VIMSEL_NSTD_DERIVED_FORWRDS"
  100. vimcap.23   =  "VIMSEL_CP850"
  101. vimcap.24   =  "VIMSEL_CP1252"
  102. vimcap.25   =  "VIMSEL_CP437"
  103. vimcap.26   =  "VIMSEL_LMBCS"
  104. vimcap.27   =  "VIMSEL_ISTRING"
  105. vimcap.28   =  "VIMSEL_UNICODE"
  106. vimcap.29   =  "VIMSEL_APPLESINGLE"
  107. vimcap.30   =  "VIMSEL_PATH_REQUIRED"
  108. vimcap.31   =  "VIMSEL_NAME_REQUIRED"
  109. vimcap.32   =  "VIMSEL_PASS_REQUIRED"
  110.                                                      
  111.                                              
  112. return
  113.