Line 68: |
Line 68: |
| -- TODO: japanese tooltips | | -- TODO: japanese tooltips |
| ship_cell = '|[[${ship}|<span style="color:${color};">${ship}</span>]]\n', | | ship_cell = '|[[${ship}|<span style="color:${color};">${ship}</span>]]\n', |
− | node_cell = '|style="background-color:#${color};"|${diff}\n', | + | node_cell = '|style="background-color:#${background_color};color:${color}"|${diff}\n', |
| empty_cell = '|\n', | | empty_cell = '|\n', |
| footer = '|}\n', | | footer = '|}\n', |
Line 81: |
Line 81: |
| | | |
| local args_grammar = { | | local args_grammar = { |
− | node = '^%s*(%w-)%s*$', | + | node = '^%s*(%w-)%s*$', |
− | comma_list = '[^,]+', | + | comma_list = '[^,]+', |
− | ship_and_nodes = '^%s*(.-)%s*:%s*(.-)%s*$', | + | ship_and_nodes = '^%s*(.-)%s*:%s*(.-)%s*$', |
− | just_node = '^%s*(%w-)%s*$', | + | just_node = '^%s*(%w-)%s*$', |
− | node_and_diff = '^%s*(%w-)%s*/%s*(%S-)%s*$', | + | node_and_diff = '^%s*(%w-)%s*/%s*(%S-)%s*$', |
| node_diff_tooltip = '^%s*(%w-)%s*/%s*(%S-)%s*{(.-)}%s*$', | | node_diff_tooltip = '^%s*(%w-)%s*/%s*(%S-)%s*{(.-)}%s*$', |
| + | node_diff_tooltip_s = '^%s*(%w-)%s*/%s*(%S-)%s*{(.-)}%s*S%s*$', |
| -- TODO: | | -- TODO: |
| -- * just_node_tooltip | | -- * just_node_tooltip |
Line 177: |
Line 178: |
| end | | end |
| for node_arg in string.gmatch(nodes, args_grammar.comma_list) do | | for node_arg in string.gmatch(nodes, args_grammar.comma_list) do |
− | local node, diff, tooltip = node_arg:match(args_grammar.node_diff_tooltip) | + | local s_only = false |
| + | local node, diff, tooltip = node_arg:match(args_grammar.node_diff_tooltip_s) |
| + | if not node then |
| + | node, diff, tooltip = node_arg:match(args_grammar.node_diff_tooltip) |
| + | else |
| + | s_only = true |
| + | end |
| if not node then | | if not node then |
| node, diff = node_arg:match(args_grammar.node_and_diff) | | node, diff = node_arg:match(args_grammar.node_and_diff) |
Line 196: |
Line 203: |
| diff = diff_names[diff], | | diff = diff_names[diff], |
| tooltip = tooltip, | | tooltip = tooltip, |
| + | s_only = s_only, |
| } | | } |
| end | | end |
Line 233: |
Line 241: |
| local node = row.nodes[node.name] | | local node = row.nodes[node.name] |
| add(node and format{ | | add(node and format{ |
− | table_format.node_cell, color = node.color, diff = node.tooltip and Formatting:tooltip(node.diff, node.tooltip) or node.diff | + | table_format.node_cell, |
| + | background_color = node.color, |
| + | color = node.s_only and 'red' or '', |
| + | diff = node.tooltip and Formatting:tooltip(node.diff, node.tooltip) or node.diff |
| } or table_format.empty_cell) | | } or table_format.empty_cell) |
| end | | end |