回答編集履歴

2

修正

2021/01/08 06:43

投稿

takashit16833
takashit16833

スコア0

test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
  ```
52
52
 
53
- ンライン嫌だなーと思って展開しようとすると
53
+ ンライン嫌だなーと思って展開しようとすると
54
54
 
55
55
  ```html
56
56
 

1

修正

2021/01/08 06:43

投稿

takashit16833
takashit16833

スコア0

test CHANGED
@@ -35,3 +35,101 @@
35
35
  (newline-and-indent)))
36
36
 
37
37
  ```
38
+
39
+
40
+
41
+
42
+
43
+ 追記
44
+
45
+ ちょっと改良しました。上のだと
46
+
47
+ ```html
48
+
49
+ <div><img src="hoge.png" alt=""></div>
50
+
51
+ ```
52
+
53
+ インライン嫌だなーと思って展開しようとすると
54
+
55
+ ```html
56
+
57
+ <div>
58
+
59
+ |<img src="hoge.png" alt=""></div>
60
+
61
+ ```
62
+
63
+
64
+
65
+ ```html
66
+
67
+ <div>
68
+
69
+ <img src="hoge.png" alt="">
70
+
71
+ |
72
+
73
+ </div>
74
+
75
+ ```
76
+
77
+ こうなってしまう。この場合は
78
+
79
+ ```html
80
+
81
+ <div>
82
+
83
+ |<img src="hoge.png" alt=""></div>
84
+
85
+ ```
86
+
87
+
88
+
89
+ ```html
90
+
91
+ <div>
92
+
93
+ <img src="hoge.png" alt="">
94
+
95
+ |</div>
96
+
97
+ ```
98
+
99
+ こうが良かったので。
100
+
101
+
102
+
103
+ ```lisp
104
+
105
+ (defun web-mode-ret ()
106
+
107
+ (interactive)
108
+
109
+ (let ((narrow-end (point))
110
+
111
+ (in-empty-tag nil)
112
+
113
+ (tag-name))
114
+
115
+ (if (looking-at "</\(.*?\)>")
116
+
117
+ (progn (setq tag-name (match-string 1))
118
+
119
+ (save-excursion
120
+
121
+ (beginning-of-line)
122
+
123
+ (if (re-search-forward (concat "<" tag-name ".*>") narrow-end t)
124
+
125
+ (setq in-empty-tag t)))
126
+
127
+ (if in-empty-tag
128
+
129
+ (expand-empty-tag)
130
+
131
+ (newline-and-indent)))
132
+
133
+ (newline-and-indent))))
134
+
135
+ ```