您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make relative line number available on leetcode
当前为
您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
- // ==UserScript==
- // @name Leetcode relative line number
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Make relative line number available on leetcode
- // @author You
- // @match https://leetcode.com/problems/*
- // @icon https://www.google.com/s2/favicons?domain=leetcode.com
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // Your code here...
- function setRelativeLineNumber() {
- let activeLineHTML = document.querySelector("div.CodeMirror-activeline > div > div").innerHTML;
- let activeLineNumber = 0;
- if (activeLineHTML != null && activeLineHTML !== undefined) {
- activeLineNumber = parseInt(activeLineHTML.match("[0-9]+")[0]);
- }
- let allLines = document.querySelectorAll("div.CodeMirror-linenumber");
- console.log(activeLineNumber);
- allLines.forEach(line => {
- if (!line.hasAttribute("natural-line")) {
- line.setAttribute("natural-line", parseInt(line.innerHTML));
- }
- line.innerHTML = Math.abs(line.getAttribute("natural-line") - activeLineNumber).toString();
- if (line.innerHTML == "0") {
- line.innerHTML = "<b>" + activeLineNumber.toString() + "</b>";
- }
- });
- };
- setInterval(setRelativeLineNumber, 300);
- document.addEventListener('click', setRelativeLineNumber);
- // const observer = new MutationObserver(() => console.log("changed"));
- // const cursor = document.querySelector("div.CodeMirror-cursor");
- // observer.observe(cursor, { attributes: true, attributeFilter: ["style"] });
- })();