sekka 1.5.7 → 1.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION.yml +1 -1
- data/emacs/sekka.el +94 -16
- data/lib/sekka/sekkaversion.rb +1 -1
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60bdf6a44d924978bd822a1964693ba999eb0032
|
4
|
+
data.tar.gz: 9da6c58564582ae7bc4e0e4c4c16e388a1487c48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0e777364bf1e07232486b74b3e50bb552ce774d7492920ee0869b430eee72f741a8967fdcd2a8e0f092a0adc367ac96cec2a25a51f017bc426fc1c41085e9a
|
7
|
+
data.tar.gz: 5a2964f084b8f1c8dc488e7c82e5ed6b08e99f232d95c1c42b9727add922093db317d8b79c7347da9b516636c1005312477c7dbd6b0683b89d42f19e6c44278f
|
data/VERSION.yml
CHANGED
data/emacs/sekka.el
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
;; Copyright (C) 2010-2014 Kiyoka Nishiyama
|
4
4
|
;;
|
5
5
|
;; Author: Kiyoka Nishiyama <kiyoka@sumibi.org>
|
6
|
-
;; Version: 1.5.
|
6
|
+
;; Version: 1.5.8 ;;SEKKA-VERSION
|
7
7
|
;; Keywords: ime, skk, japanese
|
8
8
|
;; Package-Requires: ((cl-lib "0.3") (concurrent "0.3.1") (popup "0.5.0"))
|
9
9
|
;; URL: https://github.com/kiyoka/sekka
|
@@ -82,6 +82,11 @@
|
|
82
82
|
:type 'string
|
83
83
|
:group 'sekka)
|
84
84
|
|
85
|
+
(defcustom sekka-use-curl t
|
86
|
+
"non-nil でcurlコマンドを使う。nilでEmacs Lisp(url.elを使う)"
|
87
|
+
:type 'boolean
|
88
|
+
:group 'sekka)
|
89
|
+
|
85
90
|
(defcustom sekka-curl "curl"
|
86
91
|
"curlコマンドの絶対パスを設定する"
|
87
92
|
:type 'string
|
@@ -208,6 +213,8 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
208
213
|
(goto-char (point-max))
|
209
214
|
(insert string)))))
|
210
215
|
|
216
|
+
;; HTTPクライアントの多重起動防止用
|
217
|
+
(defvar sekka-busy 0)
|
211
218
|
|
212
219
|
;;; 現在のsekka-serverの接続先
|
213
220
|
(defvar current-sekka-server-url nil)
|
@@ -378,7 +385,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
378
385
|
result)))
|
379
386
|
(let ((arg-alist
|
380
387
|
(cons
|
381
|
-
`(userid . ,sekka-login-name)
|
388
|
+
`("userid" . ,sekka-login-name)
|
382
389
|
arg-alist)))
|
383
390
|
(or
|
384
391
|
(one-request func-name arg-alist)
|
@@ -397,7 +404,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
397
404
|
(list "--noproxy" sekka-no-proxy-hosts)
|
398
405
|
nil)
|
399
406
|
(sekka-construct-curl-argstr (cons
|
400
|
-
'(format . "sexp")
|
407
|
+
'("format" . "sexp")
|
401
408
|
arg-alist))))
|
402
409
|
(buffername "*sekka-output*")
|
403
410
|
(result ""))
|
@@ -429,12 +436,74 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
429
436
|
"henkan"
|
430
437
|
'(
|
431
438
|
("yomi" . "Nihon")
|
432
|
-
(limit
|
433
|
-
(method
|
439
|
+
("limit" . "1")
|
440
|
+
("method" . "normal")
|
434
441
|
("userid" . "kiyoka")))
|
435
442
|
)
|
436
443
|
|
437
|
-
|
444
|
+
|
445
|
+
(defun sekka-url-http-post (url args)
|
446
|
+
"Send ARGS to URL as a POST request."
|
447
|
+
(progn
|
448
|
+
(setq url-request-method "POST")
|
449
|
+
(setq url-http-version "1.0")
|
450
|
+
(setq url-request-extra-headers
|
451
|
+
'(("Content-Type" . "application/x-www-form-urlencoded")))
|
452
|
+
(setq url-request-data
|
453
|
+
(mapconcat (lambda (arg)
|
454
|
+
(concat (url-hexify-string (car arg))
|
455
|
+
"="
|
456
|
+
(url-hexify-string (cdr arg))))
|
457
|
+
args
|
458
|
+
"&"))
|
459
|
+
(let* ((lines
|
460
|
+
(let ((buf (url-retrieve-synchronously url)))
|
461
|
+
(sekka-debug-print (buffer-name buf))
|
462
|
+
(sekka-debug-print "\n")
|
463
|
+
(if buf
|
464
|
+
(with-current-buffer buf
|
465
|
+
(decode-coding-string
|
466
|
+
(let ((str (buffer-substring-no-properties (point-min) (point-max))))
|
467
|
+
(sekka-debug-print (format "http result code:%s\n" url-http-response-status))
|
468
|
+
(sekka-debug-print (format "(%d-%d) eoh=%s\n" (point-min) (point-max) url-http-end-of-headers))
|
469
|
+
(sekka-debug-print (format "<<<%s>>>\n" str))
|
470
|
+
str)
|
471
|
+
'utf-8))
|
472
|
+
(list "curl: (7) Couldn't connect to host 'localhost'")))) ;; Emulate curl error.
|
473
|
+
(line-list
|
474
|
+
(split-string lines "\n")))
|
475
|
+
|
476
|
+
(car (reverse line-list)))))
|
477
|
+
|
478
|
+
;;
|
479
|
+
;; http request function with pure emacs
|
480
|
+
;; (no proxy supported)
|
481
|
+
(defun sekka-rest-request-by-pure (func-name arg-alist)
|
482
|
+
(setq sekka-busy (+ sekka-busy 1))
|
483
|
+
(sekka-debug-print (format "sekka-busy=%d\n" sekka-busy))
|
484
|
+
(let* ((arg-alist
|
485
|
+
(cons
|
486
|
+
'("format" . "sexp")
|
487
|
+
arg-alist))
|
488
|
+
(result
|
489
|
+
(sekka-url-http-post
|
490
|
+
(concat current-sekka-server-url func-name)
|
491
|
+
arg-alist)))
|
492
|
+
(setq sekka-busy (- sekka-busy 1))
|
493
|
+
(sekka-debug-print (format "sekka-busy=%d\n" sekka-busy))
|
494
|
+
result))
|
495
|
+
|
496
|
+
(when nil
|
497
|
+
;; unit test
|
498
|
+
(setq sekka-login-name (user-login-name))
|
499
|
+
(setq current-sekka-server-url "http://localhost:12929/")
|
500
|
+
(sekka-rest-request-by-pure
|
501
|
+
"henkan"
|
502
|
+
'(
|
503
|
+
("yomi" . "Nihon")
|
504
|
+
("limit" . "1")
|
505
|
+
("method" . "normal")
|
506
|
+
("userid" . "kiyoka"))))
|
438
507
|
|
439
508
|
(defun sekka-rest-request-sub (func-name arg-alist)
|
440
509
|
(if sekka-psudo-server
|
@@ -452,7 +521,11 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
452
521
|
;; "(\"初回起動\", \"諸快気堂\", \"諸開基堂\", \"しょかいきどう\", \"ショカイキドウ\")"
|
453
522
|
))
|
454
523
|
;; 実際のサーバに接続する
|
455
|
-
(
|
524
|
+
(cond
|
525
|
+
(sekka-use-curl
|
526
|
+
(sekka-rest-request-by-curl func-name arg-alist))
|
527
|
+
(t
|
528
|
+
(sekka-rest-request-by-pure func-name arg-alist)))))
|
456
529
|
|
457
530
|
;;
|
458
531
|
;; 現在時刻をUNIXタイムを返す(単位は秒)
|
@@ -476,9 +549,9 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
476
549
|
(sekka-debug-print (format "henkan-send :[%s]\n" yomi))
|
477
550
|
|
478
551
|
(let (
|
479
|
-
(result (sekka-rest-request "henkan" `((yomi . ,yomi)
|
480
|
-
(limit . ,(format "%d" limit))
|
481
|
-
(method . ,sekka-roman-method)))))
|
552
|
+
(result (sekka-rest-request "henkan" `(("yomi" . ,yomi)
|
553
|
+
("limit" . ,(format "%d" limit))
|
554
|
+
("method" . ,sekka-roman-method)))))
|
482
555
|
(sekka-debug-print (format "henkan-result:%S\n" result))
|
483
556
|
(if (eq (string-to-char result) ?\( )
|
484
557
|
(progn
|
@@ -502,8 +575,8 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
502
575
|
;;(message "Requesting to sekka server...")
|
503
576
|
|
504
577
|
(let ((result (sekka-rest-request "kakutei" `(
|
505
|
-
(key . ,key)
|
506
|
-
(tango . ,tango)))))
|
578
|
+
("key" . ,key)
|
579
|
+
("tango" . ,tango)))))
|
507
580
|
(sekka-debug-print (format "kakutei-result:%S\n" result))
|
508
581
|
(message result)
|
509
582
|
t))
|
@@ -518,7 +591,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
518
591
|
;;(message "Requesting to sekka server...")
|
519
592
|
|
520
593
|
(let ((result (sekka-rest-request "googleime" `(
|
521
|
-
(yomi . ,yomi)))))
|
594
|
+
("yomi" . ,yomi)))))
|
522
595
|
(sekka-debug-print (format "googleime-result:%S\n" result))
|
523
596
|
(progn
|
524
597
|
(message nil)
|
@@ -554,7 +627,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
554
627
|
(setq x (pop str-lst))
|
555
628
|
;;(message "Requesting to sekka server...")
|
556
629
|
(sekka-debug-print (format "register [%s]\n" x))
|
557
|
-
(lexical-let ((result (sekka-rest-request "register" `((dict . ,x)))))
|
630
|
+
(lexical-let ((result (sekka-rest-request "register" `(("dict" . ,x)))))
|
558
631
|
(sekka-debug-print (format "register-result:%S\n" result))))
|
559
632
|
(setq sekka-uploading-flag nil)
|
560
633
|
(redraw-modeline)))
|
@@ -853,6 +926,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
853
926
|
(define-key map "\C-r" 'popup-select)
|
854
927
|
map))
|
855
928
|
|
929
|
+
|
856
930
|
;; 選択操作回数のインクリメント
|
857
931
|
(defun sekka-select-operation-inc ()
|
858
932
|
(incf sekka-select-operation-times)
|
@@ -872,7 +946,7 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
872
946
|
:scroll-bar t
|
873
947
|
:margin t
|
874
948
|
:keymap sekka-popup-menu-keymap
|
875
|
-
|
949
|
+
:initial-index sekka-cand-cur)))
|
876
950
|
(let ((selected-word (car (split-string result " "))))
|
877
951
|
(setq sekka-cand-cur (sekka-find-by-tango selected-word))))))
|
878
952
|
|
@@ -1497,6 +1571,10 @@ non-nil で明示的に呼びだすまでGoogleIMEは起動しない。"
|
|
1497
1571
|
"リアルタイムで変換中のガイドを出す
|
1498
1572
|
sekka-modeがONの間中呼び出される可能性がある。"
|
1499
1573
|
(cond
|
1574
|
+
((< 0 sekka-busy)
|
1575
|
+
;; 残り回数のデクリメント
|
1576
|
+
(setq sekka-timer-rest (- sekka-timer-rest 1))
|
1577
|
+
(sekka-debug-print "busy!\n"))
|
1500
1578
|
((or (null sekka-mode)
|
1501
1579
|
(> 1 sekka-timer-rest))
|
1502
1580
|
(cancel-timer sekka-timer)
|
@@ -1666,7 +1744,7 @@ point から行頭方向に同種の文字列が続く間を漢字変換しま
|
|
1666
1744
|
(setq default-input-method "japanese-sekka")
|
1667
1745
|
|
1668
1746
|
(defconst sekka-version
|
1669
|
-
"1.5.
|
1747
|
+
"1.5.8" ;;SEKKA-VERSION
|
1670
1748
|
)
|
1671
1749
|
(defun sekka-version (&optional arg)
|
1672
1750
|
"入力モード変更"
|
data/lib/sekka/sekkaversion.rb
CHANGED
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sekka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kiyoka Nishiyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: memcache-client
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.8'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.8'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -70,56 +70,56 @@ dependencies:
|
|
70
70
|
name: rack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.5'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: ruby-progressbar
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '1.4'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.4'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.7'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.7'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '10.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '10.0'
|
125
125
|
description: Sekka is a SKK like input method. Sekka server provides REST Based API.
|
@@ -134,9 +134,9 @@ executables:
|
|
134
134
|
extensions: []
|
135
135
|
extra_rdoc_files: []
|
136
136
|
files:
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
137
|
+
- .gemtest
|
138
|
+
- .gitignore
|
139
|
+
- .travis.yml
|
140
140
|
- COPYING
|
141
141
|
- DESIGN
|
142
142
|
- README.md
|
@@ -253,17 +253,17 @@ require_paths:
|
|
253
253
|
- lib
|
254
254
|
required_ruby_version: !ruby/object:Gem::Requirement
|
255
255
|
requirements:
|
256
|
-
- -
|
256
|
+
- - '>='
|
257
257
|
- !ruby/object:Gem::Version
|
258
258
|
version: '0'
|
259
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
260
260
|
requirements:
|
261
|
-
- -
|
261
|
+
- - '>='
|
262
262
|
- !ruby/object:Gem::Version
|
263
263
|
version: '0'
|
264
264
|
requirements: []
|
265
265
|
rubyforge_project:
|
266
|
-
rubygems_version: 2.
|
266
|
+
rubygems_version: 2.0.14
|
267
267
|
signing_key:
|
268
268
|
specification_version: 4
|
269
269
|
summary: Sekka is a SKK like input method.
|