Changeset 38227 for lang/javascript

Show
Ignore:
Timestamp:
08/09/10 01:35:03 (3 years ago)
Author:
drry
Message:
  • 正規表現を修正しました。
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/twittperator.js

    r38226 r38227  
    2929  <description>Twitter Client using ChirpStream</description> 
    3030  <description lang="ja">OAuth対応Twitterクライアント</description> 
    31   <version>1.0.8</version> 
     31  <version>1.0.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1</version> 
    3232  <minVersion>2.3</minVersion> 
    3333  <maxVersion>2.4</maxVersion> 
     
    7979    == FAQ == 
    8080    - なんて読むんだ 
    81         知らん。トゥイットゥペレータと自分は勝手に読んでいる 
     81        知らん。トゥイットゥペレータと自分は勝手に読んでいる 
    8282    - 何のためのクライアント? 
    8383        Vimperatorを使っていて、さくっと呟きたいとき用です(ぉ 
     
    8888    - ぶっちゃけTL表示とか面倒だよね? 
    8989        はい、がんばります・・・ 
    90         でかい表示領域と行の折り返し方法が確立できれば、もっと頑張れる気がします 
     90        でかい表示領域と行の折り返し方法が確立できれば、もっと頑張れる気がします 
    9191    - Growl GNTP との連携しないの? 
    9292        プラグイン書きましょう。 
     
    297297    , 
    298298        getParameter: function getParameter(parameters, name) { 
    299             if (parameters instanceof Array) { 
    300                 for (var p = 0; p < parameters.length; ++p) { 
    301                     if (parameters[p][0] == name) { 
    302                         return parameters[p][1]; // first value wins 
    303                     } 
     299            if (!parameters instanceof Array) { 
     300                return OAuth.getParameterMap(parameters)[name]; 
     301            } 
     302            for (var p = 0; p < parameters.length; ++p) { 
     303                if (parameters[p][0] == name) { 
     304                    return parameters[p][1]; // first value wins 
    304305                } 
    305             } else { 
    306                 return OAuth.getParameterMap(parameters)[name]; 
    307306            } 
    308307            return null; 
     
    911910            accessor.token && accessor.tokenSecret) { 
    912911          return true; 
    913         }else{ 
    914           return false; 
    915         } 
     912        } 
     913        return false; 
    916914      }, 
    917915      getAccessor: function() { 
     
    11221120            } 
    11231121            return tmp.join(arg_separator); 
    1124           } else if (typeof val !== "function") { 
     1122          } 
     1123          if (typeof val !== "function") { 
    11251124            return self.urlEncode(key) + "=" + self.urlEncode(val); 
    1126           } else { 
    1127             throw new Error("There was an error processing for http_build_query()."); 
    11281125          } 
     1126          throw new Error("There was an error processing for http_build_query()."); 
    11291127        } 
    11301128 
     
    11491147        if (str.indexOf("?", 0) > -1) str = str.split("?")[1]; 
    11501148        str = str.split("&"); 
    1151         for (var i = 0; str.length > i; i++){ 
     1149        for (var i = 0; str.length > i; i++) { 
    11521150          itm = str[i].split("="); 
    11531151          if (itm[0] != "") { 
     
    11661164  let ChirpUserStream = (function() { 
    11671165    function extractURL(s) 
    1168       let (m = s.match(/https?:\/\/[\S]+/)) 
     1166      let (m = s.match(/https?:\/\/\S+/)) 
    11691167        (m && m[0]); 
    11701168 
     
    12471245 
    12481246          let data = sis.read(len); 
    1249           let lines = data.split(/\n/); 
     1247          let lines = data.split(/\r\n|[\r\n]/); 
    12501248          if (lines.length > 2) { 
    12511249            lines[0] = buf + lines[0]; 
     
    12591257            buf += data; 
    12601258          } 
    1261         } catch (e if /NS_ERROR_NET_RESET|NS_BASE_STREAM_CLOSED/(e)) { 
     1259        } catch (e if /^(?:NS_ERROR_NET_RESET|NS_BASE_STREAM_CLOSED)$/(e)) { 
    12621260          liberator.echoerr('Twittperator: ChirpStream was stopped by ' + e.name + '.'); 
    12631261          restart(); 
     
    12911289      stop: stop, 
    12921290      addListener: function(func) listeners.push(func), 
    1293       removeListener: function(func) (listeners = listeners.filter(function (l) (l != func))) 
     1291      removeListener: function(func) (listeners = listeners.filter(function(l) (l != func))) 
    12941292    }; 
    12951293  })(); // }}} 
     
    13181316  function showTL(s) { // {{{ 
    13191317    function userURL(name) 
    1320       ("https://twitter.com/" + name); 
     1318      ("http" + (setting.showTLWithHTTPURL ? "" : "s") + "://twitter.com/" + name); 
    13211319 
    13221320    let html = <style type="text/css"><![CDATA[ 
     
    13631361    liberator.echo(html, true); 
    13641362  } // }}} 
    1365   function detectLink (str) { // {{{ 
     1363  function detectLink(str) { // {{{ 
    13661364    let m = str.match(/https?:\/\/\S+/); 
    13671365    if (m) { 
     
    13911389  } // }}} 
    13921390  function getFollowersStatus(target, force, onload) { // {{{ 
    1393     function setRefresher(){ 
     1391    function setRefresher() { 
    13941392      expiredStatus = false; 
    13951393      if (statusRefreshTimer) 
     
    14831481  } // }}} 
    14841482  function openLink(text) { // {{{ 
    1485     let m = text.match(/.*?(https?:\/\/[\S]+)/g); 
     1483    let m = text.match(/.*?(https?:\/\/\S+)/g); 
    14861484    if (!m) 
    14871485      return; 
    14881486 
    14891487    let links = 
    1490       m.map(function (s) s.match(/^(.*?)(https?:\/\/[\S]+)/).slice(1)) . 
    1491         map(function (ss) (ss.reverse(), ss.map(String.trim))) 
     1488      m.map(function(s) s.match(/^(.*?)(https?:\/\/\S+)/).slice(1)) . 
     1489        map(function(ss) (ss.reverse(), ss.map(String.trim))) 
    14921490    selectAndOpenLink(links); 
    14931491  } // }}} 
     
    15651563          return RegExp( 
    15661564            '^' + 
    1567             this.command.map(function (c) 
     1565            this.command.map(function(c) 
    15681566              let (r = util.escapeRegex(c)) 
    1569                 (/^[\W]$/(c) ? r : r + ' ') 
    1570             ).join(/|/) 
     1567                (/^\W$/(c) ? r : r + ' ') 
     1568            ).join("|" /* /|/ */) 
    15711569          ); 
    15721570        }, 
     
    16811679        if (m = args.literalArg.match(/(RT\s+)@.*$/)) { 
    16821680          Completers.name_id_text(context, args); 
    1683         } else if (m = tailMatch(/(^|[\b\s])@[^@]*/, args.literalArg)) { 
     1681        } else if (m = tailMatch(/(?:^|\b|\s)@[^@]*/, args.literalArg)) { 
    16841682          (m.index === 0 ? Completers.name_id : Completers.name)(context, args); 
    16851683        } 
     
    17331731 
    17341732          let matches = args.bang ? args.literalArg.match(/^(\s*[-+?])/) 
    1735                                   : args.literalArg.match(/(RT\s|)@/); 
     1733                                  : args.literalArg.match(/(RT\s+|)@/); 
    17361734          if (!args.bang && !matches) 
    17371735            return; 
     
    17811779      statusValidDuration: parseInt(gv.twitperator_status_valid_duration || 90), 
    17821780      historyLimit: let (v = gv.twittperator_history_limit) (v === 0 ? 0 : (v || 1000)), 
     1781      showTLWithHTTPURL: gv.twittperator_show_tl_with_http_url, 
    17831782    }); 
    17841783 
     
    18081807    ChirpUserStream.start(); 
    18091808 
    1810   __context__.onUnload = function () { 
     1809  __context__.onUnload = function() { 
    18111810    accessor.set("history", history); 
    18121811    ChirpUserStream.stop();